Implement pseudo-channel and rank specific BW information

This commit is contained in:
2024-11-18 13:18:33 +01:00
parent e74a617273
commit e409bab47a
21 changed files with 98 additions and 52 deletions

View File

@@ -49,7 +49,6 @@ namespace DRAMSys
MemSpecDDR5::MemSpecDDR5(const Config::MemSpec& memSpec) :
MemSpec(memSpec,
memSpec.memarchitecturespec.entries.at("nbrOfChannels"),
1,
memSpec.memarchitecturespec.entries.at("nbrOfRanks"),
memSpec.memarchitecturespec.entries.at("nbrOfBanks"),
memSpec.memarchitecturespec.entries.at("nbrOfBankGroups"),

View File

@@ -49,7 +49,6 @@ MemSpecHBM3::MemSpecHBM3(const Config::MemSpec& memSpec) :
MemSpec(memSpec,
memSpec.memarchitecturespec.entries.at("nbrOfChannels"),
memSpec.memarchitecturespec.entries.at("nbrOfPseudoChannels"),
memSpec.memarchitecturespec.entries.at("nbrOfPseudoChannels"),
memSpec.memarchitecturespec.entries.at("nbrOfBanks"),
memSpec.memarchitecturespec.entries.at("nbrOfBankGroups"),
memSpec.memarchitecturespec.entries.at("nbrOfBanks") /
@@ -140,6 +139,11 @@ bool MemSpecHBM3::hasRasAndCasBus() const
return true;
}
bool MemSpecHBM3::pseudoChannelMode() const
{
return true;
}
sc_time MemSpecHBM3::getExecutionTime(Command command, const tlm_generic_payload& payload) const
{
if (command == Command::PREPB || command == Command::PREAB)

View File

@@ -97,6 +97,7 @@ public:
[[nodiscard]] unsigned getRAAMMT() const override;
[[nodiscard]] bool hasRasAndCasBus() const override;
[[nodiscard]] bool pseudoChannelMode() const override;
[[nodiscard]] sc_core::sc_time
getExecutionTime(Command command, const tlm::tlm_generic_payload& payload) const override;

View File

@@ -48,7 +48,6 @@ namespace DRAMSys
MemSpecLPDDR5::MemSpecLPDDR5(const Config::MemSpec& memSpec) :
MemSpec(memSpec,
memSpec.memarchitecturespec.entries.at("nbrOfChannels"),
1,
memSpec.memarchitecturespec.entries.at("nbrOfRanks"),
memSpec.memarchitecturespec.entries.at("nbrOfBanks"),
memSpec.memarchitecturespec.entries.at("nbrOfBankGroups"),