Use tCCDMW for masked write in LPDDR4

This commit is contained in:
2023-08-21 09:26:05 +02:00
parent b3937cf63a
commit b30df49d67
21 changed files with 31 additions and 0 deletions

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 4,
"CMDCKE": 3,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 4,
"CMDCKE": 3,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 6,
"CMDCKE": 3,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 9,
"CMDCKE": 3,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 10,
"CMDCKE": 3,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 12,
"CMDCKE": 3,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 15,
"CMDCKE": 4,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 17,
"CMDCKE": 4,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 4,
"CMDCKE": 3,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 4,
"CMDCKE": 3,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 6,
"CMDCKE": 3,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 9,
"CMDCKE": 3,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 10,
"CMDCKE": 3,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 12,
"CMDCKE": 3,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 15,
"CMDCKE": 4,
"DQS2DQ": 0,

View File

@@ -15,6 +15,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 17,
"CMDCKE": 4,
"DQS2DQ": 0,

View File

@@ -65,6 +65,7 @@
},
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 12,
"CMDCKE": 3,
"DQS2DQ": 2,

View File

@@ -72,6 +72,7 @@ MemSpecLPDDR4::MemSpecLPDDR4(const DRAMSys::Config::MemSpec &memSpec)
tFAW (tCK * memSpec.memtimingspec.entries.at("FAW")),
tRRD (tCK * memSpec.memtimingspec.entries.at("RRD")),
tCCD (tCK * memSpec.memtimingspec.entries.at("CCD")),
tCCDMW (tCK * memSpec.memtimingspec.entries.at("CCDMW")),
tRL (tCK * memSpec.memtimingspec.entries.at("RL")),
tRPST (tCK * memSpec.memtimingspec.entries.at("RPST")),
tDQSCK (tCK * memSpec.memtimingspec.entries.at("DQSCK")),

View File

@@ -65,6 +65,7 @@ public:
const sc_core::sc_time tFAW;
const sc_core::sc_time tRRD;
const sc_core::sc_time tCCD;
const sc_core::sc_time tCCDMW;
const sc_core::sc_time tRL;
const sc_core::sc_time tRPST;
const sc_core::sc_time tDQSCK;

View File

@@ -178,6 +178,17 @@ sc_time CheckerLPDDR4::timeToSatisfyConstraints(Command command, const tlm_gener
if (lastCommandStart != scMaxTime)
earliestTimeToStart = std::max(earliestTimeToStart, lastCommandStart + tBURST + memSpec->tRTRS);
if (command == Command::MWR || command == Command::MWRA)
{
lastCommandStart = lastScheduledByCommandAndBank[Command::WR][bank];
if (lastCommandStart != scMaxTime)
earliestTimeToStart = std::max(earliestTimeToStart, lastCommandStart + memSpec->tCCDMW);
lastCommandStart = lastScheduledByCommandAndBank[Command::WRA][bank];
if (lastCommandStart != scMaxTime)
earliestTimeToStart = std::max(earliestTimeToStart, lastCommandStart + memSpec->tCCDMW);
}
lastCommandStart = lastScheduledByCommandAndRank[Command::PDXA][rank];
if (lastCommandStart != scMaxTime)
earliestTimeToStart = std::max(earliestTimeToStart, lastCommandStart + memSpec->tXP);

View File

@@ -68,6 +68,7 @@
"memoryType": "LPDDR4",
"memtimingspec": {
"CCD": 8,
"CCDMW": 32,
"CKE": 12,
"CMDCKE": 3,
"DQS2DQ": 2,