Small bugfixes in controller and HBM2 checker.

This commit is contained in:
Lukas Steiner
2019-11-30 00:13:08 +01:00
parent ccfe1f45af
commit 5111973983
2 changed files with 4 additions and 6 deletions

View File

@@ -362,7 +362,7 @@ tlm_sync_enum Controller::nb_transport_bw(tlm_generic_payload &trans,
ranksNumberOfPayloads[rank.ID()]--;
if (ranksNumberOfPayloads[rank.ID()] == 0)
{
refreshManagers[rank.ID()]->messageIdle();
refreshManagers[rank.ID()]->notifyIdle();
powerDownManagers[rank.ID()]->triggerEntry(TriggerSource::Controller);
}
@@ -404,7 +404,7 @@ void Controller::acquirePayload()
if(ranksNumberOfPayloads[rank.ID()] == 0)
{
refreshManagers[rank.ID()]->messageActive();
refreshManagers[rank.ID()]->notifyActive();
powerDownManagers[rank.ID()]->triggerExit(TriggerSource::Controller);
}
ranksNumberOfPayloads[rank.ID()]++;

View File

@@ -167,13 +167,11 @@ sc_time CheckerHBM2::delayToSatisfyConstraints(Command command, Rank rank, BankG
lastCommandStart = lastScheduledByCommand[Command::RD];
if (lastCommandStart != SC_ZERO_TIME)
earliestTimeToStart = std::max(earliestTimeToStart, lastCommandStart
+ memSpec->tRL + burstClocks + memSpec->tRTW);
earliestTimeToStart = std::max(earliestTimeToStart, lastCommandStart + memSpec->tRTW);
lastCommandStart = lastScheduledByCommand[Command::RDA];
if (lastCommandStart != SC_ZERO_TIME)
earliestTimeToStart = std::max(earliestTimeToStart, lastCommandStart
+ memSpec->tRL + burstClocks + memSpec->tRTW);
earliestTimeToStart = std::max(earliestTimeToStart, lastCommandStart + memSpec->tRTW);
lastCommandStart = lastScheduledByCommandAndBankGroup[Command::WR][bankgroup.ID()];
if (lastCommandStart != SC_ZERO_TIME)