diff --git a/src/libdramsys/DRAMSys/controller/BankMachine.cpp b/src/libdramsys/DRAMSys/controller/BankMachine.cpp index 9f7cabcd..a16f8af9 100644 --- a/src/libdramsys/DRAMSys/controller/BankMachine.cpp +++ b/src/libdramsys/DRAMSys/controller/BankMachine.cpp @@ -52,7 +52,7 @@ CommandTuple::Type BankMachine::getNextCommand() return {nextCommand, currentPayload, std::max(timeToSchedule, sc_time_stamp())}; } -void BankMachine::updateState(Command command) +void BankMachine::update(Command command) { switch (command) { @@ -164,7 +164,7 @@ BankMachineOpen::BankMachineOpen(const Configuration& config, const SchedulerIF& Bank bank) : BankMachine(config, scheduler, checker, bank) {} -sc_time BankMachineOpen::start() +sc_time BankMachineOpen::evaluate() { timeToSchedule = sc_max_time(); nextCommand = Command::NOP; @@ -216,7 +216,7 @@ BankMachineClosed::BankMachineClosed(const Configuration& config, const Schedule const CheckerIF& checker, Bank bank) : BankMachine(config, scheduler, checker, bank) {} -sc_time BankMachineClosed::start() +sc_time BankMachineClosed::evaluate() { timeToSchedule = sc_max_time(); nextCommand = Command::NOP; @@ -263,7 +263,7 @@ BankMachineOpenAdaptive::BankMachineOpenAdaptive(const Configuration& config, co const CheckerIF& checker, Bank bank) : BankMachine(config, scheduler, checker, bank) {} -sc_time BankMachineOpenAdaptive::start() +sc_time BankMachineOpenAdaptive::evaluate() { timeToSchedule = sc_max_time(); nextCommand = Command::NOP; @@ -327,7 +327,7 @@ BankMachineClosedAdaptive::BankMachineClosedAdaptive(const Configuration& config const CheckerIF& checker, Bank bank) : BankMachine(config, scheduler, checker, bank) {} -sc_time BankMachineClosedAdaptive::start() +sc_time BankMachineClosedAdaptive::evaluate() { timeToSchedule = sc_max_time(); nextCommand = Command::NOP; diff --git a/src/libdramsys/DRAMSys/controller/BankMachine.h b/src/libdramsys/DRAMSys/controller/BankMachine.h index 820d0919..5c2a9fd9 100644 --- a/src/libdramsys/DRAMSys/controller/BankMachine.h +++ b/src/libdramsys/DRAMSys/controller/BankMachine.h @@ -49,9 +49,9 @@ class BankMachine { public: virtual ~BankMachine() = default; - virtual sc_core::sc_time start() = 0; + virtual sc_core::sc_time evaluate() = 0; CommandTuple::Type getNextCommand(); - void updateState(Command); + void update(Command); void block(); [[nodiscard]] Rank getRank() const; @@ -87,14 +87,14 @@ class BankMachineOpen final : public BankMachine { public: BankMachineOpen(const Configuration& config, const SchedulerIF& scheduler, const CheckerIF& checker, Bank bank); - sc_core::sc_time start() override; + sc_core::sc_time evaluate() override; }; class BankMachineClosed final : public BankMachine { public: BankMachineClosed(const Configuration& config, const SchedulerIF& scheduler, const CheckerIF& checker, Bank bank); - sc_core::sc_time start() override; + sc_core::sc_time evaluate() override; }; class BankMachineOpenAdaptive final : public BankMachine @@ -102,7 +102,7 @@ class BankMachineOpenAdaptive final : public BankMachine public: BankMachineOpenAdaptive(const Configuration& config, const SchedulerIF& scheduler, const CheckerIF& checker, Bank bank); - sc_core::sc_time start() override; + sc_core::sc_time evaluate() override; }; class BankMachineClosedAdaptive final : public BankMachine @@ -110,7 +110,7 @@ class BankMachineClosedAdaptive final : public BankMachine public: BankMachineClosedAdaptive(const Configuration& config, const SchedulerIF& scheduler, const CheckerIF& checker, Bank bank); - sc_core::sc_time start() override; + sc_core::sc_time evaluate() override; }; #endif // BANKMACHINE_H diff --git a/src/libdramsys/DRAMSys/controller/Controller.cpp b/src/libdramsys/DRAMSys/controller/Controller.cpp index a1262417..2865a750 100644 --- a/src/libdramsys/DRAMSys/controller/Controller.cpp +++ b/src/libdramsys/DRAMSys/controller/Controller.cpp @@ -265,9 +265,9 @@ void Controller::controllerMethod() // (3) Start refresh and power-down managers to issue requests for the current time for (auto& it : refreshManagers) - it->start(); + it->evaluate(); for (auto& it : powerDownManagers) - it->start(); + it->evaluate(); // (4) Collect all ready commands from BMs, RMs and PDMs CommandTuple::Type commandTuple; @@ -312,24 +312,24 @@ void Controller::controllerMethod() if (command.isRankCommand()) { for (auto it : bankMachinesOnRank[rank.ID()]) - it->updateState(command); + it->update(command); } else if (command.isGroupCommand()) { for (unsigned bankID = (bank.ID() % memSpec.banksPerGroup); bankID < memSpec.banksPerRank; bankID += memSpec.banksPerGroup) - bankMachinesOnRank[rank.ID()][bankID]->updateState(command); + bankMachinesOnRank[rank.ID()][bankID]->update(command); } else if (command.is2BankCommand()) { - bankMachines[bank.ID()]->updateState(command); - bankMachines[bank.ID() + memSpec.getPer2BankOffset()]->updateState(command); + bankMachines[bank.ID()]->update(command); + bankMachines[bank.ID() + memSpec.getPer2BankOffset()]->update(command); } else // if (isBankCommand(command)) - bankMachines[bank.ID()]->updateState(command); + bankMachines[bank.ID()]->update(command); - refreshManagers[rank.ID()]->updateState(command); - powerDownManagers[rank.ID()]->updateState(command); + refreshManagers[rank.ID()]->update(command); + powerDownManagers[rank.ID()]->update(command); checker->insert(command, *trans); if (command.isCasCommand()) @@ -363,19 +363,19 @@ void Controller::controllerMethod() sc_time localTime; for (auto& it : bankMachines) { - localTime = it->start(); + localTime = it->evaluate(); if (!(localTime == sc_time_stamp() && readyCmdBlocked)) timeForNextTrigger = std::min(timeForNextTrigger, localTime); } for (auto& it : refreshManagers) { - localTime = it->start(); + localTime = it->evaluate(); if (!(localTime == sc_time_stamp() && readyCmdBlocked)) timeForNextTrigger = std::min(timeForNextTrigger, localTime); } for (auto& it : powerDownManagers) { - localTime = it->start(); + localTime = it->evaluate(); if (!(localTime == sc_time_stamp() && readyCmdBlocked)) timeForNextTrigger = std::min(timeForNextTrigger, localTime); } @@ -459,7 +459,7 @@ void Controller::manageRequests(const sc_time& delay) scheduler->storeRequest(*transToAcquire.payload); Bank bank = Bank(decodedAddress.bank); - bankMachines[bank.ID()]->start(); + bankMachines[bank.ID()]->evaluate(); } else { @@ -475,7 +475,7 @@ void Controller::manageRequests(const sc_time& delay) scheduler->storeRequest(*childTrans); Bank bank = ControllerExtension::getBank(*childTrans); - bankMachines[bank.ID()]->start(); + bankMachines[bank.ID()]->evaluate(); } } diff --git a/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerDummy.cpp b/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerDummy.cpp index 120f9e39..57b77ed1 100644 --- a/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerDummy.cpp +++ b/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerDummy.cpp @@ -42,7 +42,7 @@ CommandTuple::Type PowerDownManagerDummy::getNextCommand() return {Command::NOP, nullptr, sc_max_time()}; } -sc_time PowerDownManagerDummy::start() +sc_time PowerDownManagerDummy::evaluate() { return sc_max_time(); } diff --git a/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerDummy.h b/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerDummy.h index 35e5e461..da1bc5d1 100644 --- a/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerDummy.h +++ b/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerDummy.h @@ -47,8 +47,8 @@ public: void triggerInterruption() override {} CommandTuple::Type getNextCommand() override; - void updateState(Command) override {} - sc_core::sc_time start() override; + void update(Command) override {} + sc_core::sc_time evaluate() override; }; #endif // POWERDOWNMANAGERDUMMY_H diff --git a/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerIF.h b/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerIF.h index c4d08e92..3f9fb6d7 100644 --- a/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerIF.h +++ b/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerIF.h @@ -49,8 +49,8 @@ public: virtual void triggerInterruption() = 0; virtual CommandTuple::Type getNextCommand() = 0; - virtual void updateState(Command) = 0; - virtual sc_core::sc_time start() = 0; + virtual void update(Command) = 0; + virtual sc_core::sc_time evaluate() = 0; }; #endif // POWERDOWNMANAGERIF_H diff --git a/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerStaggered.cpp b/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerStaggered.cpp index 16da02d8..167fa212 100644 --- a/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerStaggered.cpp +++ b/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerStaggered.cpp @@ -77,7 +77,7 @@ CommandTuple::Type PowerDownManagerStaggered::getNextCommand() return {nextCommand, &powerDownPayload, std::max(timeToSchedule, sc_time_stamp())}; } -sc_time PowerDownManagerStaggered::start() +sc_time PowerDownManagerStaggered::evaluate() { timeToSchedule = sc_max_time(); nextCommand = Command::NOP; @@ -118,7 +118,7 @@ sc_time PowerDownManagerStaggered::start() return timeToSchedule; } -void PowerDownManagerStaggered::updateState(Command command) +void PowerDownManagerStaggered::update(Command command) { switch (command) { diff --git a/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerStaggered.h b/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerStaggered.h index 2fcce6da..378bfd76 100644 --- a/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerStaggered.h +++ b/src/libdramsys/DRAMSys/controller/powerdown/PowerDownManagerStaggered.h @@ -54,8 +54,8 @@ public: void triggerInterruption() override; CommandTuple::Type getNextCommand() override; - void updateState(Command) override; - sc_core::sc_time start() override; + void update(Command) override; + sc_core::sc_time evaluate() override; private: enum class State {Idle, ActivePdn, PrechargePdn, SelfRefresh, ExtraRefresh} state = State::Idle; diff --git a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerAllBank.cpp b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerAllBank.cpp index f51fd319..a0d851f9 100644 --- a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerAllBank.cpp +++ b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerAllBank.cpp @@ -57,7 +57,7 @@ CommandTuple::Type RefreshManagerAllBank::getNextCommand() return {nextCommand, &refreshPayload, std::max(timeToSchedule, sc_time_stamp())}; } -sc_time RefreshManagerAllBank::start() +sc_time RefreshManagerAllBank::evaluate() { timeToSchedule = sc_max_time(); nextCommand = Command::NOP; @@ -176,7 +176,7 @@ sc_time RefreshManagerAllBank::start() return timeForNextTrigger; } -void RefreshManagerAllBank::updateState(Command command) +void RefreshManagerAllBank::update(Command command) { switch (command) { diff --git a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerAllBank.h b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerAllBank.h index 92ee1a00..d3a3a27d 100644 --- a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerAllBank.h +++ b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerAllBank.h @@ -54,8 +54,8 @@ public: PowerDownManagerIF& powerDownManager, Rank rank, const CheckerIF& checker); CommandTuple::Type getNextCommand() override; - sc_core::sc_time start() override; - void updateState(Command) override; + sc_core::sc_time evaluate() override; + void update(Command) override; private: enum class State {Regular, Pulledin} state = State::Regular; diff --git a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerDummy.cpp b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerDummy.cpp index 1ae997ce..283e5a69 100644 --- a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerDummy.cpp +++ b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerDummy.cpp @@ -42,7 +42,7 @@ CommandTuple::Type RefreshManagerDummy::getNextCommand() return {Command::NOP, nullptr, sc_max_time()}; } -sc_time RefreshManagerDummy::start() +sc_time RefreshManagerDummy::evaluate() { return sc_max_time(); } diff --git a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerDummy.h b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerDummy.h index 8fa857c0..d749a1fe 100644 --- a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerDummy.h +++ b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerDummy.h @@ -43,8 +43,8 @@ class RefreshManagerDummy final : public RefreshManagerIF { public: CommandTuple::Type getNextCommand() override; - sc_core::sc_time start() override; - void updateState(Command) override {} + sc_core::sc_time evaluate() override; + void update(Command) override {} }; #endif // REFRESHMANAGERDUMMY_H diff --git a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerIF.h b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerIF.h index 2a9eea72..de00b66e 100644 --- a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerIF.h +++ b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerIF.h @@ -48,8 +48,8 @@ public: virtual ~RefreshManagerIF() = default; virtual CommandTuple::Type getNextCommand() = 0; - virtual sc_core::sc_time start() = 0; - virtual void updateState(Command) = 0; + virtual sc_core::sc_time evaluate() = 0; + virtual void update(Command) = 0; protected: static sc_core::sc_time getTimeForFirstTrigger(const sc_core::sc_time& tCK, const sc_core::sc_time &refreshInterval, diff --git a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPer2Bank.cpp b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPer2Bank.cpp index 98d555b3..07905edd 100644 --- a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPer2Bank.cpp +++ b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPer2Bank.cpp @@ -75,7 +75,7 @@ CommandTuple::Type RefreshManagerPer2Bank::getNextCommand() return {nextCommand, currentRefreshPayload, std::max(timeToSchedule, sc_time_stamp())}; } -sc_time RefreshManagerPer2Bank::start() +sc_time RefreshManagerPer2Bank::evaluate() { timeToSchedule = sc_max_time(); nextCommand = Command::NOP; @@ -205,7 +205,7 @@ sc_time RefreshManagerPer2Bank::start() return timeForNextTrigger; } -void RefreshManagerPer2Bank::updateState(Command command) +void RefreshManagerPer2Bank::update(Command command) { switch (command) { diff --git a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPer2Bank.h b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPer2Bank.h index cf188ebf..2531b095 100644 --- a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPer2Bank.h +++ b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPer2Bank.h @@ -56,8 +56,8 @@ public: PowerDownManagerIF& powerDownManager, Rank rank, const CheckerIF& checker); CommandTuple::Type getNextCommand() override; - sc_core::sc_time start() override; - void updateState(Command) override; + sc_core::sc_time evaluate() override; + void update(Command) override; private: enum class State {Regular, Pulledin} state = State::Regular; diff --git a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPerBank.cpp b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPerBank.cpp index 6107e746..067ff0c7 100644 --- a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPerBank.cpp +++ b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPerBank.cpp @@ -63,7 +63,7 @@ CommandTuple::Type RefreshManagerPerBank::getNextCommand() return {nextCommand, &refreshPayloads.at(*currentIterator), std::max(timeToSchedule, sc_time_stamp())}; } -sc_time RefreshManagerPerBank::start() +sc_time RefreshManagerPerBank::evaluate() { timeToSchedule = sc_max_time(); nextCommand = Command::NOP; @@ -162,7 +162,7 @@ sc_time RefreshManagerPerBank::start() return timeForNextTrigger; } -void RefreshManagerPerBank::updateState(Command command) +void RefreshManagerPerBank::update(Command command) { switch (command) { diff --git a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPerBank.h b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPerBank.h index 98ad4634..3a105808 100644 --- a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPerBank.h +++ b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerPerBank.h @@ -56,8 +56,8 @@ public: PowerDownManagerIF& powerDownManager, Rank rank, const CheckerIF& checker); CommandTuple::Type getNextCommand() override; - sc_core::sc_time start() override; - void updateState(Command) override; + sc_core::sc_time evaluate() override; + void update(Command) override; private: enum class State {Regular, Pulledin} state = State::Regular; diff --git a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerSameBank.cpp b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerSameBank.cpp index 8b99f2bb..0fc011a9 100644 --- a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerSameBank.cpp +++ b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerSameBank.cpp @@ -82,7 +82,7 @@ CommandTuple::Type RefreshManagerSameBank::getNextCommand() std::max(timeToSchedule, sc_time_stamp())}; } -sc_time RefreshManagerSameBank::start() +sc_time RefreshManagerSameBank::evaluate() { timeToSchedule = sc_max_time(); nextCommand = Command::NOP; @@ -284,7 +284,7 @@ sc_time RefreshManagerSameBank::start() return timeForNextTrigger; } -void RefreshManagerSameBank::updateState(Command command) +void RefreshManagerSameBank::update(Command command) { switch (command) { diff --git a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerSameBank.h b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerSameBank.h index 00c790e3..3012a850 100644 --- a/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerSameBank.h +++ b/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerSameBank.h @@ -55,8 +55,8 @@ public: PowerDownManagerIF& powerDownManager, Rank rank, const CheckerIF& checker); CommandTuple::Type getNextCommand() override; - sc_core::sc_time start() override; - void updateState(Command) override; + sc_core::sc_time evaluate() override; + void update(Command) override; private: enum class State {Regular, Pulledin} state = State::Regular;