diff --git a/DRAMSys/library/src/controller/Controller.cpp b/DRAMSys/library/src/controller/Controller.cpp index a2a4f75a..b1afbdee 100644 --- a/DRAMSys/library/src/controller/Controller.cpp +++ b/DRAMSys/library/src/controller/Controller.cpp @@ -230,13 +230,6 @@ Controller::Controller(const sc_module_name& name, const Configuration& config) } else SC_REPORT_FATAL("Controller", "Selected refresh mode not supported!"); - - idleTimeCollector.start(); -} - -void Controller::end_of_simulation() -{ - idleTimeCollector.end(); } void Controller::controllerMethod() diff --git a/DRAMSys/library/src/controller/Controller.h b/DRAMSys/library/src/controller/Controller.h index 9e5a8fe6..12a9a879 100644 --- a/DRAMSys/library/src/controller/Controller.h +++ b/DRAMSys/library/src/controller/Controller.h @@ -65,8 +65,6 @@ protected: virtual void sendToFrontend(tlm::tlm_generic_payload& trans, tlm::tlm_phase& phase, sc_core::sc_time& delay); virtual void sendToDram(Command, tlm::tlm_generic_payload& trans, sc_core::sc_time& delay); - void end_of_simulation() override; - virtual void controllerMethod(); std::unique_ptr scheduler; diff --git a/DRAMSys/library/src/controller/ControllerIF.h b/DRAMSys/library/src/controller/ControllerIF.h index eedf4834..6964c1f5 100644 --- a/DRAMSys/library/src/controller/ControllerIF.h +++ b/DRAMSys/library/src/controller/ControllerIF.h @@ -56,6 +56,8 @@ public: void end_of_simulation() override { + idleTimeCollector.end(); + sc_core::sc_time activeTime = static_cast(numberOfBeatsServed) / memSpec.dataRate * memSpec.tCK @@ -109,6 +111,8 @@ protected: tSocket.register_nb_transport_fw(this, &ControllerIF::nb_transport_fw); tSocket.register_transport_dbg(this, &ControllerIF::transport_dbg); iSocket.register_nb_transport_bw(this, &ControllerIF::nb_transport_bw); + + idleTimeCollector.start(); } SC_HAS_PROCESS(ControllerIF);