Rename methods to evaluate and update.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user