diff --git a/extensions/standards/DDR5/DRAMSys/controller/checker/CheckerDDR5.cpp b/extensions/standards/DDR5/DRAMSys/controller/checker/CheckerDDR5.cpp index 5a6d92ef..d1c9d87b 100644 --- a/extensions/standards/DDR5/DRAMSys/controller/checker/CheckerDDR5.cpp +++ b/extensions/standards/DDR5/DRAMSys/controller/checker/CheckerDDR5.cpp @@ -32,10 +32,12 @@ * Author: Lukas Steiner */ -#include - #include "CheckerDDR5.h" +#include "DRAMSys/common/DebugManager.h" + +#include + using namespace sc_core; using namespace tlm; diff --git a/extensions/standards/DDR5/DRAMSys/simulation/dram/DramDDR5.cpp b/extensions/standards/DDR5/DRAMSys/simulation/dram/DramDDR5.cpp index 77f91820..95c35db3 100644 --- a/extensions/standards/DDR5/DRAMSys/simulation/dram/DramDDR5.cpp +++ b/extensions/standards/DDR5/DRAMSys/simulation/dram/DramDDR5.cpp @@ -35,18 +35,13 @@ #include "DramDDR5.h" -#include -#include - using namespace sc_core; -DramDDR5::DramDDR5(const sc_module_name& name, const Configuration& config, - TemperatureController& temperatureController) +DramDDR5::DramDDR5(const sc_module_name& name, const Configuration& config) : Dram(name, config) { - if (storeMode == Configuration::StoreMode::ErrorModel) - SC_REPORT_FATAL("DramDDR5", "Error Model not supported for DDR5"); - +#ifdef DRAMPOWER if (powerAnalysis) SC_REPORT_FATAL("DramDDR5", "DRAMPower does not support DDR5"); +#endif } diff --git a/extensions/standards/DDR5/DRAMSys/simulation/dram/DramDDR5.h b/extensions/standards/DDR5/DRAMSys/simulation/dram/DramDDR5.h index 5fcc493f..1e06dba3 100644 --- a/extensions/standards/DDR5/DRAMSys/simulation/dram/DramDDR5.h +++ b/extensions/standards/DDR5/DRAMSys/simulation/dram/DramDDR5.h @@ -36,16 +36,14 @@ #ifndef DRAMDDR5_H #define DRAMDDR5_H -#include +#include "DRAMSys/simulation/dram/Dram.h" -#include -#include +#include class DramDDR5 : public Dram { public: - DramDDR5(const sc_core::sc_module_name& name, const Configuration& config, - TemperatureController& temperatureController); + DramDDR5(const sc_core::sc_module_name& name, const Configuration& config); SC_HAS_PROCESS(DramDDR5); }; diff --git a/extensions/standards/HBM3/DRAMSys/controller/checker/CheckerHBM3.cpp b/extensions/standards/HBM3/DRAMSys/controller/checker/CheckerHBM3.cpp index 88fe561c..85cb7782 100644 --- a/extensions/standards/HBM3/DRAMSys/controller/checker/CheckerHBM3.cpp +++ b/extensions/standards/HBM3/DRAMSys/controller/checker/CheckerHBM3.cpp @@ -32,10 +32,12 @@ * Author: Lukas Steiner */ -#include - #include "CheckerHBM3.h" +#include "DRAMSys/common/DebugManager.h" + +#include + using namespace sc_core; using namespace tlm; diff --git a/extensions/standards/HBM3/DRAMSys/simulation/dram/DramHBM3.cpp b/extensions/standards/HBM3/DRAMSys/simulation/dram/DramHBM3.cpp index 3734c05f..62802a4d 100644 --- a/extensions/standards/HBM3/DRAMSys/simulation/dram/DramHBM3.cpp +++ b/extensions/standards/HBM3/DRAMSys/simulation/dram/DramHBM3.cpp @@ -40,13 +40,11 @@ using namespace sc_core; -DramHBM3::DramHBM3(const sc_module_name& name, const Configuration& config, - TemperatureController& temperatureController) +DramHBM3::DramHBM3(const sc_module_name& name, const Configuration& config) : Dram(name, config) { - if (storeMode == Configuration::StoreMode::ErrorModel) - SC_REPORT_FATAL("DramHBM3", "Error Model not supported for HBM3"); - +#ifdef DRAMPOWER if (powerAnalysis) SC_REPORT_FATAL("DramHBM3", "DRAMPower does not support HBM3"); +#endif } diff --git a/extensions/standards/HBM3/DRAMSys/simulation/dram/DramHBM3.h b/extensions/standards/HBM3/DRAMSys/simulation/dram/DramHBM3.h index e4cbc622..a5d2d67e 100644 --- a/extensions/standards/HBM3/DRAMSys/simulation/dram/DramHBM3.h +++ b/extensions/standards/HBM3/DRAMSys/simulation/dram/DramHBM3.h @@ -36,17 +36,14 @@ #ifndef DRAMHBM3_H #define DRAMHBM3_H +#include "DRAMSys/simulation/dram/Dram.h" #include -#include -#include - class DramHBM3 : public Dram { public: - DramHBM3(const sc_core::sc_module_name &name, const Configuration& config, - TemperatureController& temperatureController); + DramHBM3(const sc_core::sc_module_name &name, const Configuration& config); SC_HAS_PROCESS(DramHBM3); }; diff --git a/extensions/standards/LPDDR5/DRAMSys/controller/checker/CheckerLPDDR5.cpp b/extensions/standards/LPDDR5/DRAMSys/controller/checker/CheckerLPDDR5.cpp index 59e1c1ee..f5f68f3a 100644 --- a/extensions/standards/LPDDR5/DRAMSys/controller/checker/CheckerLPDDR5.cpp +++ b/extensions/standards/LPDDR5/DRAMSys/controller/checker/CheckerLPDDR5.cpp @@ -32,10 +32,12 @@ * Author: Lukas Steiner */ -#include - #include "CheckerLPDDR5.h" +#include "DRAMSys/common/DebugManager.h" + +#include + using namespace sc_core; using namespace tlm; diff --git a/extensions/standards/LPDDR5/DRAMSys/simulation/dram/DramLPDDR5.cpp b/extensions/standards/LPDDR5/DRAMSys/simulation/dram/DramLPDDR5.cpp index c96bc61e..156d0946 100644 --- a/extensions/standards/LPDDR5/DRAMSys/simulation/dram/DramLPDDR5.cpp +++ b/extensions/standards/LPDDR5/DRAMSys/simulation/dram/DramLPDDR5.cpp @@ -41,13 +41,11 @@ using namespace sc_core; -DramLPDDR5::DramLPDDR5(const sc_module_name& name, const Configuration& config, - TemperatureController& temperatureController) +DramLPDDR5::DramLPDDR5(const sc_module_name& name, const Configuration& config) : Dram(name, config) { - if (storeMode == Configuration::StoreMode::ErrorModel) - SC_REPORT_FATAL("DramLPDDR5", "Error Model not supported for LPDDR5"); - +#ifdef DRAMPOWER if (powerAnalysis) SC_REPORT_FATAL("DramLPDDR5", "DRAMPower does not support LPDDR5"); +#endif } diff --git a/extensions/standards/LPDDR5/DRAMSys/simulation/dram/DramLPDDR5.h b/extensions/standards/LPDDR5/DRAMSys/simulation/dram/DramLPDDR5.h index d5da27a5..62ce647b 100644 --- a/extensions/standards/LPDDR5/DRAMSys/simulation/dram/DramLPDDR5.h +++ b/extensions/standards/LPDDR5/DRAMSys/simulation/dram/DramLPDDR5.h @@ -36,16 +36,14 @@ #ifndef DRAMLPDDR5_H #define DRAMLPDDR5_H -#include +#include "DRAMSys/simulation/dram/Dram.h" -#include -#include +#include class DramLPDDR5 : public Dram { public: - DramLPDDR5(const sc_core::sc_module_name& name, const Configuration& config, - TemperatureController& temperatureController); + DramLPDDR5(const sc_core::sc_module_name& name, const Configuration& config); SC_HAS_PROCESS(DramLPDDR5); }; diff --git a/src/libdramsys/DRAMSys/configuration/memspec/MemSpec.h b/src/libdramsys/DRAMSys/configuration/memspec/MemSpec.h index 19e449f2..f431886a 100644 --- a/src/libdramsys/DRAMSys/configuration/memspec/MemSpec.h +++ b/src/libdramsys/DRAMSys/configuration/memspec/MemSpec.h @@ -39,9 +39,9 @@ #ifndef MEMSPEC_H #define MEMSPEC_H -#include -#include -#include +#include "DRAMSys/config/DRAMSysConfiguration.h" +#include "DRAMSys/common/utils.h" +#include "DRAMSys/controller/Command.h" #include #include diff --git a/src/libdramsys/DRAMSys/simulation/DRAMSys.cpp b/src/libdramsys/DRAMSys/simulation/DRAMSys.cpp index afb71a20..0a1e92d5 100644 --- a/src/libdramsys/DRAMSys/simulation/DRAMSys.cpp +++ b/src/libdramsys/DRAMSys/simulation/DRAMSys.cpp @@ -197,18 +197,15 @@ void DRAMSys::instantiateModules(const ::DRAMSys::Config::AddressMapping& addres drams.emplace_back(std::make_unique(("dram" + std::to_string(i)).c_str(), config)); #ifdef DDR5_SIM else if (memoryType == MemSpec::MemoryType::DDR5) - drams.emplace_back(std::make_unique(("dram" + std::to_string(i)).c_str(), config, - *temperatureController)); + drams.emplace_back(std::make_unique(("dram" + std::to_string(i)).c_str(), config)); #endif #ifdef LPDDR5_SIM else if (memoryType == MemSpec::MemoryType::LPDDR5) - drams.emplace_back(std::make_unique(("dram" + std::to_string(i)).c_str(), config, - *temperatureController)); + drams.emplace_back(std::make_unique(("dram" + std::to_string(i)).c_str(), config)); #endif #ifdef HBM3_SIM else if (memoryType == MemSpec::MemoryType::HBM3) - drams.emplace_back(std::make_unique(("dram" + std::to_string(i)).c_str(), config, - *temperatureController)); + drams.emplace_back(std::make_unique(("dram" + std::to_string(i)).c_str(), config)); #endif if (config.checkTLM2Protocol) diff --git a/src/libdramsys/DRAMSys/simulation/DRAMSysRecordable.cpp b/src/libdramsys/DRAMSys/simulation/DRAMSysRecordable.cpp index 52894b8d..5f7490c0 100644 --- a/src/libdramsys/DRAMSys/simulation/DRAMSysRecordable.cpp +++ b/src/libdramsys/DRAMSys/simulation/DRAMSysRecordable.cpp @@ -174,17 +174,17 @@ void DRAMSysRecordable::instantiateModules(const std::string &traceName, #ifdef DDR5_SIM else if (memoryType == MemSpec::MemoryType::DDR5) drams.emplace_back(std::make_unique>(("dram" + std::to_string(i)).c_str(), - config, *temperatureController, tlmRecorders[i])); + config, tlmRecorders[i])); #endif #ifdef LPDDR5_SIM else if (memoryType == MemSpec::MemoryType::LPDDR5) drams.emplace_back(std::make_unique>(("dram" + std::to_string(i)).c_str(), - config, *temperatureController, tlmRecorders[i])); + config, tlmRecorders[i])); #endif #ifdef HBM3_SIM else if (memoryType == MemSpec::MemoryType::HBM3) drams.emplace_back(std::make_unique>(("dram" + std::to_string(i)).c_str(), - config, *temperatureController, tlmRecorders[i])); + config, tlmRecorders[i])); #endif if (config.checkTLM2Protocol) diff --git a/src/simulator/simulator/main.cpp b/src/simulator/simulator/main.cpp index 6255f93a..a5d0b6ff 100644 --- a/src/simulator/simulator/main.cpp +++ b/src/simulator/simulator/main.cpp @@ -76,18 +76,18 @@ int sc_main(int argc, char **argv) { // Get path of resources: resources = pathOfFile(argv[0]) - + std::string("/../../DRAMSys/library/resources/"); - simulationJson = resources + "simulations/ddr5-example.json"; + + std::string("/../../resources/"); + simulationJson = resources + "simulations/ddr4-example.json"; } // Run with specific config but default resource folders: else if (argc == 2) { // Get path of resources: resources = pathOfFile(argv[0]) - + std::string("/../../DRAMSys/library/resources/"); + + std::string("/../../resources/"); simulationJson = argv[1]; } - // Run with spefific config and specific resource folder: + // Run with specific config and specific resource folder: else if (argc == 3) { simulationJson = argv[1]; @@ -109,7 +109,7 @@ int sc_main(int argc, char **argv) dramSys = std::make_unique("DRAMSys", configLib); if (!configLib.traceSetup.has_value()) - SC_REPORT_FATAL("sc_main", "No tracesetup section provided."); + SC_REPORT_FATAL("sc_main", "No trace setup section provided."); // Instantiate STL Players: TraceSetup setup(dramSys->getConfig(), configLib.traceSetup.value(), resources, players); @@ -118,7 +118,7 @@ int sc_main(int argc, char **argv) for (auto& player : players) player->iSocket.bind(dramSys->tSocket); - // Store the starting of the simulation in wallclock time: + // Store the starting of the simulation in wall-clock time: auto start = std::chrono::high_resolution_clock::now(); // Start SystemC Simulation: