From fb174392bb870e0bbecee780289d5bc8a722c607 Mon Sep 17 00:00:00 2001 From: Derek Christ Date: Mon, 20 Mar 2023 12:40:09 +0100 Subject: [PATCH] Only use DRAMSysRecorable when recording is enabled --- src/simulator/main.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/simulator/main.cpp b/src/simulator/main.cpp index d5521655..f8b7238d 100644 --- a/src/simulator/main.cpp +++ b/src/simulator/main.cpp @@ -74,7 +74,15 @@ int sc_main(int argc, char **argv) if (!configuration.tracesetup.has_value()) SC_REPORT_FATAL("Simulator", "No traffic initiators specified"); - DRAMSys::DRAMSysRecordable dramSys("DRAMSys", configuration); + std::unique_ptr dramSys; + if (configuration.simconfig.DatabaseRecording) + { + dramSys = std::make_unique("DRAMSys", configuration); + } + else + { + dramSys = std::make_unique("DRAMSys", configuration); + } MemoryManager memoryManager(false); @@ -99,8 +107,8 @@ int sc_main(int argc, char **argv) for (auto const &initiator_config : configuration.tracesetup.value()) { - uint64_t memorySize = dramSys.getConfig().memSpec->getSimMemSizeInBytes(); - unsigned int dataLength = dramSys.getConfig().memSpec->defaultBytesPerBurst; + uint64_t memorySize = dramSys->getConfig().memSpec->getSimMemSizeInBytes(); + unsigned int dataLength = dramSys->getConfig().memSpec->defaultBytesPerBurst; auto initiator = std::visit( [=, &memoryManager](auto &&config) -> std::unique_ptr @@ -163,7 +171,7 @@ int sc_main(int argc, char **argv) totalTransactions += initiator->totalRequests(); - initiator->bind(dramSys.tSocket); + initiator->bind(dramSys->tSocket); initiators.push_back(std::move(initiator)); }