Commit Graph

2759 Commits

Author SHA1 Message Date
c2c2734cce Merge branch 'push-nzmlkoluornm' into 'develop'
Fix PDXP length in HBM3

See merge request ems/astdm/modeling.dram/dram.sys.5!130
2025-07-22 13:56:31 +02:00
303281a5f3 Fix PDXP length in HBM3 2025-07-22 13:48:57 +02:00
0d1b91c405 Merge branch 'fix/drampower_window' into 'develop'
fix: energy window

See merge request ems/astdm/modeling.dram/dram.sys.5!129
2025-05-28 10:40:55 +02:00
marcomoerz
7d9bfdaa26 fix: energy window 2025-05-28 10:34:04 +02:00
03d33397cb Merge branch 'push-krsqnqkxrmxm' into 'develop'
Hide compilation of tools behind CMake flag

See merge request ems/astdm/modeling.dram/dram.sys.5!126
2025-05-12 15:31:57 +02:00
605e783929 Hide compilation of tools behind CMake flag 2025-05-12 15:27:16 +02:00
90d161db77 Merge branch 'feat/new_drampower' into 'develop'
Feat/new drampower

See merge request ems/astdm/modeling.dram/dram.sys.5!75
2025-05-09 17:27:47 +02:00
812b540ed5 Make DRAMPower required again
DRAMPower was only optional because the linker had problems when
integrating with gem5 as there still exists a very old version in the
source tree.

With the new namespaces, there is no longer a need for making DRAMPower
optional.
2025-05-09 16:45:54 +02:00
d138f4b71e Remove powerAnalysis bool from Dram.h 2025-05-09 16:45:54 +02:00
marcomoerz
bc8274433a Deserialize std::variant without throwing exception 2025-05-09 16:45:54 +02:00
marcomoerz
4120e9c35b Integrate DRAMUtils and new DRAMPower 2025-05-09 16:45:54 +02:00
0bd943e588 Merge branch 'pin_systemc' into 'develop'
Pin SystemC to 2.3.4 in vcpkg manifest

See merge request ems/astdm/modeling.dram/dram.sys.5!123
2025-05-06 10:53:22 +02:00
135e15b64d Pin SystemC to 2.3.4 in vcpkg manifest 2025-05-06 08:26:52 +02:00
Lukas Steiner
9b4fb96cce Merge branch 'fix/beat_byte_granularity' into 'develop'
Allow non-byte granularity for bus width

See merge request ems/astdm/modeling.dram/dram.sys.5!119
2025-04-24 14:15:46 +00:00
Lukas Steiner
1863987af3 Merge branch 'feat/remove_resource_directory' into 'develop'
Remove the concept of a resource directory

See merge request ems/astdm/modeling.dram/dram.sys.5!115
2025-04-24 14:12:23 +00:00
Lukas Steiner
0f2be6ece5 Merge branch 'fix/lpddr5_ref' into 'develop'
Fix LPDDR5 AllBank and Per2Bank Refresh

See merge request ems/astdm/modeling.dram/dram.sys.5!114
2025-04-24 14:07:59 +00:00
Lukas Steiner
2b641ca171 Merge branch 'feat/cmdmux' into 'develop'
Use std::optional in cmdMux

See merge request ems/astdm/modeling.dram/dram.sys.5!109
2025-04-24 14:05:13 +00:00
Lukas Steiner
bc21b72c74 Merge branch 'proprietary_license_text' into 'develop'
Use proprietary license text in extension files

See merge request ems/astdm/modeling.dram/dram.sys.5!103
2025-04-24 14:01:32 +00:00
Lukas Steiner
ce81805dcb Merge branch 'serialize_refresh' into 'develop'
Implement serialize and deserialize in Refresh Managers

See merge request ems/astdm/modeling.dram/dram.sys.5!83
2025-04-24 14:00:36 +00:00
c0c68dc09a Merge branch 'fix/TargetMemoryTest' into 'develop'
Fix crash in Cache Test

See merge request ems/astdm/modeling.dram/dram.sys.5!121
2025-04-23 12:23:02 +00:00
a4d8705c8d Fix crash in Cache Test 2025-04-23 14:18:49 +02:00
b3e24cc33a Serialize/Deserialize internal state of RefreshManagers
For gem5 checkpointing, it was needed to save the state of the refresh
managers. Otherwise, as soon as the simulation was resumed, the refresh
manager issued a huge number of refresh commands.
2025-04-17 13:59:46 +02:00
939fc90f98 Remove hard-coded subdirectory paths for configs
Previously, the subdirectories in which the sub-json files were searched
in were hardcoded. Now, DRAMSys simply searches in the directory of the
base config, making this approach more flexible.
2025-04-15 14:56:35 +02:00
a97b676b92 Remove the concept of a resource directory
The concept of a resource directory was confusing, error-prone and
was only used to specify the directory of the base config json anyway.
Therefore, remove the concept of the resource directory and use the
parent directory of the base config directly.
2025-04-15 14:56:35 +02:00
ee85f0df8f Merge branch 'refactor/database' into 'develop'
Removal of Recordable abstractions

See merge request ems/astdm/modeling.dram/dram.sys.5!110
2025-04-15 12:54:06 +00:00
db6011425a Allow non-byte granularity for bus width 2025-04-14 13:04:49 +02:00
e94b27d420 Merge branch 'benchmarks_refactor' into 'develop'
Add more benchmarks

See merge request ems/astdm/modeling.dram/dram.sys.5!118
2025-04-11 13:29:41 +00:00
27ad33de52 Remove misleading bench config 2025-04-11 15:25:19 +02:00
c42866cecb Add more example simulations in the benchmarks 2025-04-11 15:25:19 +02:00
42d17f95ec Merge branch 'tools/json_converter' into 'develop'
Make tool out of json_converter

See merge request ems/astdm/modeling.dram/dram.sys.5!112
2025-04-11 13:23:59 +00:00
5b925d999c Merge branch 'vcpkg' into 'develop'
Add optional support for VCPKG

See merge request ems/astdm/modeling.dram/dram.sys.5!117
2025-04-11 08:43:11 +00:00
f3cd73d569 Refactor CMakePresets and gitlab-ci 2025-04-11 10:36:37 +02:00
1af31343d1 Merge branch 'fix/clang-tidy' into 'develop'
Remove deprecated clang-tidy option

See merge request ems/astdm/modeling.dram/dram.sys.5!116
2025-04-11 07:22:05 +00:00
14ce68066e Remove deprecated clang-tidy option 2025-04-11 09:18:14 +02:00
Jonathan Hager
b9e3d8b0bf Renamed the tlmRecorder classes 2025-04-10 10:48:40 +02:00
Jonathan Hager
8266d825f3 Moved ifs from the method body to the invocation 2025-04-10 10:21:58 +02:00
0dc9eeeea2 Add optional support for vcpkg 2025-04-10 08:46:39 +02:00
330d5c77b6 Fix LPDDR5 regression test 2025-04-08 17:42:30 +02:00
8268f2e33b Fix issue with REFP2B with multiple ranks 2025-04-08 12:39:38 +02:00
db615eb6a4 Fix LPDDR5 AllBank and Per2Bank Refresh 2025-03-26 15:10:56 +01:00
Jonathan Hager
950dbd690d Removed DramRecordable import 2025-03-26 13:58:14 +01:00
Jonathan Hager
94954c8697 Switch from shared_ptrs back to references
Dram and Controller hold a const pointer instead of a reference, so that
it can be set to null, if database recording is disabled
2025-03-26 13:53:23 +01:00
Jonathan Hager
d773abc7ce Updated unit tests for HBM2
This is necessary, as recording the phases with tlmRecorders on the bus
changed the internal call order in the SystemC kernel. This leads to
different IDs in the database
2025-03-26 13:53:23 +01:00
Jonathan Hager
9c690c021c Fixed nullptr segfault if no database recording
Dram and Controller handle this case now and are initialized with a
shared_ptr pointing to null
2025-03-26 13:53:22 +01:00
Jonathan Hager
2f8c318c0e Implemented b_transport and dbg 2025-03-26 13:53:22 +01:00
Jonathan Hager
d349aafff7 Change TlmRecorderArbiter to TlmRecorderController 2025-03-26 13:53:22 +01:00
Jonathan Hager
86281cc6d3 Removed ControllerRecordable 2025-03-26 13:53:22 +01:00
Jonathan Hager
5b7dcbcc1c Moved TlmRecorder from reference to smart pointer 2025-03-26 13:53:22 +01:00
Jonathan Hager
0479184f72 Split the bandwidth recording in two modules
This allows separate recording of the bandwidth between Arbiter -
Controller and Controller - Dram
2025-03-26 13:53:22 +01:00
Jonathan Hager
f1445ab851 WIP: Moved BufferDepth out of ControllerRecordable 2025-03-26 13:53:22 +01:00