diff --git a/DRAMSys/library/src/simulation/DRAMSys.cpp b/DRAMSys/library/src/simulation/DRAMSys.cpp index 395f4742..5cbfd07d 100644 --- a/DRAMSys/library/src/simulation/DRAMSys.cpp +++ b/DRAMSys/library/src/simulation/DRAMSys.cpp @@ -121,8 +121,7 @@ DRAMSys::DRAMSys(sc_module_name name, DRAMSys::~DRAMSys() { - if (ecc) - delete ecc; + delete ecc; delete arbiter; diff --git a/DRAMSys/library/src/simulation/DRAMSys.h b/DRAMSys/library/src/simulation/DRAMSys.h index d8a96606..f1479dc5 100644 --- a/DRAMSys/library/src/simulation/DRAMSys.h +++ b/DRAMSys/library/src/simulation/DRAMSys.h @@ -65,7 +65,7 @@ public: std::string simulationToRun, std::string pathToResources); - virtual ~DRAMSys(); + ~DRAMSys() override; protected: DRAMSys(sc_module_name name, @@ -95,7 +95,7 @@ protected: void report(std::string message); private: - void logo(); + static void logo(); void instantiateModules(const std::string &pathToResources, const std::string &amconfig); diff --git a/DRAMSys/library/src/simulation/DRAMSysRecordable.cpp b/DRAMSys/library/src/simulation/DRAMSysRecordable.cpp index 3693e3eb..fb13c257 100644 --- a/DRAMSys/library/src/simulation/DRAMSysRecordable.cpp +++ b/DRAMSys/library/src/simulation/DRAMSysRecordable.cpp @@ -79,6 +79,7 @@ DRAMSysRecordable::DRAMSysRecordable(sc_module_name name, DRAMSysRecordable::~DRAMSysRecordable() { + // Report power before TLM recorders are deleted if (Configuration::getInstance().powerAnalysis) { for (auto dram : drams) @@ -99,9 +100,9 @@ void DRAMSysRecordable::setupTlmRecorders(const std::string &traceName) std::string recorderName = "tlmRecorder" + std::to_string(i); TlmRecorder *tlmRecorder = - new TlmRecorder(recorderName, dbName.c_str()); - tlmRecorder->recordMcConfig(Configuration::getInstance().mcconfigUri); - tlmRecorder->recordMemspec(Configuration::getInstance().memspecUri); + new TlmRecorder(recorderName, dbName); + tlmRecorder->recordMcConfig(Configuration::mcconfigUri); + tlmRecorder->recordMemspec(Configuration::memspecUri); std::string traceNames = Configuration::getInstance().simulationName; tlmRecorder->recordTraceNames(traceNames); diff --git a/DRAMSys/library/src/simulation/DRAMSysRecordable.h b/DRAMSys/library/src/simulation/DRAMSysRecordable.h index 6640d40d..e8ac2886 100644 --- a/DRAMSys/library/src/simulation/DRAMSysRecordable.h +++ b/DRAMSys/library/src/simulation/DRAMSysRecordable.h @@ -46,7 +46,7 @@ public: std::string simulationToRun, std::string pathToResources); - virtual ~DRAMSysRecordable(); + ~DRAMSysRecordable() override; private: // Transaction Recorders (one per channel). diff --git a/DRAMSys/library/src/simulation/dram/Dram.cpp b/DRAMSys/library/src/simulation/dram/Dram.cpp index a897f0c1..73e13f2a 100644 --- a/DRAMSys/library/src/simulation/dram/Dram.cpp +++ b/DRAMSys/library/src/simulation/dram/Dram.cpp @@ -101,7 +101,7 @@ Dram::~Dram() { if (Configuration::getInstance().powerAnalysis) { - reportPower(); + Dram::reportPower(); delete DRAMPower; } diff --git a/DRAMSys/library/src/simulation/dram/DramRecordable.cpp b/DRAMSys/library/src/simulation/dram/DramRecordable.cpp index aaa2491d..57ac55c8 100644 --- a/DRAMSys/library/src/simulation/dram/DramRecordable.cpp +++ b/DRAMSys/library/src/simulation/dram/DramRecordable.cpp @@ -69,8 +69,8 @@ void DramRecordable::reportPower() { BaseDram::reportPower(); tlmRecorder->recordPower(sc_time_stamp().to_seconds(), - this->DRAMPower->getPower().window_average_power - * Configuration::getInstance().memSpec->numberOfDevicesOnDIMM); + this->DRAMPower->getPower().window_average_power + * Configuration::getInstance().memSpec->numberOfDevicesOnDIMM); } template