From 6bdcc6beb8ce5aaeb4f001b1f02e73a37a7c80e8 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Fri, 27 Aug 2021 11:25:11 +0200 Subject: [PATCH] Introduced Refresh Mangement (RFM) in Configuration --- .../configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-3200A.json | 5 ++++- .../configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-3600A.json | 5 ++++- .../configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4000A.json | 5 ++++- .../configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4400A.json | 5 ++++- .../configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4800A.json | 5 ++++- .../configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-5200A.json | 5 ++++- .../configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-5600A.json | 5 ++++- .../configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-6000A.json | 5 ++++- .../configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-6400A.json | 5 ++++- .../configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-3200A.json | 5 ++++- .../configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-3600A.json | 5 ++++- .../configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4000A.json | 5 ++++- .../configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4400A.json | 5 ++++- .../configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4800A.json | 5 ++++- .../configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-5200A.json | 5 ++++- .../configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-5600A.json | 5 ++++- .../configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-6000A.json | 5 ++++- .../configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-6400A.json | 5 ++++- .../configs/memspecs/JEDEC_2x8x8x2Gbx4_DDR5-3200A.json | 5 ++++- DRAMSys/library/src/configuration/memspec/MemSpecDDR5.cpp | 3 +++ DRAMSys/library/src/configuration/memspec/MemSpecDDR5.h | 3 +++ 21 files changed, 82 insertions(+), 19 deletions(-) diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-3200A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-3200A.json index 75172a46..9c1bb44f 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-3200A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-3200A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 4, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x4x1Gbx8_DDR5-3200A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-3600A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-3600A.json index e35d934f..5e3f692a 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-3600A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-3600A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 4, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x4x1Gbx8_DDR5-3600A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4000A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4000A.json index 484ba99f..fabd8538 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4000A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4000A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 4, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x4x1Gbx8_DDR5-4000A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4400A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4400A.json index 43b961e5..42432424 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4400A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4400A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 4, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x4x1Gbx8_DDR5-4400A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4800A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4800A.json index eb4a3b8c..87e6d2a2 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4800A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-4800A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 4, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x4x1Gbx8_DDR5-4800A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-5200A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-5200A.json index 030f4e43..21678fce 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-5200A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-5200A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 4, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x4x1Gbx8_DDR5-5200A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-5600A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-5600A.json index 8de5c0f9..60ea81f7 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-5600A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-5600A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 4, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x4x1Gbx8_DDR5-5600A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-6000A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-6000A.json index 0bf780ec..89187d4e 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-6000A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-6000A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 4, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x4x1Gbx8_DDR5-6000A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-6400A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-6400A.json index 70d03828..37725509 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-6400A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x4x1Gbx8_DDR5-6400A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 4, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x4x1Gbx8_DDR5-6400A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-3200A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-3200A.json index 635cc6cf..7e34df87 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-3200A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-3200A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 8, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x8x2Gbx4_DDR5-3200A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-3600A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-3600A.json index ac39be46..ab55b956 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-3600A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-3600A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 8, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x8x2Gbx4_DDR5-3600A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4000A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4000A.json index 9887512d..85b9b2f8 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4000A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4000A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 8, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x8x2Gbx4_DDR5-4000A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4400A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4400A.json index 6adb2a87..892465a3 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4400A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4400A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 8, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x8x2Gbx4_DDR5-4400A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4800A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4800A.json index 6215400d..65d854e3 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4800A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-4800A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 8, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x8x2Gbx4_DDR5-4800A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-5200A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-5200A.json index 48d99a38..0487f3ed 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-5200A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-5200A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 8, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x8x2Gbx4_DDR5-5200A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-5600A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-5600A.json index 0a46d8ed..b16b91fc 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-5600A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-5600A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 8, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x8x2Gbx4_DDR5-5600A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-6000A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-6000A.json index ba5c81eb..00825329 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-6000A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-6000A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 8, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x8x2Gbx4_DDR5-6000A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-6400A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-6400A.json index ea3ec632..6bcd58ca 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-6400A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x2Gbx4_DDR5-6400A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 8, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x8x2Gbx4_DDR5-6400A", "memoryType": "DDR5", diff --git a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x8x2Gbx4_DDR5-3200A.json b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x8x2Gbx4_DDR5-3200A.json index fbbe90fe..7a744c2a 100644 --- a/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x8x2Gbx4_DDR5-3200A.json +++ b/DRAMSys/library/resources/configs/memspecs/JEDEC_2x8x8x2Gbx4_DDR5-3200A.json @@ -15,7 +15,10 @@ "nbrOfDevicesOnDIMM": 8, "nbrOfChannels": 2, "cmdMode": 1, - "refMode": 1 + "refMode": 1, + "RFM" : 0, + "RAAIMT" : 0, + "RAAMMT" : 0 }, "memoryId": "JEDEC_2x8x8x8Gbx4_DDR5-3200A_4bit", "memoryType": "DDR5", diff --git a/DRAMSys/library/src/configuration/memspec/MemSpecDDR5.cpp b/DRAMSys/library/src/configuration/memspec/MemSpecDDR5.cpp index 4ddf7f33..4729f338 100644 --- a/DRAMSys/library/src/configuration/memspec/MemSpecDDR5.cpp +++ b/DRAMSys/library/src/configuration/memspec/MemSpecDDR5.cpp @@ -62,6 +62,9 @@ MemSpecDDR5::MemSpecDDR5(json &memspec) numberOfLogicalRanks(logicalRanksPerPhysicalRank * numberOfPhysicalRanks), cmdMode(parseUint(memspec["memarchitecturespec"]["cmdMode"], "cmdMode")), refMode(parseUint(memspec["memarchitecturespec"]["refMode"], "refMode")), + RFM(parseUint(memspec["memarchitecturespec"]["RFM"], "RFM")), + RAAIMT(parseUint(memspec["memarchitecturespec"]["RAAIMT"], "RAAIMT")), + RAAMMT(parseUint(memspec["memarchitecturespec"]["RAAMMT"], "RAAMMT")), tRCD (tCK * parseUint(memspec["memtimingspec"]["RCD"], "RCD")), tPPD (tCK * parseUint(memspec["memtimingspec"]["PPD"], "PPD")), tRP (tCK * parseUint(memspec["memtimingspec"]["RP"], "RP")), diff --git a/DRAMSys/library/src/configuration/memspec/MemSpecDDR5.h b/DRAMSys/library/src/configuration/memspec/MemSpecDDR5.h index f6daa0a0..b970e96f 100644 --- a/DRAMSys/library/src/configuration/memspec/MemSpecDDR5.h +++ b/DRAMSys/library/src/configuration/memspec/MemSpecDDR5.h @@ -52,6 +52,9 @@ public: const unsigned numberOfLogicalRanks; const unsigned cmdMode; const unsigned refMode; + const unsigned RFM; + const unsigned RAAIMT; + const unsigned RAAMMT; // Memspec Variables: const sc_core::sc_time tRCD;