Simplified PDM.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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<Command, tlm_generic_payload *> getNextCommand() override;
|
||||
|
||||
@@ -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<Command, tlm_generic_payload *> getNextCommand() = 0;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Command, tlm_generic_payload *> getNextCommand() override;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -166,7 +166,6 @@ void RefreshManagerRankwise::updateState(Command command, tlm_generic_payload *)
|
||||
{
|
||||
state = RmState::Regular;
|
||||
timeForNextTrigger += memSpec->getRefreshIntervalAB();
|
||||
powerDownManager->triggerEntry(TriggerSource::RefreshManager);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user