1. A programmable integrated circuit device comprising a plurality of programmable logic blocks and a network, and said plurality of programmable logic blocks comprising a plurality of inlet links and a plurality of outlet links; and said network further comprising a plurality of subnetworks and with each subnetwork coupled with at least one of said plurality of programmable logic blocks; and, said plurality of subnetworks coupled with said plurality of programmable logic blocks arranged in a two-dimensional grid of rows and columns; and each subnetwork comprising y stages, where y≥1; and each stage comprising a switch of size d i ×d 0 , where d i ≥2 and d o ≥2 and each switch of size d i ×d 0 having d i incoming links and d 0 outgoing links; and Said inlet links are connected to one or more of said incoming links of a said switch of a said stage of a said subnetwork, and said outlet links are connected to one of said outgoing links of a said switch of a said stage of a said subnetwork; and each subnetwork of the plurality of subnetworks comprising the same or different number of said inlet links and comprising the same or different number of said outlet links; each subnetwork of the plurality of subnetworks comprising the same or different number of said stages; each stage comprising the same or different number of switches; and each switch in each stage is of the same size or of different size, each multiplexer in each stage is of the same size or of different size and Said incoming links and outgoing links in each switch in each stage of each subnetwork comprising a plurality of forward connecting links connected from switches in a stage to switches in another stage in same said subnetwork or another said subnetwork, and also comprising a plurality of backward connecting links connected from switches in a stage to switches in another stage in same subnetwork or another said subnetwork; and Said forward connecting links comprising zero or more straight links connected from a switch in a stage in a subnetwork to a switch in another stage in the same subnetwork and also comprising zero or more cross links connected from a switch in a stage in a subnetwork to a switch in the same numbered stage or same level stage in another subnetwork, and Said backward connecting links comprising zero or more straight links connected from a switch in a stage in a subnetwork to a switch in another stage in the same subnetwork; and also comprising zero or more cross links connected from a switch in a stage in a subnetwork to a switch in the same numbered stage or same level stage in another subnetwork.