Fixed small bugs

This commit is contained in:
Matthias Jung
2021-08-30 14:18:29 +02:00
parent 87d5be0696
commit 994c2bf070
27 changed files with 31 additions and 37 deletions

View File

@@ -7,10 +7,11 @@
"CmdMux": "Oldest",
"RespQueue": "Fifo",
"RefreshPolicy": "AllBank",
"RefreshMaxPostponed": 8,
"RefreshMaxPulledin": 8,
"RefreshMaxPostponed": 0,
"RefreshMaxPulledin": 0,
"PowerDownPolicy": "NoPowerDown",
"Arbiter": "Simple",
"MaxActiveTransactions": 128
"MaxActiveTransactions": 128,
"RFM": "Enabled"
}
}

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,7 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RFM" :0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,10 +16,9 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0
"RAAIMT" : 32,
"RAAMMT" : 1,
"RAADEC" : 16
},
"memoryId": "JEDEC_2x8x2Gbx4_DDR5-3200A",
"memoryType": "DDR5",

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,7 +16,6 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAADEC" : 0

View File

@@ -16,9 +16,8 @@
"nbrOfChannels": 2,
"cmdMode": 1,
"refMode": 1,
"RFM" : 0,
"RAAIMT" : 0,
"RAAMMT" : 0,
"RAAMMT" : 1,
"RAADEC" : 0
},
"memoryId": "JEDEC_2x8x8x8Gbx4_DDR5-3200A_4bit",

View File

@@ -181,8 +181,7 @@ void Configuration::setParameter(const std::string &name, const nlohmann::json &
}
else if (name == "RFM")
{
if(value == "Enabled")
{
if(value == "Enabled") {
RFM = true;
}
}

View File

@@ -110,6 +110,12 @@ uint64_t MemSpec::getRAAIMT() const
return 0;
}
uint64_t MemSpec::getRAAMMT() const
{
SC_REPORT_FATAL("MemSpec", "Refresh Management not supported");
return 0;
}
bool MemSpec::hasRasAndCasBus() const
{
return false;

View File

@@ -82,6 +82,7 @@ public:
virtual uint64_t getRAADEC() const;
virtual uint64_t getRAAIMT() const;
virtual uint64_t getRAAMMT() const;
virtual bool hasRasAndCasBus() const;

View File

@@ -201,6 +201,11 @@ uint64_t MemSpecDDR5::getRAAIMT() const
return RAAIMT;
}
uint64_t MemSpecDDR5::getRAAMMT() const
{
return RAAMMT;
}
// Returns the execution time for commands that have a fixed execution time
sc_time MemSpecDDR5::getExecutionTime(Command command, const tlm_generic_payload &payload) const
{

View File

@@ -118,6 +118,7 @@ public:
uint64_t getRAADEC() const override;
uint64_t getRAAIMT() const override;
uint64_t getRAAMMT() const override;
sc_core::sc_time getExecutionTime(Command command, const tlm::tlm_generic_payload &payload) const override;
TimeInterval getIntervalOnDataStrobe(Command command, const tlm::tlm_generic_payload &payload) const override;

View File

@@ -79,10 +79,6 @@ void BankMachine::updateState(Command command)
sleeping = false;
blocked = false;
if(command == Command::RFMAB) {
blocked = false;
}
if(Configuration::getInstance().RFM == true) {
if (RFMCounter > Configuration::getInstance().memSpec->getRAADEC()) {
RFMCounter -= Configuration::getInstance().memSpec->getRAADEC();

View File

@@ -66,11 +66,14 @@ sc_time RefreshManagerAllBank::start()
nextCommand = Command::NOP;
bool RFMRequired = false;
for(auto bm : bankMachinesOnRank) {
if(bm->getRFMCounter() >= Configuration::getInstance().memSpec->getRAAIMT())
{
RFMRequired = true;
break;
if(Configuration::getInstance().RFM == true) {
for(auto bm : bankMachinesOnRank) {
uint64_t threshold = Configuration::getInstance().memSpec->getRAAIMT() * Configuration::getInstance().memSpec->getRAAMMT();
if(bm->getRFMCounter() >= threshold) {
RFMRequired = true;
break;
}
}
}