Networks on Chips: Technology and Tools

Circuit switching makes the propagation of control-free pipelined data streams possible across the network, resulting in increased energy efficiency per transported bit and throughput. Control tasks are performed at circuit set-up and tear-down, and are managed by the NI. Let us review some implementation examples of how circuits can be managed by NIs. The impact on operation and architecture of the other network building blocks will be considered as well.
The typical way of setting up a circuit is to send BE programming packets through the network. Such packets can be used to reserve time slots for the access to time-division multiplexed router outputs or to permanently reserve switch resources for certain data streams.
The first approach is used in the Aethereal NoC [35], where time guarantees are provided by means of pipelined time-division multiplexing. Programming (or system) packets are used to avoid introducing an additional communication infrastructure only to program the network.
The programming functionality of the router is provided by reconfiguration units, as showed in the router architecture of Fig. 6.17. The slot table is used to switch data to the correct output while avoiding contention on a link. Every slot table T has S time slots (rows) and N router outputs (columns). There is a logical notion of synchronicity, since all routers in the network are assumed to be in the same fixed-duration slot. In a slot s at most one block of data can be read/written per...