Initialize all configuration fields.

This commit is contained in:
Lukas Steiner
2021-09-08 10:13:01 +02:00
parent 13691a04c3
commit 5bd67b88db
2 changed files with 12 additions and 14 deletions

View File

@@ -288,7 +288,6 @@ void Configuration::setParameter(const std::string &name, const nlohmann::json &
void Configuration::setPathToResources(const std::string &path)
{
pathToResources = path;
temperatureSim.setPathToResources(path);
}

View File

@@ -64,20 +64,19 @@ private:
public:
static std::string memspecUri;
static std::string mcconfigUri;
std::string pathToResources;
// MCConfig:
enum class PagePolicy {Open, Closed, OpenAdaptive, ClosedAdaptive} pagePolicy;
enum class Scheduler {Fifo, FrFcfs, FrFcfsGrp} scheduler;
enum class SchedulerBuffer {Bankwise, ReadWrite, Shared} schedulerBuffer;
enum class CmdMux {Oldest, Strict} cmdMux;
enum class RespQueue {Fifo, Reorder} respQueue;
enum class Arbiter {Simple, Fifo, Reorder} arbiter;
enum class PagePolicy {Open, Closed, OpenAdaptive, ClosedAdaptive} pagePolicy = PagePolicy::Open;
enum class Scheduler {Fifo, FrFcfs, FrFcfsGrp} scheduler = Scheduler::FrFcfs;
enum class SchedulerBuffer {Bankwise, ReadWrite, Shared} schedulerBuffer = SchedulerBuffer::Bankwise;
enum class CmdMux {Oldest, Strict} cmdMux = CmdMux::Oldest;
enum class RespQueue {Fifo, Reorder} respQueue = RespQueue::Fifo;
enum class Arbiter {Simple, Fifo, Reorder} arbiter = Arbiter::Simple;
unsigned int requestBufferSize = 8;
enum class RefreshPolicy {NoRefresh, AllBank, PerBank, SameBank} refreshPolicy;
enum class RefreshPolicy {NoRefresh, AllBank, PerBank, SameBank} refreshPolicy = RefreshPolicy::AllBank;
unsigned int refreshMaxPostponed = 0;
unsigned int refreshMaxPulledin = 0;
enum class PowerDownPolicy {NoPowerDown, Staggered} powerDownPolicy;
enum class PowerDownPolicy {NoPowerDown, Staggered} powerDownPolicy = PowerDownPolicy::NoPowerDown;
unsigned int powerDownTimeout = 3;
unsigned int maxActiveTransactions = 64;
bool refreshManagement = false;
@@ -98,20 +97,20 @@ public:
bool thermalSimulation = false;
bool simulationProgressBar = false;
bool checkTLM2Protocol = false;
enum class ECCMode {Disabled, Hamming} eccMode;
enum class ECCMode {Disabled, Hamming} eccMode = ECCMode::Disabled;
ECCBaseClass *pECC = nullptr;
bool useMalloc = false;
unsigned long long int addressOffset = 0;
// MemSpec (from DRAM-Power)
const MemSpec *memSpec;
const MemSpec *memSpec = nullptr;
void setParameter(const std::string &name, const nlohmann::json &value);
//Configs for Seed, csv file and StorageMode
unsigned int errorChipSeed;
unsigned int errorChipSeed = 0;
std::string errorCSVFile = "not defined.";
enum class StoreMode {NoStorage, Store, ErrorModel} storeMode;
enum class StoreMode {NoStorage, Store, ErrorModel} storeMode = StoreMode::NoStorage;
// Temperature Simulation related
TemperatureSimConfig temperatureSim;