Networks on Chips: Technology and Tools

A generic template for the NI architecture is reported in Fig. 6.1. The structural view of this hardware block includes a front-end and a back-end sub-module. The network front-end implements a standardized point-topoint protocol allowing core reuse across several platforms. This solution allows core developers to focus on developing core functions, thus avoiding the need for advance knowledge regarding potential end-systems. The interface assumes the attributes of a socket, that is, an industry-wide well-understood attachment interface which should capture all signaling between the core and the system (such as data-flow signaling, errors, interrupts, flags, software flow control, and testing). A distinctive requirement for this standard socket is to enable the configuration of specific interface instantiations along a number of dimensions (bus width, data handshaking, etc.).
It is common practice to implement the front-end interface protocol so to keep backward compatibility with existing protocols, such as AMBA AXI [38], OCP [12], VCI [1, 2], and DTL [17]. This objective is achieved by using a transaction-based communication model [21], which assumes communicating cores of two different types: masters and slaves. Masters initiate transactions by issuing requests, which can be further split in commands and write data (corresponding to the address and write signal groups in AXI). Examples of commands are read and write. One or more slaves receive and execute each transaction. Optionally, a transaction can also involve a response issued by the slave to the master to return data or an acknowledgement...