diff --git a/DRAMSys/library/CMakeLists.txt b/DRAMSys/library/CMakeLists.txt index 132fb925..d8328dea 100644 --- a/DRAMSys/library/CMakeLists.txt +++ b/DRAMSys/library/CMakeLists.txt @@ -64,24 +64,6 @@ else() message("-- Building with SystemC submodule") endif() -#include_directories( -# src/common -# src/common/third_party/DRAMPower/src -# src/configuration -# src/configuration/memspec -# src/controller -# src/controller/checker -# src/controller/cmdmux -# src/controller/powerdown -# src/controller/refresh -# src/controller/respqueue -# src/controller/scheduler -# src/error -# src/error/ECC -# src/simulation -# src/simulation/dram -#) - if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/src/simulation/DRAMSysRecordable.cpp) set(RECORDING_SOURCES src/common/TlmRecorder.cpp @@ -294,9 +276,20 @@ add_library(DRAMSysLibrary resources/traces/ddr3_postpone_ref_test_1.stl resources/traces/ranktest.stl resources/traces/chstone-adpcm_32.stl - ) +if(DEFINED ENV{LIBTHREED_ICE_HOME} AND DEFINED ENV{LIBSUPERLU_HOME}) + message("-- 3D-ICE and SuperLU available") + add_definitions(-DTHERMALSIM) + target_include_directories(DRAMSysLibrary + PUBLIC $ENV{LIBTHREED_ICE_HOME}/include/ + ) + find_library(3DICE_LIBRARY NAMES threed-ice-2.2.4 PATHS $ENV{LIBTHREED_ICE_HOME}/lib/) + target_link_libraries(DRAMSysLibrary + ${3DICE_LIBRARY} + ) +endif() + # Build: target_include_directories(DRAMSysLibrary PUBLIC src/common/third_party/DRAMPower/src/ diff --git a/DRAMSys/library/resources/configs/mcconfigs/fifo.json b/DRAMSys/library/resources/configs/mcconfigs/fifo.json index 97c33e69..ead81d04 100644 --- a/DRAMSys/library/resources/configs/mcconfigs/fifo.json +++ b/DRAMSys/library/resources/configs/mcconfigs/fifo.json @@ -1,11 +1,15 @@ -{"mcconfig": {"PagePolicy": "Open", -"Scheduler": "Fifo", -"RequestBufferSize": 8, -"CmdMux": "Oldest", -"RespQueue": "Fifo", -"RefreshPolicy": "Rankwise", -"RefreshMode": 1, -"RefreshMaxPostponed": 8, -"RefreshMaxPulledin": 8, -"PowerDownPolicy": "NoPowerDown", -"PowerDownTimeout": 100}} +{ + "mcconfig": { + "PagePolicy": "Open", + "Scheduler": "Fifo", + "RequestBufferSize": 8, + "CmdMux": "Oldest", + "RespQueue": "Fifo", + "RefreshPolicy": "Rankwise", + "RefreshMode": 1, + "RefreshMaxPostponed": 8, + "RefreshMaxPulledin": 8, + "PowerDownPolicy": "NoPowerDown", + "PowerDownTimeout": 100 + } +} \ No newline at end of file diff --git a/DRAMSys/library/resources/configs/mcconfigs/fifoStrict.json b/DRAMSys/library/resources/configs/mcconfigs/fifoStrict.json index 3bce6c6e..79af805d 100644 --- a/DRAMSys/library/resources/configs/mcconfigs/fifoStrict.json +++ b/DRAMSys/library/resources/configs/mcconfigs/fifoStrict.json @@ -1,11 +1,15 @@ -{"mcconfig": {"PagePolicy": "Open", -"Scheduler": "Fifo", -"RequestBufferSize": 8, -"CmdMux": "Strict", -"RespQueue": "Fifo", -"RefreshPolicy": "Rankwise", -"RefreshMode": 1, -"RefreshMaxPostponed": 8, -"RefreshMaxPulledin": 8, -"PowerDownPolicy": "NoPowerDown", -"PowerDownTimeout": 100}} +{ + "mcconfig": { + "PagePolicy": "Open", + "Scheduler": "Fifo", + "RequestBufferSize": 8, + "CmdMux": "Strict", + "RespQueue": "Fifo", + "RefreshPolicy": "Rankwise", + "RefreshMode": 1, + "RefreshMaxPostponed": 8, + "RefreshMaxPulledin": 8, + "PowerDownPolicy": "NoPowerDown", + "PowerDownTimeout": 100 + } +} \ No newline at end of file diff --git a/DRAMSys/library/resources/configs/mcconfigs/fr_fcfs.json b/DRAMSys/library/resources/configs/mcconfigs/fr_fcfs.json index 5eea8b88..78ef5aa3 100644 --- a/DRAMSys/library/resources/configs/mcconfigs/fr_fcfs.json +++ b/DRAMSys/library/resources/configs/mcconfigs/fr_fcfs.json @@ -1,12 +1,15 @@ -{"mcconfig": { - "PagePolicy": "Open", - "Scheduler": "FrFcfs", - "RequestBufferSize": 8, - "CmdMux": "Oldest", - "RespQueue": "Fifo", - "RefreshPolicy": "Rankwise", - "RefreshMode": 1, - "RefreshMaxPostponed": 8, - "RefreshMaxPulledin": 8, - "PowerDownPolicy": "NoPowerDown", - "PowerDownTimeout": 100}} +{ + "mcconfig": { + "PagePolicy": "Open", + "Scheduler": "FrFcfs", + "RequestBufferSize": 8, + "CmdMux": "Oldest", + "RespQueue": "Fifo", + "RefreshPolicy": "Rankwise", + "RefreshMode": 1, + "RefreshMaxPostponed": 8, + "RefreshMaxPulledin": 8, + "PowerDownPolicy": "NoPowerDown", + "PowerDownTimeout": 100 + } +} \ No newline at end of file diff --git a/DRAMSys/library/resources/configs/mcconfigs/fr_fcfs_grp.json b/DRAMSys/library/resources/configs/mcconfigs/fr_fcfs_grp.json index b6364345..70553a0f 100644 --- a/DRAMSys/library/resources/configs/mcconfigs/fr_fcfs_grp.json +++ b/DRAMSys/library/resources/configs/mcconfigs/fr_fcfs_grp.json @@ -1,12 +1,15 @@ -{"mcconfig": - {"PagePolicy": "Open", - "Scheduler": "FrFcfsGrp", - "RequestBufferSize": 8, - "CmdMux": "Oldest", - "RespQueue": "Fifo", - "RefreshPolicy": "Rankwise", - "RefreshMode": 1, - "RefreshMaxPostponed": 8, - "RefreshMaxPulledin": 8, - "PowerDownPolicy": "NoPowerDown", - "PowerDownTimeout": 100}} +{ + "mcconfig": { + "PagePolicy": "Open", + "Scheduler": "FrFcfsGrp", + "RequestBufferSize": 8, + "CmdMux": "Oldest", + "RespQueue": "Fifo", + "RefreshPolicy": "Rankwise", + "RefreshMode": 1, + "RefreshMaxPostponed": 8, + "RefreshMaxPulledin": 8, + "PowerDownPolicy": "NoPowerDown", + "PowerDownTimeout": 100 + } +} \ No newline at end of file diff --git a/DRAMSys/library/resources/configs/simulator/wideio_thermal.json b/DRAMSys/library/resources/configs/simulator/wideio_thermal.json index 6946a7e4..6a47ff5b 100644 --- a/DRAMSys/library/resources/configs/simulator/wideio_thermal.json +++ b/DRAMSys/library/resources/configs/simulator/wideio_thermal.json @@ -8,11 +8,11 @@ "ErrorCSVFile": "../../DRAMSys/library/resources/error/wideio.csv", "ErrorChipSeed": 42, "NumberOfDevicesOnDIMM": 1, - "NumberOfMemChannels": 1, + "NumberOfMemChannels": 4, "PowerAnalysis": true, "SimulationName": "wideio", "SimulationProgressBar": true, - "StoreMode": "NoStorage", + "StoreMode": "ErrorModel", "ThermalSimulation": true, "UseMalloc": false, "WindowSize": 1000 diff --git a/DRAMSys/library/resources/simulations/wideio-example.json b/DRAMSys/library/resources/simulations/wideio-example.json index 0e7d9d5e..464a2591 100644 --- a/DRAMSys/library/resources/simulations/wideio-example.json +++ b/DRAMSys/library/resources/simulations/wideio-example.json @@ -1,6 +1,6 @@ { "simulation": { - "addressmapping": "am_wideio_4x1Gb_rbc.json", + "addressmapping": "am_wideio_4x256Mb_rbc.json", "mcconfig": "fifoStrict.json", "memspec": "JEDEC_256Mb_WIDEIO-200_128bit.json", "simconfig": "wideio.json", diff --git a/DRAMSys/library/resources/simulations/wideio-thermal.json b/DRAMSys/library/resources/simulations/wideio-thermal.json new file mode 100644 index 00000000..82c23ff5 --- /dev/null +++ b/DRAMSys/library/resources/simulations/wideio-thermal.json @@ -0,0 +1,16 @@ +{ + "simulation": { + "addressmapping": "am_wideio_4x256Mb_rbc.json", + "mcconfig": "fr_fcfs.json", + "memspec": "JEDEC_256Mb_WIDEIO-200_128bit.json", + "simconfig": "wideio_thermal.json", + "simulationid": "wideio-example", + "thermalconfig": "config.json", + "tracesetup": [ + { + "clkMhz": 1000, + "name": "test_error.stl" + } + ] + } +}