Rename methods to evaluate and update.

This commit is contained in:
Lukas Steiner
2023-04-12 16:47:26 +02:00
parent daecc19252
commit 088621880c
19 changed files with 55 additions and 55 deletions

View File

@@ -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;

View File

@@ -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

View File

@@ -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();
}
}

View File

@@ -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();
}

View File

@@ -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

View File

@@ -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

View File

@@ -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)
{

View File

@@ -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;

View File

@@ -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)
{

View File

@@ -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;

View File

@@ -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();
}

View File

@@ -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

View File

@@ -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,

View File

@@ -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)
{

View File

@@ -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;

View File

@@ -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)
{

View File

@@ -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;

View File

@@ -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)
{

View File

@@ -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;