Remove masked write checks for HBM3.
This commit is contained in:
@@ -153,9 +153,9 @@ sc_time MemSpecHBM3::getExecutionTime(Command command, const tlm_generic_payload
|
|||||||
return tRL + tDQSCK + burstDuration;
|
return tRL + tDQSCK + burstDuration;
|
||||||
else if (command == Command::RDA)
|
else if (command == Command::RDA)
|
||||||
return tRTP + tRP;
|
return tRTP + tRP;
|
||||||
else if (command == Command::WR || command == Command::MWR)
|
else if (command == Command::WR)
|
||||||
return tWL + burstDuration;
|
return tWL + burstDuration;
|
||||||
else if (command == Command::WRA || command == Command::MWRA)
|
else if (command == Command::WRA)
|
||||||
return tWL + burstDuration + tWR + tRP;
|
return tWL + burstDuration + tWR + tRP;
|
||||||
else if (command == Command::REFAB || command == Command::RFMAB)
|
else if (command == Command::REFAB || command == Command::RFMAB)
|
||||||
return tRFC;
|
return tRFC;
|
||||||
@@ -173,7 +173,7 @@ TimeInterval MemSpecHBM3::getIntervalOnDataStrobe(Command command, const tlm_gen
|
|||||||
{
|
{
|
||||||
if (command == Command::RD || command == Command::RDA)
|
if (command == Command::RD || command == Command::RDA)
|
||||||
return {tRL + tDQSCK, tRL + tDQSCK + burstDuration};
|
return {tRL + tDQSCK, tRL + tDQSCK + burstDuration};
|
||||||
else if (command == Command::WR || command == Command::WRA || command == Command::MWR || command == Command::MWRA)
|
else if (command == Command::WR || command == Command::WRA)
|
||||||
return {tWL, tWL + burstDuration};
|
return {tWL, tWL + burstDuration};
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ sc_time CheckerHBM3::timeToSatisfyConstraints(Command command, const tlm_generic
|
|||||||
if (lastCommandOnCasBus != scMaxTime)
|
if (lastCommandOnCasBus != scMaxTime)
|
||||||
earliestTimeToStart = std::max(earliestTimeToStart, lastCommandOnCasBus + memSpec->tCK);
|
earliestTimeToStart = std::max(earliestTimeToStart, lastCommandOnCasBus + memSpec->tCK);
|
||||||
}
|
}
|
||||||
else if (command == Command::WR || command == Command::MWR)
|
else if (command == Command::WR)
|
||||||
{
|
{
|
||||||
lastCommandStart = lastScheduledByCommandAndBank[Command::ACT][bank];
|
lastCommandStart = lastScheduledByCommandAndBank[Command::ACT][bank];
|
||||||
if (lastCommandStart != scMaxTime)
|
if (lastCommandStart != scMaxTime)
|
||||||
@@ -242,7 +242,7 @@ sc_time CheckerHBM3::timeToSatisfyConstraints(Command command, const tlm_generic
|
|||||||
if (lastCommandOnCasBus != scMaxTime)
|
if (lastCommandOnCasBus != scMaxTime)
|
||||||
earliestTimeToStart = std::max(earliestTimeToStart, lastCommandOnCasBus + memSpec->tCK);
|
earliestTimeToStart = std::max(earliestTimeToStart, lastCommandOnCasBus + memSpec->tCK);
|
||||||
}
|
}
|
||||||
else if (command == Command::WRA || command == Command::MWRA)
|
else if (command == Command::WRA)
|
||||||
{
|
{
|
||||||
lastCommandStart = lastScheduledByCommandAndBank[Command::ACT][bank];
|
lastCommandStart = lastScheduledByCommandAndBank[Command::ACT][bank];
|
||||||
if (lastCommandStart != scMaxTime)
|
if (lastCommandStart != scMaxTime)
|
||||||
@@ -733,12 +733,6 @@ void CheckerHBM3::insert(Command command, const tlm_generic_payload &payload)
|
|||||||
BankGroup bankGroup = ControllerExtension::getBankGroup(payload);
|
BankGroup bankGroup = ControllerExtension::getBankGroup(payload);
|
||||||
Bank bank = ControllerExtension::getBank(payload);
|
Bank bank = ControllerExtension::getBank(payload);
|
||||||
|
|
||||||
// Hack: Convert MWR to WR and MWRA to WRA
|
|
||||||
if (command == Command::MWR)
|
|
||||||
command = Command::WR;
|
|
||||||
else if (command == Command::MWRA)
|
|
||||||
command = Command::WRA;
|
|
||||||
|
|
||||||
PRINTDEBUGMESSAGE("CheckerHBM3", "Changing state on bank " + std::to_string(static_cast<std::size_t>(bank))
|
PRINTDEBUGMESSAGE("CheckerHBM3", "Changing state on bank " + std::to_string(static_cast<std::size_t>(bank))
|
||||||
+ " command is " + command.toString());
|
+ " command is " + command.toString());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user