A multi-stage hierarchical network comprising:
- a plurality of partial multi-stage hierarchical networks, a plurality of inlet links and a plurality of outlet links, said plurality of partial multi-stage hierarchical networks arranged in a two-dimensional grid having a plurality of rows and a plurality of columns;
- and
- wherein each partial multi-stage hierarchical network of said plurality of partial multi-stage hierarchical networks comprises a ring and said ring comprises a plurality of stages, each stage of said plurality of stages comprising one or more switches of size di×d0, where di≥2 and do≥2 each switch of said one or more switches of size di×d0 having di incoming links and d0 outgoing links, each switch of said one or more switches of size di×d0 comprising a plurality of multiplexers of size d≥2 with each multiplexer of said plurality of multiplexers of size d≥2 comprising d inputs and an output;
- and
- wherein said one or more switches of size di×d0 comprises one of a) a forward switch, b) a forward switch and a U-turn switch, c) a forward switch, a backward switch and a U-turn switch, d) a forward switch, a backward switch, U-turn switch, and a reverse U-turn switch, and e) a forward switch, a backward switch, U-turn switch, and a reverse U-turn switch without 180-degree turn paths;
- and
- wherein said di incoming links and said d0 outgoing links comprise a one or more internal connections or a one or more external hop wires;
- and
- wherein each outlet link of said plurality of outlet links is connected from the output of a first multiplexer of said plurality of multiplexers of size d≥2 of a first switch of said one or more switches of size di×d0 of a first stage of said plurality of stages of said ring of a first partial multi-stage hierarchical network of said plurality of partial multi-stage hierarchical networks, and each inlet link of said plurality of inlet links is connected to a first input of said d inputs of one or more multiplexers of said plurality of multiplexers of one or more switches of said one or more switches of size di×d0 of one or more stages of said plurality of stages of said ring of one or more partial multi-stage hierarchical networks of said plurality of partial multi-stage hierarchical networks;
- and
- wherein each internal connection of said one or more internal connections connected from the output of a first multiplexer of said plurality of multiplexers of size d≥2 of a first switch of said one or more switches of size di×d0 of a first stage of said plurality of stages of said ring of a first partial multi-stage hierarchical network of said plurality of partial multi-stage hierarchical networks to a first input of said d inputs of a second multiplexer of said plurality of multiplexers of a second switch of said one or more switches of size di×d0 of a second stage of said plurality of stages of said ring of said first partial multi-stage hierarchical network of said plurality of partial multi-stage hierarchical networks;
- and
- wherein each external hop wire of said one or more external hop wires is connected from said output of a first multiplexer of said plurality of multiplexers of size d≥2 of a first switch of said one or more switches of size di×d0 of a first stage of said plurality of stages of said ring of a first partial multi-stage hierarchical network of said plurality of partial multi-stage hierarchical networks to an input of said d inputs of one or more multiplexers of said plurality of multiplexers of size d≥2 of one or more switches of said one or more switches of size di×d0 of one or more stages of said plurality of stages of said ring of one or more partial multi-stage hierarchical networks different from the first partial multi-stage hierarchical network of said plurality of partial multi-stage hierarchical networks;
- and
- wherein one or more external hop wires of said one or more external hop wires are one of a) connected between one or more multiplexers of said plurality of multiplexers of size d≥2 of one or more switches of said one or more switches of size di×d0 in same stages of said plurality of stages in two partial multi-stage hierarchical networks of said plurality of partial multi-stage hierarchical networks and b) connected between one or more multiplexers of said plurality of multiplexers of size d≥2 of one or more switches of said one or more switches of size di×d0 in different stages of said plurality of stages in two partial multi-stage hierarchical networks of said plurality of partial multi-stage hierarchical networks.