Network-on-Chip & NoCSim Praveen Bhojwani
Agenda Brief introduction Development environment Design components
Introduction Future SoC designs will be too complex and bus based communication will be incapable of providing the desired level performance On-chip networks address design issues
Possible NoC designs
Design Issues Regular network issues: topology Energy efficient Latency aware Reliable communication Testability Interfacing etc
NoCSim Developed in SystemC Interconnection network simulator Features: Topology: 2D torus Source routing Virtual channel based communication Capable of providing QoS, via class based VC allocation Configurable multi-source traffic sources
Features (contd…) Given energy estimates for certain components, can provide Energy and Power estimates for communication in the network Can be setup to provide end-to-end or hop-to-hop reliability
Components InputChannel – input port OutputChannel – output port VCAllocator – VC allocator CNIntf – core network interface NWTile – composed of IC, OC and VCA NoC – 2D torus network of NWTiles
Components layout
Input Channel Receives flits Classifies them into VCs Flits are flow digits Packet is broken up into a number of flits Each packet will have at least a HEAD and TAIL flit (if size==1, we have a HDT flit) Classifies them into VCs
Input Channel (contd…) Serves each VC in a round robin fashion When serving HEAD flits (1st flit of a packet), requests VCAllocator for a VC at the next router When providing QoS, it specifies the desired class Forward flit to output channel in the desired direction Also update credit information at the neighboring routers
Output Channel Receives flits from Input Channels and sends them over the link to the next router When providing reliability, it waits for ACK/NAK
VC Allocator Receives VC requests for particular direction and class of service, returns free VC ids. Accepts credit update information from Input Channels from all 5 directions
CNI – Core Network Interface Acts as a traffic source and sink Configured via configuration file Active when system is setup for end-to-end reliability