Minor change: ErrorStoreMode --> StoreMode
This commit is contained in:
@@ -1,13 +1,14 @@
|
|||||||
<memconfig>
|
<memconfig>
|
||||||
<BankwiseLogic value="0"/>
|
<BankwiseLogic value="0"/>
|
||||||
<OpenPagePolicy value="1" />
|
<OpenPagePolicy value="1" />
|
||||||
<MaxNrOfTransactions value="8" />
|
<MaxNrOfTransactions value="8" />
|
||||||
<Scheduler value="FIFO" />
|
<Scheduler value="FIFO" />
|
||||||
<Capsize value="5" />
|
<Capsize value="5" />
|
||||||
<PowerDownMode value="NoPowerDown" />
|
<PowerDownMode value="NoPowerDown" />
|
||||||
<PowerDownTimeout value="100" />
|
<PowerDownTimeout value="100" />
|
||||||
<!-- Error Modelling -->
|
<!-- Error Modelling -->
|
||||||
<ErrorChipSeed value="42" />
|
<ErrorChipSeed value="42" />
|
||||||
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
||||||
<ErrorStoreMode value="NoStorage" /> <!--3 Modes: NoStorage, Store (store data without errormodel), ErrorModel (store data with errormodel)-->
|
<!--3 Modes: NoStorage, Store (store data without errormodel), ErrorModel (store data with errormodel)-->
|
||||||
|
<StoreMode value="NoStorage" />
|
||||||
</memconfig>
|
</memconfig>
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
<memconfig>
|
<memconfig>
|
||||||
<BankwiseLogic value="0"/>
|
<BankwiseLogic value="0"/>
|
||||||
<OpenPagePolicy value="1" />
|
<OpenPagePolicy value="1" />
|
||||||
<MaxNrOfTransactions value="8" />
|
<MaxNrOfTransactions value="8" />
|
||||||
<Scheduler value="FIFO_STRICT" />
|
<Scheduler value="FIFO_STRICT" />
|
||||||
<Capsize value="5" />
|
<Capsize value="5" />
|
||||||
<PowerDownMode value="NoPowerDown" />
|
<PowerDownMode value="NoPowerDown" />
|
||||||
<PowerDownTimeout value="100" />
|
<PowerDownTimeout value="100" />
|
||||||
<!-- Error Modelling -->
|
<!-- Error Modelling -->
|
||||||
<ErrorChipSeed value="42" />
|
<ErrorChipSeed value="42" />
|
||||||
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
||||||
<ErrorStoreMode value="NoStorage" /> <!--3 Modes: NoStorage, Store (store data without errormodel), ErrorModel (store data with errormodel)-->
|
<!-- Modes: NoStorage, Store (store data without errormodel), ErrorModel (store data with errormodel) -->
|
||||||
|
<StoreMode value="Store" />
|
||||||
</memconfig>
|
</memconfig>
|
||||||
|
|
||||||
|
|||||||
@@ -1,21 +1,23 @@
|
|||||||
<memconfig>
|
<memconfig>
|
||||||
<BankwiseLogic value="0"/>
|
<BankwiseLogic value="0"/>
|
||||||
<OpenPagePolicy value="1" />
|
<OpenPagePolicy value="1" />
|
||||||
<MaxNrOfTransactions value="8" />
|
<MaxNrOfTransactions value="8" />
|
||||||
<Scheduler value="FR_FCFS" />
|
<Scheduler value="FR_FCFS" />
|
||||||
<Capsize value="5" />
|
<Capsize value="5" />
|
||||||
<PowerDownMode value="NoPowerDown" />
|
<PowerDownMode value="NoPowerDown" />
|
||||||
<PowerDownTimeout value="100" />
|
<PowerDownTimeout value="100" />
|
||||||
<!-- Error Model: -->
|
<!-- Error Model: -->
|
||||||
<ErrorChipSeed value="42" />
|
<ErrorChipSeed value="42" />
|
||||||
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
||||||
<ErrorStoreMode value="NoStorage" /> <!--3 Modes: NoStorage, Store (store data without errormodel), ErrorModel (store data with errormodel)-->
|
<!-- Modes: NoStorage, Store (store data without errormodel), ErrorModel (store data with errormodel) -->
|
||||||
<!--
|
<StoreMode value="NoStorage" />
|
||||||
<Buswidth value="128" />
|
<!--
|
||||||
<ReadWriteGrouping value="false" />
|
<Buswidth value="128" />
|
||||||
<ModelStorage value="false" />
|
<ReadWriteGrouping value="false" />
|
||||||
<ModelErrorInjection value="false" />
|
<ModelStorage value="false" />
|
||||||
<ReorderBuffer value="false" />
|
<ModelErrorInjection value="false" />
|
||||||
<DatabaseRecording value="true" />
|
<ReorderBuffer value="false" />
|
||||||
-->
|
<DatabaseRecording value="true" />
|
||||||
|
-->
|
||||||
</memconfig>
|
</memconfig>
|
||||||
|
|
||||||
|
|||||||
@@ -167,13 +167,13 @@ void Configuration::setParameter(std::string name, std::string value)
|
|||||||
SimulationProgressBar = string2bool(value);
|
SimulationProgressBar = string2bool(value);
|
||||||
else if(name == "NumberOfDevicesOnDIMM")
|
else if(name == "NumberOfDevicesOnDIMM")
|
||||||
NumberOfDevicesOnDIMM = string2int(value);
|
NumberOfDevicesOnDIMM = string2int(value);
|
||||||
// Specification for ErrorChipSeed, ErrorCSVFile path and ErrorStoreMode
|
// Specification for ErrorChipSeed, ErrorCSVFile path and StoreMode
|
||||||
else if(name == "ErrorChipSeed")
|
else if(name == "ErrorChipSeed")
|
||||||
ErrorChipSeed = string2int(value);
|
ErrorChipSeed = string2int(value);
|
||||||
else if(name == "ErrorCSVFile")
|
else if(name == "ErrorCSVFile")
|
||||||
ErrorCSVFile = value;
|
ErrorCSVFile = value;
|
||||||
else if(name == "ErrorStoreMode")
|
else if(name == "StoreMode")
|
||||||
ErrorStoreMode = StringToEnum(value);
|
StoreMode = StringToEnum(value);
|
||||||
// Temperature Simulation related
|
// Temperature Simulation related
|
||||||
else if (name == "TemperatureScale") {
|
else if (name == "TemperatureScale") {
|
||||||
if (value != "Celsius" && value != "Fahrenheit" && value != "Kelvin") {
|
if (value != "Celsius" && value != "Fahrenheit" && value != "Kelvin") {
|
||||||
|
|||||||
@@ -44,8 +44,8 @@
|
|||||||
#include "thermalSimConfig.h"
|
#include "thermalSimConfig.h"
|
||||||
#include "../../../common/Utils.h"
|
#include "../../../common/Utils.h"
|
||||||
|
|
||||||
enum class ErrorStorageMode;
|
enum class StorageMode;
|
||||||
DEFINE_ENUM_CLASS_WITH_STRING_CONVERSIONS(ErrorStorageMode, (NoStorage)(Store)(ErrorModel))
|
DEFINE_ENUM_CLASS_WITH_STRING_CONVERSIONS(StorageMode, (NoStorage)(Store)(ErrorModel))
|
||||||
|
|
||||||
enum class EPowerDownMode{NoPowerDown, Staggered, TimeoutPDN, TimeoutSREF};
|
enum class EPowerDownMode{NoPowerDown, Staggered, TimeoutPDN, TimeoutSREF};
|
||||||
|
|
||||||
@@ -91,10 +91,10 @@ struct Configuration
|
|||||||
void setParameter(std::string name, std::string value);
|
void setParameter(std::string name, std::string value);
|
||||||
void setParameters(std::map<std::string, std::string> parameterMap);
|
void setParameters(std::map<std::string, std::string> parameterMap);
|
||||||
|
|
||||||
//Configs for Seed, csv file and ErrorStorageMode
|
//Configs for Seed, csv file and StorageMode
|
||||||
unsigned int ErrorChipSeed;
|
unsigned int ErrorChipSeed;
|
||||||
std::string ErrorCSVFile ="not defined.";
|
std::string ErrorCSVFile ="not defined.";
|
||||||
ErrorStorageMode ErrorStoreMode;
|
StorageMode StoreMode;
|
||||||
|
|
||||||
// Temperature Simulation related
|
// Temperature Simulation related
|
||||||
TemperatureSimConfig temperatureSim;
|
TemperatureSimConfig temperatureSim;
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ struct Dram : sc_module
|
|||||||
sc_time lastAccess;
|
sc_time lastAccess;
|
||||||
|
|
||||||
// Error Model related:
|
// Error Model related:
|
||||||
ErrorStorageMode ErrorStoreMode = Configuration::getInstance().ErrorStoreMode;
|
StorageMode StoreMode = Configuration::getInstance().StoreMode;
|
||||||
std::vector<errorModel *> ememory;
|
std::vector<errorModel *> ememory;
|
||||||
|
|
||||||
// Data Storage:
|
// Data Storage:
|
||||||
@@ -198,10 +198,10 @@ struct Dram : sc_module
|
|||||||
firstAccess = SC_ZERO_TIME;
|
firstAccess = SC_ZERO_TIME;
|
||||||
lastAccess = SC_ZERO_TIME;
|
lastAccess = SC_ZERO_TIME;
|
||||||
|
|
||||||
printDebugMessage(string("ErrorStorageMode: ") + EnumToString(ErrorStoreMode));
|
printDebugMessage(string("StorageMode: ") + EnumToString(StoreMode));
|
||||||
|
|
||||||
// For each bank in a channel a error Model is created:
|
// For each bank in a channel a error Model is created:
|
||||||
if(ErrorStoreMode == ErrorStorageMode::ErrorModel)
|
if(StoreMode == StorageMode::ErrorModel)
|
||||||
{
|
{
|
||||||
for (unsigned i = 0; i < Configuration::getInstance().memSpec.NumberOfBanks; i++) {
|
for (unsigned i = 0; i < Configuration::getInstance().memSpec.NumberOfBanks; i++) {
|
||||||
errorModel *em;
|
errorModel *em;
|
||||||
@@ -368,7 +368,7 @@ struct Dram : sc_module
|
|||||||
sendToController(payload, END_ACT, delay + getExecutionTime(Command::Activate, payload));
|
sendToController(payload, END_ACT, delay + getExecutionTime(Command::Activate, payload));
|
||||||
unsigned int row = DramExtension::getExtension(payload).getRow().ID();
|
unsigned int row = DramExtension::getExtension(payload).getRow().ID();
|
||||||
|
|
||||||
if (ErrorStoreMode == ErrorStorageMode::ErrorModel)
|
if (StoreMode == StorageMode::ErrorModel)
|
||||||
{
|
{
|
||||||
ememory[bank]->activate(row);
|
ememory[bank]->activate(row);
|
||||||
}
|
}
|
||||||
@@ -382,11 +382,11 @@ struct Dram : sc_module
|
|||||||
numberOfTransactionsServed++;
|
numberOfTransactionsServed++;
|
||||||
|
|
||||||
//save data:
|
//save data:
|
||||||
if (ErrorStoreMode == ErrorStorageMode::NoStorage)
|
if (StoreMode == StorageMode::NoStorage)
|
||||||
{
|
{
|
||||||
// Don't store data
|
// Don't store data
|
||||||
}
|
}
|
||||||
else if (ErrorStoreMode == ErrorStorageMode::Store) // Use Storage
|
else if (StoreMode == StorageMode::Store) // Use Storage
|
||||||
{
|
{
|
||||||
unsigned char *phyAddr = memory + payload.get_address();
|
unsigned char *phyAddr = memory + payload.get_address();
|
||||||
memcpy(phyAddr, payload.get_data_ptr(), payload.get_data_length());
|
memcpy(phyAddr, payload.get_data_ptr(), payload.get_data_length());
|
||||||
@@ -405,12 +405,12 @@ struct Dram : sc_module
|
|||||||
if(powerAnalysis == true){DRAMPower->doCommand(MemCommand::RD, bank, cycle);}
|
if(powerAnalysis == true){DRAMPower->doCommand(MemCommand::RD, bank, cycle);}
|
||||||
|
|
||||||
// Load data:
|
// Load data:
|
||||||
if (ErrorStoreMode == ErrorStorageMode::Store) //use ErrorStorageMode
|
if (StoreMode == StorageMode::Store) //use StorageMode
|
||||||
{
|
{
|
||||||
unsigned char *phyAddr = memory + payload.get_address();
|
unsigned char *phyAddr = memory + payload.get_address();
|
||||||
memcpy(payload.get_data_ptr(), phyAddr, payload.get_data_length());
|
memcpy(payload.get_data_ptr(), phyAddr, payload.get_data_length());
|
||||||
}
|
}
|
||||||
else if(ErrorStoreMode == ErrorStorageMode::ErrorModel)// use ErrorStorageMode with errormodel
|
else if(StoreMode == StorageMode::ErrorModel)// use StorageMode with errormodel
|
||||||
{
|
{
|
||||||
ememory[bank]->load(payload);
|
ememory[bank]->load(payload);
|
||||||
}
|
}
|
||||||
@@ -423,11 +423,11 @@ struct Dram : sc_module
|
|||||||
if(powerAnalysis == true){DRAMPower->doCommand(MemCommand::WRA, bank, cycle);}
|
if(powerAnalysis == true){DRAMPower->doCommand(MemCommand::WRA, bank, cycle);}
|
||||||
|
|
||||||
//save data:
|
//save data:
|
||||||
if (ErrorStoreMode == ErrorStorageMode::NoStorage)
|
if (StoreMode == StorageMode::NoStorage)
|
||||||
{
|
{
|
||||||
// Don't store data
|
// Don't store data
|
||||||
}
|
}
|
||||||
else if (ErrorStoreMode == ErrorStorageMode::Store) // Use Storage
|
else if (StoreMode == StorageMode::Store) // Use Storage
|
||||||
{
|
{
|
||||||
|
|
||||||
unsigned char *phyAddr = memory + payload.get_address();
|
unsigned char *phyAddr = memory + payload.get_address();
|
||||||
@@ -445,12 +445,12 @@ struct Dram : sc_module
|
|||||||
if(powerAnalysis == true){DRAMPower->doCommand(MemCommand::RDA, bank, cycle);}
|
if(powerAnalysis == true){DRAMPower->doCommand(MemCommand::RDA, bank, cycle);}
|
||||||
|
|
||||||
// Load data:
|
// Load data:
|
||||||
if (ErrorStoreMode == ErrorStorageMode::Store) //use ErrorStorageMode
|
if (StoreMode == StorageMode::Store) //use StorageMode
|
||||||
{
|
{
|
||||||
unsigned char *phyAddr = memory + payload.get_address();
|
unsigned char *phyAddr = memory + payload.get_address();
|
||||||
memcpy(payload.get_data_ptr(), phyAddr, payload.get_data_length());
|
memcpy(payload.get_data_ptr(), phyAddr, payload.get_data_length());
|
||||||
}
|
}
|
||||||
else if(ErrorStoreMode == ErrorStorageMode::ErrorModel)// use ErrorStorageMode with errormodel
|
else if(StoreMode == StorageMode::ErrorModel)// use StorageMode with errormodel
|
||||||
{
|
{
|
||||||
ememory[bank]->load(payload);
|
ememory[bank]->load(payload);
|
||||||
}
|
}
|
||||||
@@ -463,7 +463,7 @@ struct Dram : sc_module
|
|||||||
sendToController(payload, END_REFA, delay + getExecutionTime(Command::AutoRefresh, payload));
|
sendToController(payload, END_REFA, delay + getExecutionTime(Command::AutoRefresh, payload));
|
||||||
unsigned int row = DramExtension::getExtension(payload).getRow().ID();
|
unsigned int row = DramExtension::getExtension(payload).getRow().ID();
|
||||||
|
|
||||||
if (ErrorStoreMode == ErrorStorageMode::ErrorModel)
|
if (StoreMode == StorageMode::ErrorModel)
|
||||||
{
|
{
|
||||||
ememory[bank]->refresh(row);
|
ememory[bank]->refresh(row);
|
||||||
}
|
}
|
||||||
@@ -541,7 +541,7 @@ struct Dram : sc_module
|
|||||||
assert(trans.get_data_length() == bytesPerBurst);
|
assert(trans.get_data_length() == bytesPerBurst);
|
||||||
|
|
||||||
// TODO: This part is not tested yet, neither with traceplayers neither with GEM5 coupling
|
// TODO: This part is not tested yet, neither with traceplayers neither with GEM5 coupling
|
||||||
if (ErrorStoreMode == ErrorStorageMode::NoStorage)
|
if (StoreMode == StorageMode::NoStorage)
|
||||||
{
|
{
|
||||||
SC_REPORT_FATAL("DRAM", "Debug Transport is used in combination with NoStorage");
|
SC_REPORT_FATAL("DRAM", "Debug Transport is used in combination with NoStorage");
|
||||||
}
|
}
|
||||||
@@ -557,10 +557,10 @@ struct Dram : sc_module
|
|||||||
|
|
||||||
if ( cmd == tlm::TLM_READ_COMMAND )
|
if ( cmd == tlm::TLM_READ_COMMAND )
|
||||||
{
|
{
|
||||||
if (ErrorStoreMode == ErrorStorageMode::Store) // Use Storage
|
if (StoreMode == StorageMode::Store) // Use Storage
|
||||||
{
|
{
|
||||||
unsigned char *phyAddr = memory + trans.get_address();
|
unsigned char *phyAddr = memory + trans.get_address();
|
||||||
memcpy(trans.get_data_ptr(), phyAddr, trans.get_data_length());
|
memcpy(ptr, phyAddr, trans.get_data_length());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -571,10 +571,10 @@ struct Dram : sc_module
|
|||||||
else if ( cmd == tlm::TLM_WRITE_COMMAND )
|
else if ( cmd == tlm::TLM_WRITE_COMMAND )
|
||||||
{
|
{
|
||||||
|
|
||||||
if (ErrorStoreMode == ErrorStorageMode::Store) // Use Storage
|
if (StoreMode == StorageMode::Store) // Use Storage
|
||||||
{
|
{
|
||||||
unsigned char *phyAddr = memory + trans.get_address();
|
unsigned char *phyAddr = memory + trans.get_address();
|
||||||
memcpy(phyAddr, trans.get_data_ptr(), trans.get_data_length());
|
memcpy(phyAddr, ptr, trans.get_data_length());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
#include "../simulation/TemperatureController.h"
|
#include "../simulation/TemperatureController.h"
|
||||||
#include "../controller/Controller.h"
|
#include "../controller/Controller.h"
|
||||||
|
|
||||||
#define USE_EXAMPLE_INITIATOR 0
|
#define USE_EXAMPLE_INITIATOR 1
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
@@ -125,7 +125,7 @@ void Simulation::instantiateModules(const string &traceName, const string &pathT
|
|||||||
// When data should be stored during the simulation the StlDataPlayer is needed.
|
// When data should be stored during the simulation the StlDataPlayer is needed.
|
||||||
// Else: no data should be stored, for instance to get a faster simulation
|
// Else: no data should be stored, for instance to get a faster simulation
|
||||||
// or if you simply dont care about the data the normal StlPlayer is used.
|
// or if you simply dont care about the data the normal StlPlayer is used.
|
||||||
if(Configuration::getInstance().ErrorStoreMode == ErrorStorageMode::NoStorage)
|
if(Configuration::getInstance().StoreMode == StorageMode::NoStorage)
|
||||||
{
|
{
|
||||||
StlPlayer *newPlayer = new StlPlayer(playerStr.c_str(), pathToResources + string("traces/") + devices[i].trace, devices[i].clkMhz, this);
|
StlPlayer *newPlayer = new StlPlayer(playerStr.c_str(), pathToResources + string("traces/") + devices[i].trace, devices[i].clkMhz, this);
|
||||||
player = newPlayer;
|
player = newPlayer;
|
||||||
|
|||||||
@@ -1,21 +1,23 @@
|
|||||||
<memconfig>
|
<memconfig>
|
||||||
<BankwiseLogic value="0"/>
|
<BankwiseLogic value="0"/>
|
||||||
<OpenPagePolicy value="1" />
|
<OpenPagePolicy value="1" />
|
||||||
<MaxNrOfTransactions value="8" />
|
<MaxNrOfTransactions value="8" />
|
||||||
<Scheduler value="FR_FCFS" />
|
<Scheduler value="FR_FCFS" />
|
||||||
<Capsize value="5" />
|
<Capsize value="5" />
|
||||||
<PowerDownMode value="TimeoutPDN" />
|
<PowerDownMode value="TimeoutPDN" />
|
||||||
<PowerDownTimeout value="100" />
|
<PowerDownTimeout value="100" />
|
||||||
<!-- Error Model: -->
|
<!-- Error Model: -->
|
||||||
<ErrorChipSeed value="42" />
|
<ErrorChipSeed value="42" />
|
||||||
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
||||||
<ErrorStoreMode value="ErrorModel" /> <!--3 Modes: NoStorage, Store (store data without errormodel), ErrorModel (store data with errormodel)-->
|
<!-- Modes: NoStorage, Store (store data without errormodel), ErrorModel (store data with errormodel) -->
|
||||||
<!--
|
<StoreMode value="ErrorModel" />
|
||||||
<Buswidth value="128" />
|
<!--
|
||||||
<ReadWriteGrouping value="false" />
|
<Buswidth value="128" />
|
||||||
<ModelStorage value="false" />
|
<ReadWriteGrouping value="false" />
|
||||||
<ModelErrorInjection value="false" />
|
<ModelStorage value="false" />
|
||||||
<ReorderBuffer value="false" />
|
<ModelErrorInjection value="false" />
|
||||||
<DatabaseRecording value="true" />
|
<ReorderBuffer value="false" />
|
||||||
-->
|
<DatabaseRecording value="true" />
|
||||||
|
-->
|
||||||
</memconfig>
|
</memconfig>
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
<memconfig>
|
<memconfig>
|
||||||
<BankwiseLogic value="0"/>
|
<BankwiseLogic value="0"/>
|
||||||
<OpenPagePolicy value="1" />
|
<OpenPagePolicy value="1" />
|
||||||
<MaxNrOfTransactions value="8" />
|
<MaxNrOfTransactions value="8" />
|
||||||
<Scheduler value="FIFO_STRICT" />
|
<Scheduler value="FIFO_STRICT" />
|
||||||
<Capsize value="5" />
|
<Capsize value="5" />
|
||||||
<PowerDownMode value="NoPowerDown" />
|
<PowerDownMode value="NoPowerDown" />
|
||||||
<PowerDownTimeout value="100" />
|
<PowerDownTimeout value="100" />
|
||||||
<!-- Error Modelling -->
|
<!-- Error Modelling -->
|
||||||
<ErrorChipSeed value="42" />
|
<ErrorChipSeed value="42" />
|
||||||
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
||||||
<ErrorStoreMode value="NoStorage" /> <!--3 Modes: NoStorage, Store (store data without errormodel), ErrorModel (store data with errormodel)-->
|
<!-- Modes: NoStorage, Store (store data without errormodel), ErrorModel (store data with errormodel) -->
|
||||||
|
<StoreMode value="NoStorage" />
|
||||||
</memconfig>
|
</memconfig>
|
||||||
|
|
||||||
|
|||||||
@@ -377,7 +377,8 @@ Enable the error model in fr_fcfs.xml.
|
|||||||
<!-- Error Model: -->
|
<!-- Error Model: -->
|
||||||
<ErrorChipSeed value="42" />
|
<ErrorChipSeed value="42" />
|
||||||
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
||||||
<ErrorStoreMode value="ErrorModel" /> <!--3 Modes: NoStorage, Store (store data without errormodel), ErrorModel (store data with errormodel)-->
|
<!-- Modes: NoStorage, Store (store data without errormodel), ErrorModel (store data with errormodel) -->
|
||||||
|
<StoreMode value="ErrorModel" />
|
||||||
</memconfig>
|
</memconfig>
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -638,7 +639,7 @@ Below are listed the configuration sections and configuration fields.
|
|||||||
<!-- Error Modelling -->
|
<!-- Error Modelling -->
|
||||||
<ErrorChipSeed value="42"/>
|
<ErrorChipSeed value="42"/>
|
||||||
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
<ErrorCSVFile value="../../DRAMSys/simulator/src/error/error.csv" />
|
||||||
<ErrorStoreMode value="NoStorage"/>
|
<StoreMode value="NoStorage"/>
|
||||||
</memconfig>
|
</memconfig>
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -673,7 +674,7 @@ Below are listed the configuration sections and configuration fields.
|
|||||||
- Seed to initialize the random error generator.
|
- Seed to initialize the random error generator.
|
||||||
- *ErrorCSVFile* (string)
|
- *ErrorCSVFile* (string)
|
||||||
- CSV file with error injection information.
|
- CSV file with error injection information.
|
||||||
- *ErrorStoreMode* (enum ErrorStorageMode)
|
- *StoreMode* (enum StorageMode)
|
||||||
- "NoStorage": no storage
|
- "NoStorage": no storage
|
||||||
- "Store": store data without error model
|
- "Store": store data without error model
|
||||||
- "ErrorModel": store data with error model [6]
|
- "ErrorModel": store data with error model [6]
|
||||||
|
|||||||
Reference in New Issue
Block a user