diff --git a/DRAMSys/simulator/src/controller/core/ControllerCore.cpp b/DRAMSys/simulator/src/controller/core/ControllerCore.cpp index e8c079f5..a892ab43 100644 --- a/DRAMSys/simulator/src/controller/core/ControllerCore.cpp +++ b/DRAMSys/simulator/src/controller/core/ControllerCore.cpp @@ -78,29 +78,31 @@ ControllerCore::ControllerCore(sc_module_name /*name*/, IController& wrapperConn if (config.BankwiseLogic) { - refreshManager = new RefreshManagerBankwise("refManagerBw", *this); - powerDownManager = new PowerDownManagerBankwise("pdnManagerBw", *this); + refreshManager = new RefreshManagerBankwise("refManagerBw", *this); } else { - refreshManager = new RefreshManager("refManager", *this); + refreshManager = new RefreshManager("refManager", *this); + } - if(config.PowerDownMode == EPowerDownMode::Staggered) - { - powerDownManager = new PowerDownManager("pdnManager", *this); - } - else if(config.PowerDownMode == EPowerDownMode::TimeoutPDN || config.PowerDownMode == EPowerDownMode::TimeoutSREF) - { - powerDownManager = new PowerDownManagerTimeout("pdnManagerTout", *this); - } - else if(config.PowerDownMode == EPowerDownMode::NoPowerDown) - { - powerDownManager = new NoPowerDown(); - } + if(config.PowerDownMode == EPowerDownMode::Staggered) + { + if (config.BankwiseLogic) + powerDownManager = new PowerDownManagerBankwise("pdnManagerBw", *this); else - { - SC_REPORT_FATAL(0, "Unsupported powerdown mode in constructor of controller core"); - } + powerDownManager = new PowerDownManager("pdnManager", *this); + } + else if(config.PowerDownMode == EPowerDownMode::TimeoutPDN || config.PowerDownMode == EPowerDownMode::TimeoutSREF) + { + powerDownManager = new PowerDownManagerTimeout("pdnManagerTout", *this); + } + else if(config.PowerDownMode == EPowerDownMode::NoPowerDown) + { + powerDownManager = new NoPowerDown(); + } + else + { + SC_REPORT_FATAL(0, "Unsupported powerdown mode in constructor of controller core"); } } diff --git a/DRAMSys/simulator/src/controller/core/scheduling/checker/RefreshChecker.cpp b/DRAMSys/simulator/src/controller/core/scheduling/checker/RefreshChecker.cpp index 3978253e..0fec86e2 100644 --- a/DRAMSys/simulator/src/controller/core/scheduling/checker/RefreshChecker.cpp +++ b/DRAMSys/simulator/src/controller/core/scheduling/checker/RefreshChecker.cpp @@ -57,17 +57,16 @@ void RefreshChecker::delayToSatisfyConstraints(ScheduledCommand& command) const } else if (lastCommandOnBank.getCommand() == Command::WriteA) { - command.establishMinDistanceFromStart(lastCommandOnBank.getStart(), - config.memSpec.tWL + getWriteAccessTime() + config.memSpec.tWR + config.memSpec.tRP); + command.establishMinDistanceFromStart(lastCommandOnBank.getStart(), config.memSpec.tWL + getWriteAccessTime() + config.memSpec.tWR + config.memSpec.tRP); } else if (lastCommandOnBank.getCommand() == Command::PDNPX || lastCommandOnBank.getCommand() == Command::PDNAX) { command.establishMinDistanceFromStart(lastCommandOnBank.getStart(), config.memSpec.tXP); } else if (lastCommandOnBank.getCommand() == Command::SREFX) - { - command.establishMinDistanceFromStart(lastCommandOnBank.getStart(), config.memSpec.tXSR); - } + { + command.establishMinDistanceFromStart(lastCommandOnBank.getStart(), config.memSpec.tXSR); + } else if (lastCommandOnBank.getCommand() == Command::AutoRefresh) { }