Network-on-Chip & NoCSim
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
Network-on-Chip & NoCSim
E N D
Presentation Transcript
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
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
Input Channel • Receives flits • 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