Fixed error in refresh manager and in backpressure release codepath

This commit is contained in:
Robert Gernhardt
2015-03-23 08:43:18 +01:00
parent fe8ff6242d
commit 5fcd57a4e2
6 changed files with 14 additions and 27 deletions

View File

@@ -51,14 +51,15 @@ void RefreshManager::scheduleRefresh(tlm::tlm_generic_payload& payload, sc_time
}
}
ScheduledCommand refreshAllMaster(Command::AutoRefresh, time, getExecutionTime(Command::AutoRefresh, refreshPayloads[Bank(0)]),
DramExtension::getExtension(refreshPayloads[Bank(0)]));
controllerCore.getCommandChecker(Command::AutoRefresh).delayToSatisfyConstraints(refreshAllMaster);
for (Bank bank : controllerCore.getBanks())
{
ScheduledCommand refresh(Command::AutoRefresh, time, getExecutionTime(Command::AutoRefresh, refreshPayloads[bank]),
DramExtension::getExtension(refreshPayloads[bank]));
controllerCore.getCommandChecker(Command::AutoRefresh).delayToSatisfyConstraints(refresh);
ScheduledCommand refresh(Command::AutoRefresh, refreshAllMaster.getStart(), refreshAllMaster.getExecutionTime(),refreshPayloads[bank]);
controllerCore.state.change(refresh);
controllerCore.controller.send(refresh, refreshPayloads[bank]);
DramExtension::getExtension(refreshPayloads[bank]).incrementRow();
}