Increasing number of modern digital systems now use interconnection networks as the communication fabric. Simulation is an essential tool to evaluate the performance of interconnection networks, but detailed simulation in software is often slow. Since a network has few global states, and most nodes in the network are quasi-independent from one another, there is opportunity for hardware acceleration.
The goal is to build a timing simulator to study the behaviour of the type of interconnection networks used in CMPs. Modern on-chip interconnection networks are packet-switched and consist of a network of routers. The simulator will model such a network, with a focus on the details of the pipelines and buffers of the on-chip routers. The simulator accepts packet traffic from an external source (a host computer or a full-system simulator), and simulates the traversal of the packets in the network.
The simulator provides tools to meausre various metrics of the network performance, such as aggregated throughput, average end-to-end latency, etc.
A tentative Project Plan.
The interconnection network simulator should model the functionality of the following components:
The simulator should provide an interface to interact with an external processor or memory system simulator. The external simulator can be running on an embedded processor or a CPU off-chip. It provides stimulus traffic to the interconnection network simulator and receives latency numbers from the latter.
Our on-chip interconnect is similar to the one in Packet Network Simulator project. This architecture allows arbitrary communication pattern between the on-chip nodes (Routers, Traffic Generators, etc.), so we can simulate different topologies without changing the simulator hardware.
HDL specifications of the simulator components