From a5343a9da28fa2a942a2cd96cd2c99f010fdc1c0 Mon Sep 17 00:00:00 2001 From: Lukas Steiner Date: Thu, 2 Apr 2020 10:47:12 +0200 Subject: [PATCH] Simplified PDM. --- DRAMSys/library/src/controller/Controller.cpp | 4 ++-- .../src/controller/powerdown/PowerDownManagerDummy.h | 2 +- .../library/src/controller/powerdown/PowerDownManagerIF.h | 2 +- .../controller/powerdown/PowerDownManagerStaggered.cpp | 8 ++------ .../src/controller/powerdown/PowerDownManagerStaggered.h | 2 +- .../src/controller/refresh/RefreshManagerBankwise.cpp | 1 - .../src/controller/refresh/RefreshManagerRankwise.cpp | 1 - 7 files changed, 7 insertions(+), 13 deletions(-) diff --git a/DRAMSys/library/src/controller/Controller.cpp b/DRAMSys/library/src/controller/Controller.cpp index 6ab312c4..1498c688 100644 --- a/DRAMSys/library/src/controller/Controller.cpp +++ b/DRAMSys/library/src/controller/Controller.cpp @@ -297,9 +297,9 @@ void Controller::controllerMethod() dataResponseEvent.notify(triggerTime - sc_time_stamp()); ranksNumberOfPayloads[rank.ID()]--; - if (ranksNumberOfPayloads[rank.ID()] == 0) - powerDownManagers[rank.ID()]->triggerEntry(TriggerSource::Controller); } + if (ranksNumberOfPayloads[rank.ID()] == 0) + powerDownManagers[rank.ID()]->triggerEntry(); sendToDram(commandPair.first, commandPair.second); } diff --git a/DRAMSys/library/src/controller/powerdown/PowerDownManagerDummy.h b/DRAMSys/library/src/controller/powerdown/PowerDownManagerDummy.h index 8aef3f54..d5fa9ef3 100644 --- a/DRAMSys/library/src/controller/powerdown/PowerDownManagerDummy.h +++ b/DRAMSys/library/src/controller/powerdown/PowerDownManagerDummy.h @@ -44,7 +44,7 @@ class PowerDownManagerDummy final : public PowerDownManagerIF public: PowerDownManagerDummy() {} - virtual void triggerEntry(TriggerSource) override {} + virtual void triggerEntry() override {} virtual void triggerExit(TriggerSource) override {} virtual std::pair getNextCommand() override; diff --git a/DRAMSys/library/src/controller/powerdown/PowerDownManagerIF.h b/DRAMSys/library/src/controller/powerdown/PowerDownManagerIF.h index d6a12ac4..05e3ca6b 100644 --- a/DRAMSys/library/src/controller/powerdown/PowerDownManagerIF.h +++ b/DRAMSys/library/src/controller/powerdown/PowerDownManagerIF.h @@ -49,7 +49,7 @@ class PowerDownManagerIF public: virtual ~PowerDownManagerIF() {} - virtual void triggerEntry(TriggerSource) = 0; + virtual void triggerEntry() = 0; virtual void triggerExit(TriggerSource) = 0; virtual std::pair getNextCommand() = 0; diff --git a/DRAMSys/library/src/controller/powerdown/PowerDownManagerStaggered.cpp b/DRAMSys/library/src/controller/powerdown/PowerDownManagerStaggered.cpp index bc8d676f..b0ebea5c 100644 --- a/DRAMSys/library/src/controller/powerdown/PowerDownManagerStaggered.cpp +++ b/DRAMSys/library/src/controller/powerdown/PowerDownManagerStaggered.cpp @@ -41,13 +41,9 @@ PowerDownManagerStaggered::PowerDownManagerStaggered(Rank rank, CheckerIF *check setUpDummy(powerDownPayload, rank); } -void PowerDownManagerStaggered::triggerEntry(TriggerSource source) +void PowerDownManagerStaggered::triggerEntry() { - if (source == TriggerSource::Controller) - controllerIdle = true; - - // TODO: check if state is always idle here - if (state == PdmState::Idle && controllerIdle) + if (state == PdmState::Idle) triggered = true; } diff --git a/DRAMSys/library/src/controller/powerdown/PowerDownManagerStaggered.h b/DRAMSys/library/src/controller/powerdown/PowerDownManagerStaggered.h index 3ae9a7f1..7d12961d 100644 --- a/DRAMSys/library/src/controller/powerdown/PowerDownManagerStaggered.h +++ b/DRAMSys/library/src/controller/powerdown/PowerDownManagerStaggered.h @@ -46,7 +46,7 @@ class PowerDownManagerStaggered final : public PowerDownManagerIF public: PowerDownManagerStaggered(Rank, CheckerIF *); - virtual void triggerEntry(TriggerSource) override; + virtual void triggerEntry() override; virtual void triggerExit(TriggerSource) override; virtual std::pair getNextCommand() override; diff --git a/DRAMSys/library/src/controller/refresh/RefreshManagerBankwise.cpp b/DRAMSys/library/src/controller/refresh/RefreshManagerBankwise.cpp index fa9c147d..3e4271d0 100644 --- a/DRAMSys/library/src/controller/refresh/RefreshManagerBankwise.cpp +++ b/DRAMSys/library/src/controller/refresh/RefreshManagerBankwise.cpp @@ -171,7 +171,6 @@ void RefreshManagerBankwise::updateState(Command command, tlm_generic_payload *p { state = RmState::Regular; timeForNextTrigger += memSpec->getRefreshIntervalPB(); - powerDownManager->triggerEntry(TriggerSource::RefreshManager); } } else if (command == Command::REFA) diff --git a/DRAMSys/library/src/controller/refresh/RefreshManagerRankwise.cpp b/DRAMSys/library/src/controller/refresh/RefreshManagerRankwise.cpp index 7ce3e2a3..a5f704d0 100644 --- a/DRAMSys/library/src/controller/refresh/RefreshManagerRankwise.cpp +++ b/DRAMSys/library/src/controller/refresh/RefreshManagerRankwise.cpp @@ -166,7 +166,6 @@ void RefreshManagerRankwise::updateState(Command command, tlm_generic_payload *) { state = RmState::Regular; timeForNextTrigger += memSpec->getRefreshIntervalAB(); - powerDownManager->triggerEntry(TriggerSource::RefreshManager); } } }