Fixed small bugs
This commit is contained in:
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RFM" :0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"nbrOfChannels": 2,
|
||||
"cmdMode": 1,
|
||||
"refMode": 1,
|
||||
"RFM" : 0,
|
||||
"RAAIMT" : 0,
|
||||
"RAAMMT" : 0,
|
||||
"RAADEC" : 0
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -82,6 +82,7 @@ public:
|
||||
|
||||
virtual uint64_t getRAADEC() const;
|
||||
virtual uint64_t getRAAIMT() const;
|
||||
virtual uint64_t getRAAMMT() const;
|
||||
|
||||
virtual bool hasRasAndCasBus() const;
|
||||
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user