Fix bug in same-bank RFM.

This commit is contained in:
Lukas Steiner
2021-09-08 16:25:53 +02:00
parent 0d6a7cf22c
commit 0ef35e3f1a
2 changed files with 9 additions and 9 deletions

View File

@@ -6,8 +6,8 @@
"RequestBufferSize": 8,
"CmdMux": "Oldest",
"RespQueue": "Fifo",
"RefreshPolicy": "AllBank",
"RefreshMaxPostponed": 0,
"RefreshPolicy": "SameBank",
"RefreshMaxPostponed": 4,
"RefreshMaxPulledin": 0,
"PowerDownPolicy": "NoPowerDown",
"Arbiter": "Simple",

View File

@@ -214,7 +214,7 @@ sc_time RefreshManagerSameBank::start()
for (auto bankIt = allBankMachines.begin(); bankIt != allBankMachines.end(); bankIt++)
{
for (auto groupIt: *bankIt)
for (auto groupIt : *bankIt)
{
if (groupIt->getRefreshManagementCounter() >= memSpec->getRAAMMT())
{
@@ -222,9 +222,9 @@ sc_time RefreshManagerSameBank::start()
currentIterator = bankIt;
break;
}
else if (groupIt->getRefreshManagementCounter() >= memSpec->getRAAMMT())
else if (groupIt->getRefreshManagementCounter() >= memSpec->getRAAIMT())
{
imtCandidates.emplace_back(currentIterator);
imtCandidates.emplace_back(bankIt);
}
}
}
@@ -232,7 +232,7 @@ sc_time RefreshManagerSameBank::start()
if (mmtReached)
{
nextCommand = Command::RFMSB;
for (auto groupIt: *currentIterator)
for (auto groupIt : *currentIterator)
{
groupIt->block();
if (groupIt->isActivated())
@@ -246,10 +246,10 @@ sc_time RefreshManagerSameBank::start()
{
// search for IMT candidates and check if all banks idle
bool allGroupsBusy = true;
for (auto candidateIt: imtCandidates)
for (auto candidateIt : imtCandidates)
{
bool groupIsBusy = false;
for (auto groupIt: *candidateIt)
for (auto groupIt : *candidateIt)
{
if (!groupIt->isIdle())
{
@@ -267,7 +267,7 @@ sc_time RefreshManagerSameBank::start()
if (!allGroupsBusy)
{
nextCommand = Command::RFMSB;
for (auto it: *currentIterator)
for (auto it : *currentIterator)
{
if (it->isActivated())
{