Small changes in code and README file.
Cosmetic changes in code. Small improvements in the README text.
This commit is contained in:
38
README.md
38
README.md
@@ -5,18 +5,13 @@ Generic DRAM controller simulator **DRAMSys** [1] and related tools.
|
||||
|
||||
## Basic Setup
|
||||
|
||||
In a terminal window execute the commands that follow.
|
||||
|
||||
Go to your home directory.
|
||||
Open a terminal window, go to your home directory, create a directory for your
|
||||
projects and change to it.
|
||||
|
||||
``` bash
|
||||
$ cd
|
||||
```
|
||||
|
||||
Create a directory for your projects.
|
||||
|
||||
``` bash
|
||||
$ mkdir projects
|
||||
$ cd projects
|
||||
```
|
||||
|
||||
Clone the repository.
|
||||
@@ -104,6 +99,14 @@ $ qmake ../dramSys/dramSys.pro
|
||||
$ make
|
||||
```
|
||||
|
||||
The result of the compilation is an executable binary file **dramSys**
|
||||
generated inside the build directory. The program can be executed with the
|
||||
command below.
|
||||
|
||||
``` bash
|
||||
$ ./dramSys
|
||||
```
|
||||
|
||||
### DRAMSys Configuration
|
||||
|
||||
The **dramSys** executable supports one argument which is a XML file that
|
||||
@@ -115,7 +118,7 @@ The XML code below shows a typic configuration:
|
||||
``` xml
|
||||
<simulation>
|
||||
|
||||
<!-- Simulator configuration -->
|
||||
<!-- Simulator Configuration -->
|
||||
<simconfig>
|
||||
<Debug value="1"/>
|
||||
<DatabaseRecording value="1"/>
|
||||
@@ -124,22 +127,22 @@ The XML code below shows a typic configuration:
|
||||
<NumberOfMemChannels value="1"/>
|
||||
</simconfig>
|
||||
|
||||
<!-- Memory specifications -->
|
||||
<!-- Memory Specifications -->
|
||||
<memspecs>
|
||||
<memspec src="../resources/configs/memspecs/WideIO.xml"></memspec>
|
||||
</memspecs>
|
||||
|
||||
<!-- Address mappings -->
|
||||
<!-- Address Mappings -->
|
||||
<addressmappings>
|
||||
<addressmapping src="../resources/configs/amconfigs/am_wideio.xml"></addressmapping>
|
||||
</addressmappings>
|
||||
|
||||
<!-- Memory configurations -->
|
||||
<!-- Memory Configurations -->
|
||||
<memconfigs>
|
||||
<memconfig src="../resources/configs/memconfigs/fifo.xml"/>
|
||||
</memconfigs>
|
||||
|
||||
<!-- Trace setups -->
|
||||
<!-- Trace Setups -->
|
||||
<tracesetups>
|
||||
<!-- Multiple trace setups are allowed for the same simulation setup -->
|
||||
<tracesetup id="fifo">
|
||||
@@ -168,7 +171,8 @@ configuration structure.
|
||||
|
||||
#### Simulation Setups
|
||||
|
||||
Every possible combination of memory specification, address mapping and memory configuration corresponds to a **simulation setup**.
|
||||
Every possible combination of memory specification, address mapping and memory
|
||||
configuration corresponds to a **simulation setup**.
|
||||
|
||||
DRAMSys executes all the **trace setups** listed in the configuration file for
|
||||
each of the simulation setups.
|
||||
@@ -325,10 +329,10 @@ Below are listed the configuration sections and configuration fields.
|
||||
trace player.
|
||||
|
||||
Some attributes are self-explanatory while others require some previous
|
||||
knowhow of memory technologies or some knowledge of the simulator source code.
|
||||
knowhow of memory technologies.
|
||||
|
||||
Resources of the simulator are available in the **resources** directory its
|
||||
sub-directories.
|
||||
Resources of the simulator are available inside of the **resources** directory
|
||||
and its sub-directories.
|
||||
|
||||
``` bash
|
||||
$ cd /projects/dram.vp.system/dram/resources
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
* Authors:
|
||||
* Robert Gernhardt
|
||||
* Matthias Jung
|
||||
* Eder F. Zulian
|
||||
*/
|
||||
|
||||
#ifndef UTILS_COMMON_UTILS_H_
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include<iostream>
|
||||
#include <iostream>
|
||||
|
||||
#include "/opt/systemc-2.3.0/include/systemc"
|
||||
#include "/opt/systemc-2.3.0/include/tlm"
|
||||
|
||||
@@ -227,4 +227,3 @@ void ControllerCore::printDebugMessage(string message)
|
||||
DebugManager::getInstance().printDebugMessage(ControllerCore::senderName, message);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -80,5 +80,5 @@ private:
|
||||
std::map<Command, ICommandChecker*> commandChecker;
|
||||
};
|
||||
|
||||
|
||||
#endif /* CONTROLLER_H_ */
|
||||
|
||||
|
||||
@@ -117,6 +117,10 @@ void Configuration::setParameter(std::string name, std::string value)
|
||||
PowerAnalysis = string2bool(value);
|
||||
else if(name == "Debug")
|
||||
Debug = string2bool(value);
|
||||
else if (name == "NumberOfTracePlayers")
|
||||
NumberOfTracePlayers = string2int(value);
|
||||
else if (name == "NumberOfMemChannels")
|
||||
NumberOfMemChannels = string2int(value);
|
||||
// Specification for ErrorChipSeed, ErrorCSVFile path and ErrorStoreMode
|
||||
else if(name == "ErrorChipSeed")
|
||||
ErrorChipSeed = string2int(value);
|
||||
@@ -124,10 +128,6 @@ void Configuration::setParameter(std::string name, std::string value)
|
||||
ErrorCSVFile = value;
|
||||
else if(name == "ErrorStoreMode")
|
||||
ErrorStoreMode = StringToEnum(value);
|
||||
else if (name == "NumberOfTracePlayers")
|
||||
NumberOfTracePlayers = string2int(value);
|
||||
else if (name == "NumberOfMemChannels")
|
||||
NumberOfMemChannels = string2int(value);
|
||||
else
|
||||
{
|
||||
SC_REPORT_FATAL("Configuration", ("Parameter " + name + " not defined in Configuration").c_str());
|
||||
|
||||
@@ -128,12 +128,11 @@ void Simulation::instantiateModules(const string &pathToResources, const std::ve
|
||||
|
||||
void Simulation::bindSockets()
|
||||
{
|
||||
size_t i = 0;
|
||||
for (auto player : players) {
|
||||
player->iSocket.bind(arbiter->tSocket);
|
||||
}
|
||||
|
||||
for (i = 0; i < Configuration::getInstance().NumberOfMemChannels; i++) {
|
||||
for (size_t i = 0; i < Configuration::getInstance().NumberOfMemChannels; i++) {
|
||||
arbiter->iSocket.bind(controllers[i]->tSocket);
|
||||
controllers[i]->iSocket.bind(drams[i]->tSocket);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user