[Overview]
Worm_sim is a cycle-accurate simulator which we developed from
scratch in C++ using standard template library.
Worm_sim is written with flexibility and modularity in mind.
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.). Moreover, due to the flexibility of worm_sim, it can be easily
extended to simulate NoCs which worm_sim does not support at the
current stage.
[Features and Highlights]
Worm_sim's 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. Worm_sim also provides an efficient way to allow
user specify arbitrary traffic condition for the NoC under simulation.
More precisely, user has the control over the packet generating rate
at individual IP node, the size of the packet and its distribution,
etc. Even more, it allows user to attach a trace file for
each individual IP node, so that the system under simulation can mimic
the exact traffic condition of realistic applications by reusing the
trace files retrieved from those applications.
In addition to reporting performance data after simulation,
Worm_sim also allows the user to collect the communication
energy consumption data in simulation. It currently supports two power
models: 1) the Ebit model as presented in [1][2]; 2) the Orion power
model [3]. The Orion power model library retrieved
from Princeton Orion project
supports a rich set of API and has been compiled with worm_sim to implement
the support of energy simulation using Orion power model.
Worm_sim uses a simple command line interface to setup
different parameters for systems under simulation. Parameters
configured in the command line is, in a sense global, to the whole NoC
under simulation. A more powerful way for system
configuration is provided by using a configuration file. This allows user to
control the parameters at individual router or IP level.
[Download and Install]
Download release 4.2
Download release 4.1
Worm_sim was developed and tested mainly in GNU/Linux. To install, download the
tgz file and use the command "tar xvzf worm_sim.4.1.tgz" to extract the files.
Just run "make" in worm_sim/src directory and the executable named "worm_sim"
will be compiled. Copy or link this binary to a directory in your search path
if you like.
Running "worm_sim -h" will print a brief description of switches available.
At the same time, please refer to the README.txt file included in the release
for more detailed usage and explanation of the tool.
Some simple examples are also provided with the release which can be checked out
under "examples" directory.
[Reference]
[1] J. Hu,
R. Marculescu, '
Energy- and Performance-Aware Mapping for Regular NoC Architectures',
IEEE Tran. on CAD, April 2005.
[2] J. Hu,
'Design Methodologies for Application Specific Networks-on-Chip ',
PhD thesis, Carnegie Mellon University, May 2005.
[3] H. Wang and X. Zhu and L. Peh and S. Malik,
'
Orion: a power-performance simulator for interconnection networks',
Proc. Intl. Symp. on Microarchitecture, Nov. 2002.
[4] [1] U. Y. Ogras,
R. Marculescu, '
'"It’s a small world after all": NoC Performance Optimization via Long-range Link Insertion, '
in IEEE Trans. on Very Large Scale Integration Systems, Vol.14, No.7, July 2006.
|