From b3c4f244344677371c4be4d92d97fb881a190a88 Mon Sep 17 00:00:00 2001 From: Derek Christ Date: Fri, 16 May 2025 14:02:41 +0200 Subject: [PATCH] Code formatting and refactoring --- .../DRAMSys/controller/Controller.h | 2 +- src/libdramsys/DRAMSys/simulation/DRAMSys.cpp | 5 ++- src/libdramsys/DRAMSys/simulation/Dram.cpp | 37 +++++++++++-------- src/libdramsys/DRAMSys/simulation/Dram.h | 2 +- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/libdramsys/DRAMSys/controller/Controller.h b/src/libdramsys/DRAMSys/controller/Controller.h index 6db0a934..61e3363b 100644 --- a/src/libdramsys/DRAMSys/controller/Controller.h +++ b/src/libdramsys/DRAMSys/controller/Controller.h @@ -83,7 +83,7 @@ public: void serialize(std::ostream& stream) const override; void deserialize(std::istream& stream) override; -protected: +private: void end_of_simulation() override; virtual tlm::tlm_sync_enum nb_transport_fw(tlm::tlm_generic_payload& trans, diff --git a/src/libdramsys/DRAMSys/simulation/DRAMSys.cpp b/src/libdramsys/DRAMSys/simulation/DRAMSys.cpp index cab8780d..540bcd75 100644 --- a/src/libdramsys/DRAMSys/simulation/DRAMSys.cpp +++ b/src/libdramsys/DRAMSys/simulation/DRAMSys.cpp @@ -119,10 +119,11 @@ DRAMSys::DRAMSys(const sc_core::sc_module_name& name, const Config::Configuratio ("dram" + std::to_string(i)).c_str(), simConfig, *memSpec, &tlmRecorders[i])); if (simConfig.checkTLM2Protocol) + { controllersTlmCheckers.emplace_back( std::make_unique>( ("TLMCheckerController" + std::to_string(i)).c_str())); - + } // Not recording bandwidth between Arbiter - Controller tlmATRecorders.emplace_back( std::make_unique(("TlmATRecorder" + std::to_string(i)).c_str(), @@ -157,7 +158,7 @@ DRAMSys::DRAMSys(const sc_core::sc_module_name& name, const Config::Configuratio if (simConfig.checkTLM2Protocol) { - controllersTlmCheckers.push_back( + controllersTlmCheckers.emplace_back( std::make_unique>( ("TlmCheckerController" + std::to_string(i)).c_str())); } diff --git a/src/libdramsys/DRAMSys/simulation/Dram.cpp b/src/libdramsys/DRAMSys/simulation/Dram.cpp index 7b4cdeaa..2e028dd2 100644 --- a/src/libdramsys/DRAMSys/simulation/Dram.cpp +++ b/src/libdramsys/DRAMSys/simulation/Dram.cpp @@ -110,8 +110,12 @@ Dram::Dram(const sc_module_name& name, if (DRAMPower && storeMode == Config::StoreModeType::NoStorage) { if (simConfig.togglingRate) { DRAMPower->setToggleRate(0, simConfig.togglingRate); - } else { - SC_REPORT_FATAL("DRAM", "Toggling rates for power estimation must be provided for storeMode NoStorage"); + } + else + { + SC_REPORT_FATAL( + "DRAM", + "Toggling rates for power estimation must be provided for storeMode NoStorage"); } } } @@ -136,18 +140,15 @@ void Dram::reportPower() // Print the final total energy and the average power for // the simulation: - std::cout << name() << std::string(" Total Energy: ") << std::defaultfloat << std::setprecision(3) - << energy << std::string(" J") - << std::endl; + std::cout << name() << std::string(" Total Energy: ") << std::defaultfloat + << std::setprecision(3) << energy << std::string(" J") << std::endl; - std::cout << name() << std::string(" Average Power: ") << std::defaultfloat << std::setprecision(3) - << energy / time << std::string(" W") - << std::endl; + std::cout << name() << std::string(" Average Power: ") << std::defaultfloat + << std::setprecision(3) << energy / time << std::string(" W") << std::endl; if (tlmRecorder != nullptr) { - tlmRecorder->recordPower(sc_time_stamp().to_seconds(), - energy / time); + tlmRecorder->recordPower(sc_time_stamp().to_seconds(), energy / time); } } @@ -157,10 +158,15 @@ tlm_sync_enum Dram::nb_transport_fw(tlm_generic_payload& trans, tlm_phase& phase if (DRAMPower) { - std::size_t rank = static_cast(ControllerExtension::getRank(trans)); // relaitve to the channel - std::size_t bank_group_abs = static_cast(ControllerExtension::getBankGroup(trans)); // relative to the channel - std::size_t bank_group = bank_group_abs - rank * memSpec.groupsPerRank; // relative to the rank - std::size_t bank = static_cast(ControllerExtension::getBank(trans)) - bank_group_abs * memSpec.banksPerGroup; // relative to the bank_group + std::size_t channel = static_cast(ArbiterExtension::getChannel(trans)); + std::size_t rank = static_cast( + ControllerExtension::getRank(trans)); // relaitve to the channel + std::size_t bank_group_abs = static_cast( + ControllerExtension::getBankGroup(trans)); // relative to the channel + std::size_t bank_group = + bank_group_abs - rank * memSpec.groupsPerRank; // relative to the rank + std::size_t bank = static_cast(ControllerExtension::getBank(trans)) - + bank_group_abs * memSpec.banksPerGroup; // relative to the bank_group std::size_t row = static_cast(ControllerExtension::getRow(trans)); std::size_t column = static_cast(ControllerExtension::getColumn(trans)); uint64_t cycle = std::lround((sc_time_stamp() + delay) / memSpec.tCK); @@ -330,8 +336,7 @@ void Dram::powerWindow() // Here considering that DRAMPower provides the energy in J and the power in W PRINTDEBUGMESSAGE(this->name(), - std::string("\tWindow Energy: \t") + - std::to_string(windowEnergy) + + std::string("\tWindow Energy: \t") + std::to_string(windowEnergy) + std::string("\t[J]")); PRINTDEBUGMESSAGE(this->name(), std::string("\tWindow Average Power: \t") + diff --git a/src/libdramsys/DRAMSys/simulation/Dram.h b/src/libdramsys/DRAMSys/simulation/Dram.h index 6dc56ece..8f73e042 100644 --- a/src/libdramsys/DRAMSys/simulation/Dram.h +++ b/src/libdramsys/DRAMSys/simulation/Dram.h @@ -60,7 +60,7 @@ namespace DRAMSys class Dram : public sc_core::sc_module, public Serialize, public Deserialize { -protected: +private: const MemSpec& memSpec; // Data Storage: