Bugfix: nbrOfRanks is only part of some memspecs for WideIO.

This commit is contained in:
Lukas Steiner
2019-06-28 17:53:52 +02:00
parent 409e49f044
commit 9b8729c58b

View File

@@ -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;