diff --git a/DRAMSys/library/src/controller/core/configuration/ConfigurationLoader.cpp b/DRAMSys/library/src/controller/core/configuration/ConfigurationLoader.cpp index 6536f5fc..167ef3da 100644 --- a/DRAMSys/library/src/controller/core/configuration/ConfigurationLoader.cpp +++ b/DRAMSys/library/src/controller/core/configuration/ConfigurationLoader.cpp @@ -181,7 +181,7 @@ void ConfigurationLoader::loadCommons(Configuration &config, XMLElement *xmlSpec // MemArchitecture XMLElement *architecture = xmlSpec->FirstChildElement("memarchitecturespec"); memSpec->NumberOfBanks = queryUIntParameter(architecture, "nbrOfBanks"); - memSpec->NumberOfRanks = queryUIntParameter(architecture, "nbrOfRanks"); + //memSpec->NumberOfRanks = queryUIntParameter(architecture, "nbrOfRanks"); memSpec->BurstLength = queryUIntParameter(architecture, "burstLength"); memSpec->DataRate = queryUIntParameter(architecture, "dataRate"); memSpec->NumberOfRows = queryUIntParameter(architecture, "nbrOfRows"); @@ -216,7 +216,8 @@ void ConfigurationLoader::loadDDR3(Configuration &config, XMLElement *xmlSpec) SC_REPORT_FATAL("ConfigurationLoader", "Wrong MemSpec chosen"); // MemArchitecture - //XMLElement *architecture = xmlSpec->FirstChildElement("memarchitecturespec"); + XMLElement *architecture = xmlSpec->FirstChildElement("memarchitecturespec"); + memSpec->NumberOfRanks = queryUIntParameter(architecture, "nbrOfRanks"); memSpec->NumberOfBankGroups = 1; memSpec->nActivate = 4; memSpec->DLL = true; @@ -274,6 +275,7 @@ void ConfigurationLoader::loadDDR4(Configuration &config, XMLElement *xmlSpec) // MemArchitecture XMLElement *architecture = xmlSpec->FirstChildElement("memarchitecturespec"); + memSpec->NumberOfRanks = queryUIntParameter(architecture, "nbrOfRanks"); memSpec->NumberOfBankGroups = queryUIntParameter(architecture, "nbrOfBankGroups"); memSpec->nActivate = 4; memSpec->DLL = true; @@ -332,7 +334,8 @@ void ConfigurationLoader::loadLPDDR4(Configuration &config, XMLElement *xmlSpec) SC_REPORT_FATAL("ConfigurationLoader", "Wrong MemSpec chosen"); // MemArchitecture: - //XMLElement *architecture = xmlSpec->FirstChildElement("memarchitecturespec"); + XMLElement *architecture = xmlSpec->FirstChildElement("memarchitecturespec"); + memSpec->NumberOfRanks = queryUIntParameter(architecture, "nbrOfRanks"); memSpec->NumberOfBankGroups = 1; memSpec->nActivate = 4; memSpec->DLL = false; // TODO: Correct? @@ -391,7 +394,7 @@ void ConfigurationLoader::loadWideIO(Configuration &config, XMLElement *memspec) // MemSpecification //XMLElement *architecture = memspec->FirstChildElement("memarchitecturespec"); memSpec->NumberOfBankGroups = 1; - //memSpec->NumberOfRanks = 1; TODO: is part of memspec for WideIO + memSpec->NumberOfRanks = 1; // TODO: is part of some memspecs for WideIO memSpec->nActivate = 2; memSpec->DLL = false; memSpec->termination = false;