| 11 | | Both channels share the same bus for routing. Thus, each input has a time multiplexing register, to decide |
| | 11 | Both channels share the same bus for routing. Thus, each input has a time multiplexing register, to decide which channel writes on the bus. |
| | 12 | |
| | 13 | It implements the X-First algorithm for broadcast, and X-First or Y-First for broadcast, depending on the sender's coordinates' parity. |
| | 14 | |
| | 15 | During broadcast, order of outputs is determined by their priority : in case of X-First routing, EAST and WEST Output are chosen first (NORTH and SOUTH for Y-routing). |
| | 16 | |
| | 17 | === Input INFSM States === |
| | 18 | |
| | 19 | || FSM_REQ || Waiting for paquet or sending first flit || |
| | 20 | || FSM_DTN || Allocated to correct output for multicast || |
| | 21 | || FSM_DT_11 || Sending second flit to first output in multicast || |
| | 22 | || FSM_REQ_12 || Sending first flit to second output in multicast || |
| | 23 | || FSM_DT_12 || Sending second flit to second output in multicast || |
| | 24 | || FSM_REQ_21 || Sending first flit to third output in multicast || |
| | 25 | || FSM_DT_21 || Sending second flit to third output in multicast || |
| | 26 | || FSM_REQ_22 || Sending first flit to fourth output in multicast || |
| | 27 | || FSM_DT_22 || Sending second flit to fourth output in multicast || |
| | 28 | || FSM_REQ_LOCAL || Sending first flit to fifth (LOCAL) output in multicast || |
| | 29 | || FSM_DT_LOCAL || Sending second flit to fifth (LOCAL) output in multicast || |
| | 30 | |
| | 31 | === Output INFSM States === |
| | 32 | |
| | 33 | || LOCAL || Allocated to LOCAL input || |
| | 34 | || NORTH || Allocated to NORTH input || |
| | 35 | || SOUTH || Allocated to SOUTH input || |
| | 36 | || EAST || Allocated to EAST input || |
| | 37 | || WEST || Allocated to WEST input || |
| | 38 | || NOP_LOCAL || Not allocated, and last allocated was LOCAL || |
| | 39 | || NOP_NORTH || Not allocated, and last allocated was NORTH || |
| | 40 | || NOP_SOUTH || Not allocated, and last allocated was SOUTH || |
| | 41 | || NOP_EAST || Not allocated, and last allocated was EAST || |
| | 42 | || NOP_WEST || Not allocated, and last allocated was WEST || |
| | 43 | || NOP_WEST || Not allocated, and last allocated is unkwnow (equivalent of NOP_LOCAL)|| |