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)|| |