Move to old bankwise refresh manager.
This commit is contained in:
@@ -301,10 +301,7 @@ void Controller::controllerMethod()
|
||||
sendToDram(std::get<0>(commandTuple), std::get<1>(commandTuple));
|
||||
}
|
||||
else
|
||||
{
|
||||
//std::cout << "Ready command blocked at " << sc_time_stamp() << std::endl;
|
||||
readyCmdBlocked = true;
|
||||
}
|
||||
}
|
||||
|
||||
// (6) Accept request from arbiter if scheduler is not full, otherwise backpressure (start END_REQ)
|
||||
|
||||
@@ -85,19 +85,23 @@ sc_time RefreshManagerBankwise::start()
|
||||
|
||||
if (state == RmState::Regular)
|
||||
{
|
||||
currentIterator = remainingBankMachines.begin();
|
||||
currentBankMachine = *remainingBankMachines.begin();
|
||||
bool forcedRefresh = (flexibilityCounter == maxPostponed);
|
||||
bool allBanksBusy = true;
|
||||
|
||||
for (auto it = remainingBankMachines.begin(); it != remainingBankMachines.end(); it++)
|
||||
if (!skipSelection)
|
||||
{
|
||||
if ((*it)->isIdle())
|
||||
currentIterator = remainingBankMachines.begin();
|
||||
currentBankMachine = *remainingBankMachines.begin();
|
||||
|
||||
for (auto it = remainingBankMachines.begin(); it != remainingBankMachines.end(); it++)
|
||||
{
|
||||
currentIterator = it;
|
||||
currentBankMachine = *it;
|
||||
allBanksBusy = false;
|
||||
break;
|
||||
if ((*it)->isIdle())
|
||||
{
|
||||
currentIterator = it;
|
||||
currentBankMachine = *it;
|
||||
allBanksBusy = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,8 +116,16 @@ sc_time RefreshManagerBankwise::start()
|
||||
if (currentBankMachine->getState() == BmState::Activated)
|
||||
nextCommand = Command::PRE;
|
||||
else
|
||||
{
|
||||
nextCommand = Command::REFB;
|
||||
|
||||
if (forcedRefresh)
|
||||
{
|
||||
currentBankMachine->block();
|
||||
skipSelection = true;
|
||||
}
|
||||
}
|
||||
|
||||
timeToSchedule = checker->timeToSatisfyConstraints(nextCommand, rank,
|
||||
currentBankMachine->getBankGroup(), currentBankMachine->getBank());
|
||||
return timeToSchedule;
|
||||
|
||||
@@ -74,6 +74,7 @@ private:
|
||||
int maxPulledin = 0;
|
||||
|
||||
bool sleeping = false;
|
||||
bool skipSelection = false;
|
||||
};
|
||||
|
||||
#endif // REFRESHMANAGERBANKWISE_H
|
||||
|
||||
Reference in New Issue
Block a user