| 13 | | |
| 14 | | It implements the X-First algorithm for broadcast, and X-First or Y-First for broadcast, depending on the sender's coordinates' parity. |
| 15 | | |
| 16 | | 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). |
| 17 | | |
| 18 | | === Input INFSM States === |
| 19 | | |
| 20 | | || FSM_REQ || Waiting for paquet or sending first flit || |
| 21 | | || FSM_DTN || Allocated to correct output for multicast || |
| 22 | | || FSM_DT_11 || Sending second flit to first output in multicast || |
| 23 | | || FSM_REQ_12 || Sending first flit to second output in multicast || |
| 24 | | || FSM_DT_12 || Sending second flit to second output in multicast || |
| 25 | | || FSM_REQ_21 || Sending first flit to third output in multicast || |
| 26 | | || FSM_DT_21 || Sending second flit to third output in multicast || |
| 27 | | || FSM_REQ_22 || Sending first flit to fourth output in multicast || |
| 28 | | || FSM_DT_22 || Sending second flit to fourth output in multicast || |
| 29 | | || FSM_REQ_LOCAL || Sending first flit to fifth (LOCAL) output in multicast || |
| 30 | | || FSM_DT_LOCAL || Sending second flit to fifth (LOCAL) output in multicast || |
| 31 | | |
| 32 | | === Output INFSM States === |
| 33 | | |
| 34 | | || LOCAL || Allocated to LOCAL input || |
| 35 | | || NORTH || Allocated to NORTH input || |
| 36 | | || SOUTH || Allocated to SOUTH input || |
| 37 | | || EAST || Allocated to EAST input || |
| 38 | | || WEST || Allocated to WEST input || |
| 39 | | || NOP_LOCAL || Not allocated, and last allocated was LOCAL || |
| 40 | | || NOP_NORTH || Not allocated, and last allocated was NORTH || |
| 41 | | || NOP_SOUTH || Not allocated, and last allocated was SOUTH || |
| 42 | | || NOP_EAST || Not allocated, and last allocated was EAST || |
| 43 | | || NOP_WEST || Not allocated, and last allocated was WEST || |
| 44 | | || NOP_WEST || Not allocated, and last allocated is unkwnow (equivalent of NOP_LOCAL)|| |