From 65580e79f1a09c65814ebfd5239facfc454c375d Mon Sep 17 00:00:00 2001 From: Derek Christ Date: Wed, 22 Oct 2025 13:31:19 +0200 Subject: [PATCH] fix: incorrect memory size calculation for LP4/5 The numberOfDevices was not properly taken into account. --- .../LPDDR5/DRAMSys/configuration/memspec/MemSpecLPDDR5.cpp | 2 +- src/libdramsys/DRAMSys/configuration/memspec/MemSpecLPDDR4.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/standards/LPDDR5/DRAMSys/configuration/memspec/MemSpecLPDDR5.cpp b/extensions/standards/LPDDR5/DRAMSys/configuration/memspec/MemSpecLPDDR5.cpp index 4151050c..31cac2dd 100644 --- a/extensions/standards/LPDDR5/DRAMSys/configuration/memspec/MemSpecLPDDR5.cpp +++ b/extensions/standards/LPDDR5/DRAMSys/configuration/memspec/MemSpecLPDDR5.cpp @@ -114,7 +114,7 @@ MemSpecLPDDR5::MemSpecLPDDR5(const DRAMUtils::MemSpec::MemSpecLPDDR5& memSpec) : uint64_t deviceSizeBits = static_cast(banksPerRank) * rowsPerBank * columnsPerRow * bitWidth; uint64_t deviceSizeBytes = deviceSizeBits / 8; - memorySizeBytes = deviceSizeBytes * ranksPerChannel * numberOfChannels; + memorySizeBytes = deviceSizeBytes * devicesPerRank * ranksPerChannel * numberOfChannels; std::cout << headline << std::endl; std::cout << "Memory Configuration:" << std::endl << std::endl; diff --git a/src/libdramsys/DRAMSys/configuration/memspec/MemSpecLPDDR4.cpp b/src/libdramsys/DRAMSys/configuration/memspec/MemSpecLPDDR4.cpp index d0fe0d5f..b81289e9 100644 --- a/src/libdramsys/DRAMSys/configuration/memspec/MemSpecLPDDR4.cpp +++ b/src/libdramsys/DRAMSys/configuration/memspec/MemSpecLPDDR4.cpp @@ -111,7 +111,7 @@ MemSpecLPDDR4::MemSpecLPDDR4(const DRAMUtils::MemSpec::MemSpecLPDDR4& memSpec) : uint64_t deviceSizeBits = static_cast(banksPerRank) * rowsPerBank * columnsPerRow * bitWidth; uint64_t deviceSizeBytes = deviceSizeBits / 8; - memorySizeBytes = deviceSizeBytes * ranksPerChannel * numberOfChannels; + memorySizeBytes = deviceSizeBytes * devicesPerRank * ranksPerChannel * numberOfChannels; std::cout << headline << std::endl; std::cout << "Memory Configuration:" << std::endl << std::endl;