Fix bug in same-bank RFM.
This commit is contained in:
@@ -6,8 +6,8 @@
|
||||
"RequestBufferSize": 8,
|
||||
"CmdMux": "Oldest",
|
||||
"RespQueue": "Fifo",
|
||||
"RefreshPolicy": "AllBank",
|
||||
"RefreshMaxPostponed": 0,
|
||||
"RefreshPolicy": "SameBank",
|
||||
"RefreshMaxPostponed": 4,
|
||||
"RefreshMaxPulledin": 0,
|
||||
"PowerDownPolicy": "NoPowerDown",
|
||||
"Arbiter": "Simple",
|
||||
|
||||
@@ -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())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user