Nomenclature improved in thermal simulation related code.
This commit is contained in:
@@ -1,45 +1,45 @@
|
|||||||
CPUs :
|
CPUs :
|
||||||
|
|
||||||
position 0, 0 ;
|
position 0, 0 ;
|
||||||
dimension 2750, 4300 ;
|
dimension 2750, 4300 ;
|
||||||
|
|
||||||
GPU :
|
GPU :
|
||||||
|
|
||||||
position 3350, 0 ;
|
position 3350, 0 ;
|
||||||
dimension 2750, 4000 ;
|
dimension 2750, 4000 ;
|
||||||
|
|
||||||
BASEBAND1 :
|
BASEBAND1 :
|
||||||
|
|
||||||
position 4250, 4000 ;
|
position 4250, 4000 ;
|
||||||
dimension 1850, 3300 ;
|
dimension 1850, 3300 ;
|
||||||
|
|
||||||
BASEBAND2 :
|
BASEBAND2 :
|
||||||
|
|
||||||
position 3350, 7300 ;
|
position 3350, 7300 ;
|
||||||
dimension 2750, 3300 ;
|
dimension 2750, 3300 ;
|
||||||
|
|
||||||
LLCACHE :
|
LLCACHE :
|
||||||
|
|
||||||
position 0, 4300 ;
|
position 0, 4300 ;
|
||||||
dimension 1900, 3000 ;
|
dimension 1900, 3000 ;
|
||||||
|
|
||||||
DRAMCTRL1 :
|
DRAMCTRL1 :
|
||||||
|
|
||||||
position 1900, 4300 ;
|
position 1900, 4300 ;
|
||||||
dimension 850, 3000 ;
|
dimension 850, 3000 ;
|
||||||
|
|
||||||
DRAMCTRL2 :
|
DRAMCTRL2 :
|
||||||
|
|
||||||
position 3350, 4000 ;
|
position 3350, 4000 ;
|
||||||
dimension 900, 3300 ;
|
dimension 900, 3300 ;
|
||||||
|
|
||||||
TSVS :
|
TSVS :
|
||||||
|
|
||||||
position 2750, 2300 ;
|
position 2750, 2300 ;
|
||||||
dimension 600, 6000 ;
|
dimension 600, 6000 ;
|
||||||
|
|
||||||
ACELLERATORS :
|
ACELLERATORS :
|
||||||
|
|
||||||
position 0, 7300 ;
|
position 0, 7300 ;
|
||||||
dimension 2750, 3300 ;
|
dimension 2750, 3300 ;
|
||||||
|
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
channel0 :
|
channel0 :
|
||||||
position 150, 100 ;
|
position 150, 100 ;
|
||||||
dimension 2600, 5200 ;
|
dimension 2600, 5200 ;
|
||||||
|
|
||||||
channel1 :
|
channel1 :
|
||||||
position 3350, 100 ;
|
position 3350, 100 ;
|
||||||
dimension 2600, 5200 ;
|
dimension 2600, 5200 ;
|
||||||
|
|
||||||
channel2 :
|
channel2 :
|
||||||
position 150, 5300 ;
|
position 150, 5300 ;
|
||||||
dimension 2600, 5200 ;
|
dimension 2600, 5200 ;
|
||||||
|
|
||||||
channel3 :
|
channel3 :
|
||||||
position 3350, 5300 ;
|
position 3350, 5300 ;
|
||||||
dimension 2600, 5200 ;
|
dimension 2600, 5200 ;
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ die DRAM :
|
|||||||
|
|
||||||
dimensions :
|
dimensions :
|
||||||
chip length 6100, width 10600 ;
|
chip length 6100, width 10600 ;
|
||||||
cell length 1000, width 1000 ;
|
cell length 100, width 100 ;
|
||||||
|
|
||||||
stack:
|
stack:
|
||||||
die DRAM_DIE DRAM floorplan "./mem.flp" ;
|
die DRAM_DIE DRAM floorplan "./mem.flp" ;
|
||||||
@@ -7,23 +7,23 @@
|
|||||||
<NumberOfTracePlayers value="1"/>
|
<NumberOfTracePlayers value="1"/>
|
||||||
<NumberOfMemChannels value="1"/>
|
<NumberOfMemChannels value="1"/>
|
||||||
<ControllerCoreDisableRefresh value="0"/>
|
<ControllerCoreDisableRefresh value="0"/>
|
||||||
<DynamicTemperatureSimulation value="0"/>
|
<ThermalSimulation value="0"/>
|
||||||
</simconfig>
|
</simconfig>
|
||||||
|
|
||||||
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
|
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
|
||||||
<temperature_simconfig>
|
<thermalsimconfig>
|
||||||
<TemperatureScale value="Celsius" />
|
<TemperatureScale value="Celsius" />
|
||||||
<StaticTemperatureDefaultValue value="89" />
|
<StaticTemperatureDefaultValue value="89" />
|
||||||
<DynTemperatureSimPeriod value="100" />
|
<ThermalSimPeriod value="100" />
|
||||||
<DynTemperatureSimUnit value="us" />
|
<ThermalSimUnit value="us" />
|
||||||
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/temperature_sim/powerInfo.xml"/>
|
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/thermalsim/powerInfo.xml"/>
|
||||||
<IceServerIp value="127.0.0.1" />
|
<IceServerIp value="127.0.0.1" />
|
||||||
<IceServerPort value="11880" />
|
<IceServerPort value="11880" />
|
||||||
<SimPeriodAdjustFactor value="10" />
|
<SimPeriodAdjustFactor value="10" />
|
||||||
<NPowStableCyclesToIncreasePeriod value="5" />
|
<NPowStableCyclesToIncreasePeriod value="5" />
|
||||||
<GenerateTemperatureMap value="1" />
|
<GenerateTemperatureMap value="1" />
|
||||||
<GeneratePowerMap value="1" />
|
<GeneratePowerMap value="1" />
|
||||||
</temperature_simconfig>
|
</thermalsimconfig>
|
||||||
|
|
||||||
<memspecs>
|
<memspecs>
|
||||||
<memspec src="../../DRAMSys/simulator/resources/configs/memspecs/MICRON_1Gb_DDR3-1600_8bit_G.xml"></memspec>
|
<memspec src="../../DRAMSys/simulator/resources/configs/memspecs/MICRON_1Gb_DDR3-1600_8bit_G.xml"></memspec>
|
||||||
|
|||||||
@@ -7,23 +7,23 @@
|
|||||||
<NumberOfTracePlayers value="1"/>
|
<NumberOfTracePlayers value="1"/>
|
||||||
<NumberOfMemChannels value="4"/>
|
<NumberOfMemChannels value="4"/>
|
||||||
<ControllerCoreDisableRefresh value="0"/>
|
<ControllerCoreDisableRefresh value="0"/>
|
||||||
<DynamicTemperatureSimulation value="0"/>
|
<ThermalSimulation value="0"/>
|
||||||
</simconfig>
|
</simconfig>
|
||||||
|
|
||||||
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
|
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
|
||||||
<temperature_simconfig>
|
<thermalsimconfig>
|
||||||
<TemperatureScale value="Celsius" />
|
<TemperatureScale value="Celsius" />
|
||||||
<StaticTemperatureDefaultValue value="89" />
|
<StaticTemperatureDefaultValue value="89" />
|
||||||
<DynTemperatureSimPeriod value="100" />
|
<ThermalSimPeriod value="100" />
|
||||||
<DynTemperatureSimUnit value="us" />
|
<ThermalSimUnit value="us" />
|
||||||
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/temperature_sim/powerInfo.xml"/>
|
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/thermalsim/powerInfo.xml"/>
|
||||||
<IceServerIp value="127.0.0.1" />
|
<IceServerIp value="127.0.0.1" />
|
||||||
<IceServerPort value="11880" />
|
<IceServerPort value="11880" />
|
||||||
<SimPeriodAdjustFactor value="10" />
|
<SimPeriodAdjustFactor value="10" />
|
||||||
<NPowStableCyclesToIncreasePeriod value="5" />
|
<NPowStableCyclesToIncreasePeriod value="5" />
|
||||||
<GenerateTemperatureMap value="1" />
|
<GenerateTemperatureMap value="1" />
|
||||||
<GeneratePowerMap value="1" />
|
<GeneratePowerMap value="1" />
|
||||||
</temperature_simconfig>
|
</thermalsimconfig>
|
||||||
|
|
||||||
<memspecs>
|
<memspecs>
|
||||||
<memspec src="../../DRAMSys/simulator/resources/configs/memspecs/WideIO.xml"></memspec>
|
<memspec src="../../DRAMSys/simulator/resources/configs/memspecs/WideIO.xml"></memspec>
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ HEADERS += \
|
|||||||
src/controller/scheduler/readwritegrouper.h \
|
src/controller/scheduler/readwritegrouper.h \
|
||||||
src/simulation/ReorderBuffer.h \
|
src/simulation/ReorderBuffer.h \
|
||||||
src/controller/core/configuration/MemSpec.h \
|
src/controller/core/configuration/MemSpec.h \
|
||||||
src/controller/core/configuration/temperatureSimConfig.h \
|
src/controller/core/configuration/thermalSimConfig.h \
|
||||||
src/simulation/StlPlayer.h \
|
src/simulation/StlPlayer.h \
|
||||||
src/simulation/StlDataPlayer.h \
|
src/simulation/StlDataPlayer.h \
|
||||||
src/simulation/TracePlayerListener.h \
|
src/simulation/TracePlayerListener.h \
|
||||||
|
|||||||
@@ -154,8 +154,8 @@ void Configuration::setParameter(std::string name, std::string value)
|
|||||||
}
|
}
|
||||||
else if (name == "ControllerCoreDisableRefresh")
|
else if (name == "ControllerCoreDisableRefresh")
|
||||||
ControllerCoreDisableRefresh = string2bool(value);
|
ControllerCoreDisableRefresh = string2bool(value);
|
||||||
else if (name == "DynamicTemperatureSimulation")
|
else if (name == "ThermalSimulation")
|
||||||
DynamicTemperatureSimulation = string2bool(value);
|
ThermalSimulation = string2bool(value);
|
||||||
// Specification for ErrorChipSeed, ErrorCSVFile path and ErrorStoreMode
|
// Specification for ErrorChipSeed, ErrorCSVFile path and ErrorStoreMode
|
||||||
else if(name == "ErrorChipSeed")
|
else if(name == "ErrorChipSeed")
|
||||||
ErrorChipSeed = string2int(value);
|
ErrorChipSeed = string2int(value);
|
||||||
@@ -173,10 +173,10 @@ void Configuration::setParameter(std::string name, std::string value)
|
|||||||
}
|
}
|
||||||
else if (name == "StaticTemperatureDefaultValue")
|
else if (name == "StaticTemperatureDefaultValue")
|
||||||
temperatureSim.StaticTemperatureDefaultValue = string2int(value);
|
temperatureSim.StaticTemperatureDefaultValue = string2int(value);
|
||||||
else if (name == "DynTemperatureSimPeriod")
|
else if (name == "ThermalSimPeriod")
|
||||||
temperatureSim.DynTemperatureSimPeriod = std::stod(value.c_str());
|
temperatureSim.ThermalSimPeriod = std::stod(value.c_str());
|
||||||
else if (name == "DynTemperatureSimUnit")
|
else if (name == "ThermalSimUnit")
|
||||||
temperatureSim.DynTemperatureSimUnit = string2TimeUnit(value);
|
temperatureSim.ThermalSimUnit = string2TimeUnit(value);
|
||||||
else if (name == "PowerInfoFile") {
|
else if (name == "PowerInfoFile") {
|
||||||
temperatureSim.powerInfoFile = value;
|
temperatureSim.powerInfoFile = value;
|
||||||
temperatureSim.parsePowerInfoFile();
|
temperatureSim.parsePowerInfoFile();
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
#include <systemc.h>
|
#include <systemc.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "MemSpec.h"
|
#include "MemSpec.h"
|
||||||
#include "temperatureSimConfig.h"
|
#include "thermalSimConfig.h"
|
||||||
#include "../../../common/Utils.h"
|
#include "../../../common/Utils.h"
|
||||||
|
|
||||||
enum class ErrorStorageMode;
|
enum class ErrorStorageMode;
|
||||||
@@ -79,7 +79,7 @@ struct Configuration
|
|||||||
unsigned int NumberOfTracePlayers = 1;
|
unsigned int NumberOfTracePlayers = 1;
|
||||||
unsigned int NumberOfMemChannels = 1;
|
unsigned int NumberOfMemChannels = 1;
|
||||||
bool ControllerCoreDisableRefresh = false;
|
bool ControllerCoreDisableRefresh = false;
|
||||||
bool DynamicTemperatureSimulation = false;
|
bool ThermalSimulation = false;
|
||||||
|
|
||||||
//MemSpec(from DRAM-Power XML)
|
//MemSpec(from DRAM-Power XML)
|
||||||
MemSpec memSpec;
|
MemSpec memSpec;
|
||||||
|
|||||||
@@ -62,19 +62,19 @@ void ConfigurationLoader::loadSimConfig(Configuration& config, XMLElement* simco
|
|||||||
loadConfig(config, simconfig);
|
loadConfig(config, simconfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigurationLoader::loadTemperatureSimConfig(Configuration &config, std::string temperature_simconfigUri)
|
void ConfigurationLoader::loadTemperatureSimConfig(Configuration &config, std::string thermalsimconfigUri)
|
||||||
{
|
{
|
||||||
loadConfigFromUri(config, temperature_simconfigUri, "temperature_simconfig");
|
loadConfigFromUri(config, thermalsimconfigUri, "thermalsimconfig");
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigurationLoader::loadTemperatureSimConfig(Configuration &config, XMLElement *temperature_simconfig)
|
void ConfigurationLoader::loadTemperatureSimConfig(Configuration &config, XMLElement *thermalsimconfig)
|
||||||
{
|
{
|
||||||
if (temperature_simconfig->Attribute("src")) {
|
if (thermalsimconfig->Attribute("src")) {
|
||||||
// Configuration is inside another a file
|
// Configuration is inside another a file
|
||||||
std::string uri(temperature_simconfig->Attribute("src"));
|
std::string uri(thermalsimconfig->Attribute("src"));
|
||||||
loadConfigFromUri(config, uri, "temperature_simconfig");
|
loadConfigFromUri(config, uri, "thermalsimconfig");
|
||||||
} else {
|
} else {
|
||||||
loadConfig(config, temperature_simconfig);
|
loadConfig(config, thermalsimconfig);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,8 +34,8 @@
|
|||||||
* Matthias Jung
|
* Matthias Jung
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef TEMPERATURE_SIM_CONFIG_H_
|
#ifndef THERMALSIM_CONFIG_H
|
||||||
#define TEMPERATURE_SIM_CONFIG_H_
|
#define THERMALSIM_CONFIG_H
|
||||||
|
|
||||||
#include <systemc.h>
|
#include <systemc.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
@@ -53,9 +53,9 @@ struct TemperatureSimConfig {
|
|||||||
// Static Temperature Simulation parameters
|
// Static Temperature Simulation parameters
|
||||||
int StaticTemperatureDefaultValue;
|
int StaticTemperatureDefaultValue;
|
||||||
|
|
||||||
// Dynamic Temeperature Simulation parameters
|
// Thermal Simulation parameters
|
||||||
double DynTemperatureSimPeriod;
|
double ThermalSimPeriod;
|
||||||
enum sc_time_unit DynTemperatureSimUnit;
|
enum sc_time_unit ThermalSimUnit;
|
||||||
std::string IceServerIp;
|
std::string IceServerIp;
|
||||||
unsigned int IceServerPort;
|
unsigned int IceServerPort;
|
||||||
unsigned int SimPeriodAdjustFactor;
|
unsigned int SimPeriodAdjustFactor;
|
||||||
@@ -78,7 +78,7 @@ struct TemperatureSimConfig {
|
|||||||
tinyxml2::XMLElement *powInfoElem = xml.FirstChildElement("powerInfo");
|
tinyxml2::XMLElement *powInfoElem = xml.FirstChildElement("powerInfo");
|
||||||
|
|
||||||
if (powInfoElem == NULL) {
|
if (powInfoElem == NULL) {
|
||||||
// Invalid file
|
// Invalid file
|
||||||
std::string errormsg = "Invalid Power Info File " + powerInfoFile;
|
std::string errormsg = "Invalid Power Info File " + powerInfoFile;
|
||||||
printDebugMessage(errormsg);
|
printDebugMessage(errormsg);
|
||||||
SC_REPORT_FATAL("Temperature Sim Config", errormsg.c_str());
|
SC_REPORT_FATAL("Temperature Sim Config", errormsg.c_str());
|
||||||
@@ -119,5 +119,5 @@ struct TemperatureSimConfig {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* TEMPERATURE_SIM_CONFIG_H_ */
|
#endif /* THERMALSIM_CONFIG_H */
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
void errorModel::init()
|
void errorModel::init()
|
||||||
{
|
{
|
||||||
powerAnalysis = Configuration::getInstance().PowerAnalysis;
|
powerAnalysis = Configuration::getInstance().PowerAnalysis;
|
||||||
dynTemperatureSim = Configuration::getInstance().DynamicTemperatureSimulation;
|
thermalSim = Configuration::getInstance().ThermalSimulation;
|
||||||
// Get Configuration parameters:
|
// Get Configuration parameters:
|
||||||
busWidth = Configuration::getInstance().Buswidth;
|
busWidth = Configuration::getInstance().Buswidth;
|
||||||
burstLenght = Configuration::getInstance().memSpec.BurstLength;
|
burstLenght = Configuration::getInstance().memSpec.BurstLength;
|
||||||
@@ -513,7 +513,7 @@ double errorModel::getTemperature()
|
|||||||
double temperature = 89;
|
double temperature = 89;
|
||||||
|
|
||||||
if (this->myChannel != -1) {
|
if (this->myChannel != -1) {
|
||||||
if (dynTemperatureSim == true && powerAnalysis == true) {
|
if (thermalSim == true && powerAnalysis == true) {
|
||||||
// TODO
|
// TODO
|
||||||
// check if this is best way to request information to DRAMPower.
|
// check if this is best way to request information to DRAMPower.
|
||||||
DRAMPower->updateCounters(true);
|
DRAMPower->updateCounters(true);
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ class errorModel
|
|||||||
void init(void);
|
void init(void);
|
||||||
bool powerAnalysis;
|
bool powerAnalysis;
|
||||||
libDRAMPower *DRAMPower;
|
libDRAMPower *DRAMPower;
|
||||||
bool dynTemperatureSim;
|
bool thermalSim;
|
||||||
// Configuration Parameters:
|
// Configuration Parameters:
|
||||||
unsigned int busWidth;
|
unsigned int busWidth;
|
||||||
unsigned int burstLenght;
|
unsigned int burstLenght;
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ Simulation::Simulation(sc_module_name __attribute__((unused)) name, string pathT
|
|||||||
ConfigurationLoader::loadMemConfig(Configuration::getInstance(), setup.memconfig);
|
ConfigurationLoader::loadMemConfig(Configuration::getInstance(), setup.memconfig);
|
||||||
ConfigurationLoader::loadMemSpec(Configuration::getInstance(), setup.memspec);
|
ConfigurationLoader::loadMemSpec(Configuration::getInstance(), setup.memspec);
|
||||||
ConfigurationLoader::loadSimConfig(Configuration::getInstance(), setup.simconfig);
|
ConfigurationLoader::loadSimConfig(Configuration::getInstance(), setup.simconfig);
|
||||||
ConfigurationLoader::loadTemperatureSimConfig(Configuration::getInstance(), setup.temperature_simconfig);
|
ConfigurationLoader::loadTemperatureSimConfig(Configuration::getInstance(), setup.thermalsimconfig);
|
||||||
|
|
||||||
instantiateModules(traceName, pathToResources, devices);
|
instantiateModules(traceName, pathToResources, devices);
|
||||||
bindSockets();
|
bindSockets();
|
||||||
|
|||||||
@@ -53,14 +53,14 @@
|
|||||||
|
|
||||||
struct DramSetup
|
struct DramSetup
|
||||||
{
|
{
|
||||||
DramSetup():memspec(NULL),memconfig(NULL),simconfig(NULL),addressmapping(NULL), temperature_simconfig(NULL) {}
|
DramSetup():memspec(NULL),memconfig(NULL),simconfig(NULL),addressmapping(NULL), thermalsimconfig(NULL) {}
|
||||||
DramSetup(tinyxml2::XMLElement* memspec, tinyxml2::XMLElement* memconfig, tinyxml2::XMLElement* simconfig, tinyxml2::XMLElement* addressmapping, tinyxml2::XMLElement *tsc)
|
DramSetup(tinyxml2::XMLElement* memspec, tinyxml2::XMLElement* memconfig, tinyxml2::XMLElement* simconfig, tinyxml2::XMLElement* addressmapping, tinyxml2::XMLElement *tsc)
|
||||||
: memspec(memspec), memconfig(memconfig), simconfig(simconfig), addressmapping(addressmapping), temperature_simconfig(tsc) {}
|
: memspec(memspec), memconfig(memconfig), simconfig(simconfig), addressmapping(addressmapping), thermalsimconfig(tsc) {}
|
||||||
tinyxml2::XMLElement* memspec;
|
tinyxml2::XMLElement* memspec;
|
||||||
tinyxml2::XMLElement* memconfig;
|
tinyxml2::XMLElement* memconfig;
|
||||||
tinyxml2::XMLElement* simconfig;
|
tinyxml2::XMLElement* simconfig;
|
||||||
tinyxml2::XMLElement* addressmapping;
|
tinyxml2::XMLElement* addressmapping;
|
||||||
tinyxml2::XMLElement* temperature_simconfig;
|
tinyxml2::XMLElement* thermalsimconfig;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Device
|
struct Device
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ void SimulationManager::parseSimulationBatch(XMLElement* simulation)
|
|||||||
|
|
||||||
XMLElement* simconfig = simulation->FirstChildElement("simconfig");
|
XMLElement* simconfig = simulation->FirstChildElement("simconfig");
|
||||||
|
|
||||||
XMLElement *temperature_simconfig = simulation->FirstChildElement("temperature_simconfig");
|
XMLElement *thermalsimconfig = simulation->FirstChildElement("thermalsimconfig");
|
||||||
|
|
||||||
XMLElement* memspecs = simulation->FirstChildElement("memspecs");
|
XMLElement* memspecs = simulation->FirstChildElement("memspecs");
|
||||||
if(memspecs == NULL) memspecs = simulation;
|
if(memspecs == NULL) memspecs = simulation;
|
||||||
@@ -122,7 +122,7 @@ void SimulationManager::parseSimulationBatch(XMLElement* simulation)
|
|||||||
for (XMLElement* memconfig = memconfigs->FirstChildElement("memconfig");
|
for (XMLElement* memconfig = memconfigs->FirstChildElement("memconfig");
|
||||||
memconfig != NULL; memconfig = memconfig->NextSiblingElement("memconfig"))
|
memconfig != NULL; memconfig = memconfig->NextSiblingElement("memconfig"))
|
||||||
{
|
{
|
||||||
batch.dramSetups.push_back(DramSetup(memspec, memconfig, simconfig, addressmapping, temperature_simconfig));
|
batch.dramSetups.push_back(DramSetup(memspec, memconfig, simconfig, addressmapping, thermalsimconfig));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,12 +57,12 @@ public:
|
|||||||
static TemperatureController temperaturectrl("TemperatureController");
|
static TemperatureController temperaturectrl("TemperatureController");
|
||||||
return temperaturectrl;
|
return temperaturectrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
SC_CTOR(TemperatureController)
|
SC_CTOR(TemperatureController)
|
||||||
{
|
{
|
||||||
temperatureScale = Configuration::getInstance().temperatureSim.TemperatureScale;
|
temperatureScale = Configuration::getInstance().temperatureSim.TemperatureScale;
|
||||||
|
|
||||||
dynamicTempSimEnabled = Configuration::getInstance().DynamicTemperatureSimulation;
|
dynamicTempSimEnabled = Configuration::getInstance().ThermalSimulation;
|
||||||
|
|
||||||
staticTemperature = Configuration::getInstance().temperatureSim.StaticTemperatureDefaultValue;
|
staticTemperature = Configuration::getInstance().temperatureSim.StaticTemperatureDefaultValue;
|
||||||
|
|
||||||
@@ -88,9 +88,9 @@ public:
|
|||||||
cyclesSinceLastPeriodAdjust = 0;
|
cyclesSinceLastPeriodAdjust = 0;
|
||||||
|
|
||||||
// Get the target period for the thermal simulation from config.
|
// Get the target period for the thermal simulation from config.
|
||||||
targetPeriod = Configuration::getInstance().temperatureSim.DynTemperatureSimPeriod;
|
targetPeriod = Configuration::getInstance().temperatureSim.ThermalSimPeriod;
|
||||||
period = targetPeriod;
|
period = targetPeriod;
|
||||||
t_unit = Configuration::getInstance().temperatureSim.DynTemperatureSimUnit;
|
t_unit = Configuration::getInstance().temperatureSim.ThermalSimUnit;
|
||||||
|
|
||||||
genTempMap = Configuration::getInstance().temperatureSim.GenerateTemperatureMap;
|
genTempMap = Configuration::getInstance().temperatureSim.GenerateTemperatureMap;
|
||||||
temperatureMapFile = "temperature_map";
|
temperatureMapFile = "temperature_map";
|
||||||
|
|||||||
@@ -7,15 +7,15 @@
|
|||||||
<NumberOfTracePlayers value="1"/>
|
<NumberOfTracePlayers value="1"/>
|
||||||
<NumberOfMemChannels value="4"/>
|
<NumberOfMemChannels value="4"/>
|
||||||
<ControllerCoreDisableRefresh value="0"/>
|
<ControllerCoreDisableRefresh value="0"/>
|
||||||
<DynamicTemperatureSimulation value="0"/>
|
<ThermalSimulation value="0"/>
|
||||||
</simconfig>
|
</simconfig>
|
||||||
|
|
||||||
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
|
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
|
||||||
<temperature_simconfig>
|
<thermalsimconfig>
|
||||||
<StaticTemperatureDefaultValue value="89" />
|
<StaticTemperatureDefaultValue value="89" />
|
||||||
<DynTemperatureSimPeriod value="100" />
|
<ThermalSimPeriod value="100" />
|
||||||
<DynTemperatureSimUnit value="ms" />
|
<ThermalSimUnit value="ms" />
|
||||||
</temperature_simconfig>
|
</thermalsimconfig>
|
||||||
|
|
||||||
<memspecs>
|
<memspecs>
|
||||||
<memspec src="../../DRAMSys/tests/error/WideIO.xml"></memspec>
|
<memspec src="../../DRAMSys/tests/error/WideIO.xml"></memspec>
|
||||||
|
|||||||
46
README.md
46
README.md
@@ -311,23 +311,23 @@ The DRAMSys' main configuration file is presented below.
|
|||||||
<NumberOfTracePlayers value="1"/>
|
<NumberOfTracePlayers value="1"/>
|
||||||
<NumberOfMemChannels value="4"/>
|
<NumberOfMemChannels value="4"/>
|
||||||
<ControllerCoreDisableRefresh value="0"/>
|
<ControllerCoreDisableRefresh value="0"/>
|
||||||
<DynamicTemperatureSimulation value="1"/>
|
<ThermalSimulation value="1"/>
|
||||||
</simconfig>
|
</simconfig>
|
||||||
|
|
||||||
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
|
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
|
||||||
<temperature_simconfig>
|
<thermalsimconfig>
|
||||||
<TemperatureScale value="Celsius" />
|
<TemperatureScale value="Celsius" />
|
||||||
<StaticTemperatureDefaultValue value="23" />
|
<StaticTemperatureDefaultValue value="23" />
|
||||||
<DynTemperatureSimPeriod value="100" />
|
<ThermalSimPeriod value="100" />
|
||||||
<DynTemperatureSimUnit value="us" />
|
<ThermalSimUnit value="us" />
|
||||||
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/temperature_sim/powerInfo.xml"/>
|
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/thermalsim/powerInfo.xml"/>
|
||||||
<IceServerIp value="127.0.0.1" />
|
<IceServerIp value="127.0.0.1" />
|
||||||
<IceServerPort value="11880" />
|
<IceServerPort value="11880" />
|
||||||
<SimPeriodAdjustFactor value="10" />
|
<SimPeriodAdjustFactor value="10" />
|
||||||
<NPowStableCyclesToIncreasePeriod value="5" />
|
<NPowStableCyclesToIncreasePeriod value="5" />
|
||||||
<GenerateTemperatureMap value="1" />
|
<GenerateTemperatureMap value="1" />
|
||||||
<GeneratePowerMap value="1" />
|
<GeneratePowerMap value="1" />
|
||||||
</temperature_simconfig>
|
</thermalsimconfig>
|
||||||
|
|
||||||
<memspecs>
|
<memspecs>
|
||||||
<memspec src="../../DRAMSys/simulator/resources/configs/memspecs/WideIO.xml"></memspec>
|
<memspec src="../../DRAMSys/simulator/resources/configs/memspecs/WideIO.xml"></memspec>
|
||||||
@@ -378,7 +378,7 @@ $ ./generateErrorTest.pl > test_error.stl
|
|||||||
Start the 3D-ICE server providing the stack file and the port number.
|
Start the 3D-ICE server providing the stack file and the port number.
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
$ cd DRAMSys/simulator/resources/configs/temperature_sim
|
$ cd DRAMSys/simulator/resources/configs/thermalsim
|
||||||
$ 3D-ICE-Server stack.stk 11880
|
$ 3D-ICE-Server stack.stk 11880
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -409,23 +409,23 @@ The XML code below shows a typic configuration:
|
|||||||
<NumberOfTracePlayers value="5"/>
|
<NumberOfTracePlayers value="5"/>
|
||||||
<NumberOfMemChannels value="1"/>
|
<NumberOfMemChannels value="1"/>
|
||||||
<ControllerCoreDisableRefresh value="0"/>
|
<ControllerCoreDisableRefresh value="0"/>
|
||||||
<DynamicTemperatureSimulation value="0"/>
|
<ThermalSimulation value="0"/>
|
||||||
</simconfig>
|
</simconfig>
|
||||||
|
|
||||||
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
|
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
|
||||||
<temperature_simconfig>
|
<thermalsimconfig>
|
||||||
<TemperatureScale value="Celsius" />
|
<TemperatureScale value="Celsius" />
|
||||||
<StaticTemperatureDefaultValue value="89" />
|
<StaticTemperatureDefaultValue value="89" />
|
||||||
<DynTemperatureSimPeriod value="100" />
|
<ThermalSimPeriod value="100" />
|
||||||
<DynTemperatureSimUnit value="ms" />
|
<ThermalSimUnit value="ms" />
|
||||||
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/temperature_sim/power_thresholds.xml"/>
|
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/thermalsim/power_thresholds.xml"/>
|
||||||
<IceServerIp value="127.0.0.1" />
|
<IceServerIp value="127.0.0.1" />
|
||||||
<IceServerPort value="11880" />
|
<IceServerPort value="11880" />
|
||||||
<SimPeriodAdjustFactor value="10" />
|
<SimPeriodAdjustFactor value="10" />
|
||||||
<NPowStableCyclesToIncreasePeriod value="5" />
|
<NPowStableCyclesToIncreasePeriod value="5" />
|
||||||
<GenerateTemperatureMap value="1" />
|
<GenerateTemperatureMap value="1" />
|
||||||
<GeneratePowerMap value="1" />
|
<GeneratePowerMap value="1" />
|
||||||
</temperature_simconfig>
|
</thermalsimconfig>
|
||||||
|
|
||||||
<!-- Memory Specifications -->
|
<!-- Memory Specifications -->
|
||||||
<memspecs>
|
<memspecs>
|
||||||
@@ -441,7 +441,7 @@ The XML code below shows a typic configuration:
|
|||||||
<memconfigs>
|
<memconfigs>
|
||||||
<memconfig src="../../DRAMSys/simulator/resources/configs/memconfigs/fifo.xml"/>
|
<memconfig src="../../DRAMSys/simulator/resources/configs/memconfigs/fifo.xml"/>
|
||||||
</memconfigs>
|
</memconfigs>
|
||||||
|
|
||||||
<!-- Trace Setups -->
|
<!-- Trace Setups -->
|
||||||
<tracesetups>
|
<tracesetups>
|
||||||
<!-- Multiple trace setups are allowed for the same simulation setup -->
|
<!-- Multiple trace setups are allowed for the same simulation setup -->
|
||||||
@@ -524,8 +524,8 @@ Below are listed the configuration sections and configuration fields.
|
|||||||
- *ControllerCoreDisableRefresh* (boolean)
|
- *ControllerCoreDisableRefresh* (boolean)
|
||||||
- "1": disables refreshes
|
- "1": disables refreshes
|
||||||
- "0": normal operation (refreshes enabled)
|
- "0": normal operation (refreshes enabled)
|
||||||
- *DynamicTemperatureSimulation* (boolean)
|
- *ThermalSimulation* (boolean)
|
||||||
- "1": enables the dynamic temperature simulation feature
|
- "1": enables thermal simulation
|
||||||
- "0": static temperature during simulation
|
- "0": static temperature during simulation
|
||||||
|
|
||||||
- **Temperature Simulator Configuration**
|
- **Temperature Simulator Configuration**
|
||||||
@@ -535,9 +535,9 @@ Below are listed the configuration sections and configuration fields.
|
|||||||
- "Kelvin"
|
- "Kelvin"
|
||||||
- *StaticTemperatureDefaultValue* (int)
|
- *StaticTemperatureDefaultValue* (int)
|
||||||
- Temperature value for simulations with static temperature
|
- Temperature value for simulations with static temperature
|
||||||
- *DynTemperatureSimPeriod* (double)
|
- *ThermalSimPeriod* (double)
|
||||||
- Period of the dynamic temperature simulation
|
- Period of the thermal simulation
|
||||||
- *DynTemperatureSimUnit* (string)
|
- *ThermalSimUnit* (string)
|
||||||
- "s": seconds
|
- "s": seconds
|
||||||
- "ms": millisecond
|
- "ms": millisecond
|
||||||
- "us": microseconds
|
- "us": microseconds
|
||||||
@@ -555,11 +555,11 @@ Below are listed the configuration sections and configuration fields.
|
|||||||
- *NPowStableCyclesToIncreasePeriod* (unsigned int)
|
- *NPowStableCyclesToIncreasePeriod* (unsigned int)
|
||||||
- Wait this number of thermal simulation cycles with power stability (i.e., changes that do not exceed the thresholds) to start increasing the simulation period back to its configured value.
|
- Wait this number of thermal simulation cycles with power stability (i.e., changes that do not exceed the thresholds) to start increasing the simulation period back to its configured value.
|
||||||
- *GenerateTemperatureMap* (boolean)
|
- *GenerateTemperatureMap* (boolean)
|
||||||
- "1": generate temperature map files during dynamic temperature simulation
|
- "1": generate temperature map files during thermal simulation
|
||||||
- "0": do not generate temperature map files during dynamic temperature simulation
|
- "0": do not generate temperature map files during thermal simulation
|
||||||
- *GeneratePowerMap* (boolean)
|
- *GeneratePowerMap* (boolean)
|
||||||
- "1": generate power map files during dynamic temperature simulation
|
- "1": generate power map files during thermal simulation
|
||||||
- "0": do not generate power map files during dynamic temperature simulation
|
- "0": do not generate power map files during thermal simulation
|
||||||
|
|
||||||
- **Memory Specification**
|
- **Memory Specification**
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user