Readme file updated: added info about simulation setups.

This commit is contained in:
Éder Ferreira Zulian
2015-06-17 13:14:48 +02:00
parent 23128a15f4
commit e9ba47df88

View File

@@ -116,9 +116,11 @@ The XML code below shows a typic configuration:
<simulation>
<simconfig>
<Debug value="1" />
<DatabaseRecording value="1" />
<PowerAnalysis value="1" />
<Debug value="1"/>
<DatabaseRecording value="1"/>
<PowerAnalysis value="1"/>
<NumberOfTracePlayers value="5"/>
<NumberOfMemChannels value="1"/>
</simconfig>
<memspecs>
@@ -134,7 +136,16 @@ The XML code below shows a typic configuration:
</memconfigs>
<tracesetups>
<!-- Multiple trace setups are allowed for the same simulation setup -->
<tracesetup id="fifo">
<!--
Specify here a trace file for each of the trace players. Trace
players without a file will not generate transactions.
It is also possible to choose "cklMhz" and the "bl" for every
player.
-->
<device clkMhz="200">voco2.stl</device>
<device clkMhz="200">voco2.stl</device>
<device clkMhz="200">voco2.stl</device>
</tracesetup>
</tracesetups>
@@ -150,6 +161,34 @@ The XML configuration files are parsed by the program and the configuration
details extracted are assigned to the correspondent attributes of the internal
configuration structure.
#### Simulation Setups
Every possible combination of **memory specification**, **address mapping**
and **memory configuration** corresponds to a **simulation setup**.
Each of the **trace setups** listed in the configuration is added to every
simulation setup.
A **trace setup** is composed of an id string and one or more **devices**.
A **device** configuration consists of two configuration fields - clkMhz
(operation frequence for this device) and bl (burst length) - and a
**trace file**.
A **trace file** is a pre-recorded file containing memory transactions. All
memory transactions have a timestamp that tells the simulator when they shall
happen, a transaction type (e.g.: read, write) and a memory address.
A **trace player** is the **equivalent** to bus master **device**, i.e. a
device that locks a bus and generates memory transactions. The **device**
section within a **trace setup** makes it is possible to add a trace file, and
specify the operation frequence and the burst length as well, for each of the
trace players. Trace players without a corresponding device configuration will
not generate transactions.
**DRAMSys** executes all the simulation setups within the configuration file
providing **flexibility** for **exhaustive explorations.**
#### Configuration File Sections
The main configuration file is divided into self-contained sections, each of
@@ -168,6 +207,10 @@ Below are listed the configuration sections and configuration fields.
- *PowerAnalysis* (boolean)
- "1": enables live power analysis with the DRAMPower tool
- "0": disables power analysis
- *NumberOfTracePlayers* (unsigned int)
- Number of trace players
- *NumberOfMemChannels* (unsigned int)
- Number of memory channels
- **Memory specification**
@@ -265,10 +308,15 @@ Below are listed the configuration sections and configuration fields.
- **Trace setups**
- *id* (string)
- Trace setup id. Two files are generated by DRAMSys: an SQLite database
file ".tdb" and a text file ".txt" containing the program output. The
file (.tdb) and a text file (.txt) containing the program output. The
name of these files comes from this field.
- *clkMhz*
- Speed of the trace player
- *bl*
- Burst length
- *trace file*
- A pre-recorded file containing memory transactions to be executed by a
trace player.
Some attributes are self-explanatory while others require some previous
knowhow of memory technologies or some knowledge of the simulator source code.