Skip to content

Latest commit

 

History

History
57 lines (48 loc) · 4.42 KB

usage.md

File metadata and controls

57 lines (48 loc) · 4.42 KB

Usage of Ratatoskr simulator

There are two modes. For Netrace mode, please see below!

Synthetic or Task-Model Mode

For this mode, please compile Ratatoskr with cmake -D DEFINE_ENABLE_NETRACE=OFF (which is default).

You can generate network files and config files using bin/configure.py.

Details for the configuration are given below:

NoC Configuration

The main configuration file: `config.ini', contains the parameters needed for the software and hardware models (3 sets each).

Software model parameters:

  • [CONFIG]: it contains the general parameters and generates a template XML file named `config.xml':
    • simulationTime: the simulation time of an individual simulation (in nano seconds).
    • flitsPerPacket: the number of flits per packet.
    • benchmark: it currently has two possible values [\textit{synthetic, task}]. In \textit{synthetic}, synthetic data are being generated and sent to their destination according to a uniform distribution, whereas in \textit{task} the data are generated by a specific application defined in other XML files data.xml' and map.xml'.
  • [Network]: this section defines the topology of the network and generates a template XML file named `network.xml' (Fig. \ref{fig:network}).
    • x: the number of nodes on the x axis.
    • y: the number of nodes on the y axis.
    • z: the number of nodes on the z axis.
    • routing: defines the routing algorithm, it can has one of four possible values [\textit{XYZ, HeteroXYZ, RandomXYZ, RandomHeteroXYZ}].
    • clockDelay: the default clock delay of all nodes in the network. Please pay attention that if the user wants to change the clock delay of specific layer, s/he have to edit them under the XML tag ´nodeTypes' in the `network.xml' file.
    • bufferDepthType: it has two possible values [\textit{single, perVC}] that determines whether all virtual channels of all nodes have a single buffer depth or the buffer depth can change per virtual channel.
    • bufferDepth: set the value of buffer depth when \textit{single} is set in the \textit{bufferDepthType} parameter.
    • buffersDepths: a list of buffer depths per each virtual channel. Please note that the length of this list should be equal to the number of virtual channels set in \textit{vcCount} parameter.
    • vcCount: the number of virtual channels per port.
  • [URAND]: this section configures multiple simulations of synthetic data sent uniformly.
    • topologyFile: the name of the topology (network) file.
    • libdir: the path of the folder that contains the config.xml' and network.xml'.
    • sim: the root name of an individual simulation. For example, the folders during runtime will be named something like \textit{sim0, sim1, \dots}, etc.
    • simulation_time: the simulation time of all simulations combined, in nano seconds.
    • restarts: the number of times an individual simulation should be run.
    • warmup_start: when to start the warmup phase in nano seconds.
    • warmup_duration: the duration of the warmup phase in nano seconds.
    • warmup_rate: the injection rate of the warmup phase as a percentage.
    • run_rate_min: the minimum injection rate of the run phase as a percentage (inclusive).
    • run_rate_max: the maximum injection rate of the run phase as a percentage (exclusive).
    • run_rate_step: incremental step on the injection rate of the run phase as a percentage.
    • run_start_after_warmup: the duration between the end of the warmup phase and the start of the run phase in nano seconds.
    • run_duration: the duration of the run phase in nano seconds.
    • num_cores: the number of CPU cores to be used in the simulation. The default value is set to -1, which means ´use all cores'.

The hardware model configurations are responsible for generating the VHDL code templates. An important note here would be, the VHDL model is the same as the software one (\textit{vcCount, bufferDepth, \dots}).

  • [NOC_3D_PACKAGE]: the parameters of `NOC_3D_PACKAGE.vhd' file.
    • flit_size: the size of the flit.
  • [router]: the parameters if `router.vhd' file.
    • port_num: the number of ports each node has.
    • Xis, Yis, Zis: are the coordinates of the router.
    • rout_alog: the name of the routing algorithm. It has the default value of \textit{XYZ_ref}.
  • [router_pl]: the parameters of the router_pl.vhd' file are the same as router.vhd', except for the routing algorithm:
    • rout_algo: the name of the routing algorithm. It has the default value of \textit{DXYU}.