What is a Simulator?
– It is the discipline of designing a model of an actual or theoretical physical
system, executing the model on a digital computer, and analyzing the execution
– The simulation allows researchers to explore the design space as well as to
evaluate the performance and efficiency of novel microarchitecture features.
– It is a piece of software to model devices (or components) to predict outputs
and performance metrics on a given input. (Wikipedia)
• Simulators can be classified into many different categories:
– Scope: micro-architecture vs. full-system simulators.
– Detail: functional vs. timing (or performance) simulators.
– Input (sometimes called Workload): trace-driven (or event-driven) vs. cycle accurate
Benefits of Simulators
• Simulators are very useful for the following purposes:
– Evaluating different hardware designs without building costly physical hardware
– Enabling the opportunities to access non-existing components or systems
– Obtaining detailed performance metrics: A single execution of simulators can
often generate A large set of performance data.
– Debugging: debugging on real hardware typically require re-booting and rerunning the code (or the design) to reproduce the problems. In contrast, some
simulators have A fully controlled environment and allow software developers to
run code backward once an error is detected.
Cycle-accurate vs. Event-driven
– Simulates a microarchitecture on a cycle-by-cycle basis.
Often used where time precisions are very important.
– Incremented in fixed steps.
After each increment we check to see which events happened at the current time point.
– Cycle and bit accurate simulation is necessary when the actual router’s RTL description needs to
be evaluated and verified.
Systems consisting of several tens or hundreds of modules, Cycle-accurate simulation leads to
excessive simulation times.
– It is a modelling paradigm in which flow of control within the system is driven by events rather
events aren't guaranteed to occur at regular intervals.
– This approach uses a list of events that occur at various time, and handles them in order of
Why NoC Simulation?
• Design decisions on NoC architectures are typically made on the basis of
simulation before resorting to emulation or implementation since it is
cheap and flexible.
• To make a right decision on the network architecture, a simulation tool
1. Faster exploration of the architectural design space;
2. Assessment of design quality regarding performance, cost, power and reliability etc.;
3. Extensive evaluation of various regular traffic patterns and application-oriented
Main characteristics of NoC
• Topology: Arrangement of the Network Elements.
• Switching: The way the data is transferred from the input port to the
• Routing: Determine message path.
• Flow Control: Determine allocation of the channels.
• Buffering: The way the packets are stored when they cannot be
• Arbitration: Plans the use of channels and buffers.
Dealing with Simulators
Study of NoCs
Study of NoCs Simulators
Choose a NoC Simulator
NoC Evaluation methods
• NoC Evaluation is an important step to classify the proposed architecture
among the others*.
• To compare and contrast different NoC architectures, a standard set of
performance metrics can be used:
* “A Survey of Network-On-Chip Tools” Ahmed Ben Achballah, et al. National Institute of Applied Sciences and
Technology, Dept. of Electrical Engineering. Centre Urbain Nord, BP 676- 1080 Tunis Cedex, Tunisia.
NoC Simulators Comparison
• cycle-accurate simulator.
• Supports a wide range of topologies such as mesh, torus and flattened
• Provides diverse routing algorithms and includes numerous options for
customizing the network's router microarchitecture.
• Most of the simulator's components are designed to be modular so tasks
such as adding a new routing algorithm, topology, or router
microarchitecture should not require a complete redesign of the code.
• Implemented in C++.
• the configuration file contains basic information about the
topology, routing algorithm, flow control, and traffic.
• Packet size defaults to a single flit.
Royal Institute of Technology
Nostrum Network-on-Chip Simulation Environment
Enables to analyze the performance impact of NoC configuration parameters
– Configure a network with respect to topology, flow control and routing algorithm etc.;
– Configure various regular and application specific traffic patterns;
– Evaluate the network with the traffic patterns in terms of latency and throughput.
The tool realizes only a limited set of configurations, which are as follows:
– Topology: 2D mesh and 2D torus.
– Flow control: Wormhole routing and deflection routing.
For wormhole routing, one can choose virtual channel (VC) parameters like the number and depth of VCs.
For deflection routing (hot potato), one can specify a deflection policy.
Deflection routing is a routing strategy for networks based on packet switching which can reduce the need of
a cycle accurate simulator for Networks-on-Chip
It can be used to simulate a wide range of NoC architectures (e.g. NoCs with different topologies and
different routing algorithms, etc.), using user controllable performance parameters (e.g. channel buffer
size, routing engine delay, crossbar arbitration delay, etc.).
It has built-in traffic generator allow users to simulate the system under several popular traffic
patterns, such as uniform traffic pattern, hot spot traffic pattern, transpose traffic pattern, etc.
It provides an efficient way to allow user specify arbitrary traffic condition for the NoC under
– user has the control over the packet generating rate at individual IP node, the size of the packet
and its distribution, etc.
Worm_sim uses a simple command line interface to setup different parameters for systems under
Worm_sim was developed and tested mainly in GNU/Linux.
University of Catania (Italy)
• It is developed using SystemC.
• It has a command line interface for defining several parameters of a NoC.
• The user can customize the network size, buffer size, packet size
distribution, routing algorithm, selection strategy, packet injection
rate, traffic time distribution, traffic pattern, hot-spot traffic distribution.
• It allows NoC evaluation in terms of throughput, delay and power
– This information is delivered to the user both in terms of average and percommunication results.
• The user is allowed to collect different evaluation metrics including the
total number of received packets/flits, global average
throughput, max/min global delay, total energy consumption, percommunications delay/throughput/energy etc.
Heterogeneous NoCs (HNoCS)
HNOCS is an open-source implementation of a NoC simulation framework
As an event driven simulation engine OMNeT++ provides C++ APIs to a reach set of
services that can be used to model, configure, describe the topology, collect
simulation data and perform analysis.
Support heterogeneous NoCs with variable link capacities and number of VCs per
each unidirectional port.
Supports parallelism and arbitrary topologies.
Universidad de Cantabria, Spain
It is a general-purpose interconnection network simulator for multiprocessor systems
that allows the modeling a wide variety of message routers in a precise way.
Results are very close to those obtained by using hardware simulators but at lower
implementation is in C++ language.
The portability is very high and practically it can be executed in any UNIX platform
with a C++ standard compiler.
• TOPAZ is a general-purpose interconnection network simulator that allows
the modeling a wide variety of message routers with different tradeoffs
between speed and precision.
• TOPAZ comes from SICOSYS simulator, which was originally conceived to
obtain results are very close to those obtained by using HDL description of
networks components by hardware simulators but at lower computational
• implementation is in C++ language.
• The simulator has support for parallel execution using standard POSIX
• used in any UNIX platform with a C++ standard compiler.
It is a systemC based discrete event, cycle accurate simulator.
It provides substantial support to experiment with NoC design in terms of routing
algorithms and applications on various topologies.
Topology: 2-D Mesh,2-D Torus
Switching Mechanism: Wormhole
Routing Algorithms: Deterministic XY, Adaptive Odd-Even(OE), and Source Routing
Applications: Source (sender), Sink (reciever) and Traffic Generator: Constant Bit Rate, Bursty, and
5. Plug-in support for applications and routers
Configurable NoC parameters:
– Topology size (m x n), Clock frequency, Buffer depth, Flit size, and Virtual channels
*NIRGAM is a collaborative research between Electronic Systems Design group, School of Electronics and
Computer Science, University of Southampton UK and Department of Computer Science and
Engineering, Malaviya National Institute of Technology, Jaipur India.
It generates gnuplot graphs and matlab script that can be run to generate graphs in
It records the following performance metrics for each simulation:
Average latency per packet (in clock cycles) for each channel
Average latency per flit (in clock cycles) for each channel
Average throughput (in Gbps) for each channel
Adding New Router
General Purpose Simulator for
an open-source, component based network simulation environment that is developed
entirely in Java.
gpNoCsim provides the designers with the flexibility of incorporating different
network and traffic configurations.
Network configuration has been considered as the conglomeration of
topologies, switching techniques, and routing algorithms.
Reconfigurable topologies allow comparison between different architectures:
Mesh, Torus, Butterfly Fat Tree.
Booksim Vs. TOPAZ
Developed by Concurrent VLSI
Architecture group at Stanford
Supports broad range of network
implementation is in C++.
very simple to use.
Most of research use it for
Functionality continuously extended.
Very good Support by its designer.
Actively in use by galerna
project from the University of
The infrastructure inherited from
obtain results are very close to HDL
description of networks components
by hardware simulators at lower
Very well Documented.
Support 2-D and 3-D NoCs.
Booksim Vs. TOPAZ
• Booksim Based reseach:
– DART’s simulation results uses
Booksim as a reference.
– Project “Floorplanning and
performance evaluation for ondie communication fabrics".
Most routers support to work with 3D NoCs.
Support multi-threaded to be
executed on multi-core systems.
Can be easily employed to extract
power and energy.
Integrates with General Executiondriven Multiprocessor Simulator