noc
network-on-chip prototype
october 2024
pittsburgh, pa
18-341: logic design and verification
tools: systemverilog, vcs
Modern microprocessors contain dozens of individual processor cores and memory blocks that must constantly exchange data. Instead of cluttering the chip with thousands of individual direct wires, a Network-on-Chip acts like an internal postal service or internet router directly on silicon—packaging data into small packets and routing them to their destinations efficiently without causing digital traffic jams.
intro
A hardware-based Network-on-Chip (NoC) prototype modeled in SystemVerilog and verified through simulation using VCS. Operating entirely at the register-transfer level (RTL), the system implements a complete packet-switched routing network with distributed nodes and multi-port routers, transferring packets between multiple concurrent hardware components.
network architecture
To enable communication between multiple independent components, we designed a topology consisting of two central routers and six terminal nodes. Packets are injected into the nodes from testbench components as 32-bit words containing source, destination, and payload data.
Each router is composed of four RouterCorner modules. When a corner receives a packet, it checks the destination address via a PortChecker, routing it to the appropriate output corner of the router. If a packet’s destination node resides on a different router, it is forwarded across a dedicated bridge link between the two routers.
Router port connections (Router 0 example).
packet serialization
To transmit data efficiently over narrow physical channels without requiring wide, expensive busses, the nodes serialize 32-bit packets into 8-bit bytes before sending them to the router. The communication uses a strict handshake protocol (free_outbound/put_outbound) to prevent buffer overflows.
Node internal architecture showing serialization and deserialization blocks.
We designed dedicated inbound and outbound datapaths for each node direction to process the serialization and deserialization concurrently:
Inbound datapath and FSM state diagrams.
Outbound datapath and FSM state diagrams.
priority arbitration
A primary challenge in packet-switched routers is handling port contention when multiple input ports simultaneously request to route packets to the same output port.
To resolve conflicts and ensure transaction fairness, we designed a Least-Recently Used (LRU) pointer-based priority arbiter (Handler). This arbiter tracks which ports have recently transmitted and dynamically shifts priority ordering. Under high-load stress testing, this round-robin mechanism successfully prevented packet starvation, routing concurrent requests with a balanced distribution to maintain strict fairness.
LRU round-robin priority arbiter datapath and FSM.
Thank you to the course staff in 18-341 for the simulation testbenches and checkoff support!