Simulation ID (optional)

If a simulation file is passed as argument to DRAMSys the simulation ID is
prepended to the simulation name if found.

E.g.:
<simulation>
    <!-- Simulation file identifier -->
    <simulationid id="ddr3-example"></simulationid>

    ...

</simulation>
This commit is contained in:
Éder F. Zulian
2018-06-04 16:54:14 +02:00
parent 457dce57b2
commit 8a787ad14f

View File

@@ -122,9 +122,28 @@ DRAMSys::DRAMSys(sc_module_name __attribute__((unused)) name,
+ "configs/thermalsim/"
+ thermalconfig);
// If a simulation file is passed as argument to DRAMSys the simulation ID
// is prepended to the simulation name if found.
std::string simName;
simName = Configuration::getInstance().SimulationName;
tinyxml2::XMLDocument simulationdoc;
loadXML(simulationToRun, simulationdoc);
tinyxml2::XMLElement *simulation = simulationdoc.FirstChildElement("simulation");
if (simulation != NULL) {
tinyxml2::XMLElement *simid = simulation->FirstChildElement("simulationid");
if (simid != NULL) {
auto r = simid->Attribute("id");
if (r != NULL) {
std::string sid;
sid = r;
simName = sid + '_' + Configuration::getInstance().SimulationName;
}
}
}
cout << "Simulation name set to: " << simName << endl;
// Instantiate all internal DRAMSys modules:
instantiateModules(Configuration::getInstance().SimulationName,
pathToResources);
instantiateModules(simName, pathToResources);
// Connect all internal DRAMSys modules:
bindSockets();