Networks on Chips: Technology and Tools

Aethereal offers a shared-memory abstraction to the connected modules [21]. Communication is performed using a transaction-based protocol, where master modules issue request messages (e.g., read and write commands at an address, possibly carrying data) that are executed by the addressed slave modules, which may respond with a response message (i.e., status of the command execution, and possibly data). This protocol ensures backward compatibility to existing on-chip communication protocols (e.g., AXI, OCP, and DTL), and also allows efficient implementation of future protocols, which are better suited to NoCs. Messages are transported across the network by means of packets.
The Aethereal NoC offers its services by means of connections. Connections allow differentiated communication services and guarantees offered to the attached modules. Connections can be peer to peer (one master, one slave), multicast (one master, multiple slaves, all slaves executing each transaction, and, currently, no responses allowed to avoid merging of messages), and narrowcast (one master, multiple slaves, a transaction is executed by only one slave), as shown in Fig. 6.20 [21].
Connections are composed of unidirectional peer-to-peer channels (between a single master and a single slave). To each channel, properties are attached, such as guaranteed message delivery or not, in-order or unordered message delivery, and with or without timing guarantees. As a result, different properties can be attached to the request and response parts of a connection, or for different slaves within the same connection.