Commit Graph

241 Commits

Author SHA1 Message Date
bf813a67b8 Merge branch 'push-nnsntkoovklu' into 'develop'
refactor: move helper function into AddressDecoder

See merge request ems/astdm/modeling.dram/dram.sys.5!160
2025-12-03 13:12:14 +01:00
b05bba5d88 refactor: move helper function into AddressDecoder 2025-12-03 13:06:55 +01:00
d9e7a68255 fix: fix warnings in Memspec.h 2025-12-03 12:37:08 +01:00
Zimmerma
3d7c3ca473 refactor(am): improve checking and reporting 2025-12-02 16:31:32 +01:00
cb6776a792 refactor(controller): clean up splitting logic
To support non-power-of-two burst lengths, clean up the logic on
deciding which BL to use depending on the request size.
2025-12-02 16:06:04 +01:00
2ceabe8e26 refactor: add {default/max}DataBytesPerBurst 2025-12-02 16:06:04 +01:00
766a5bade3 refactor: remove const from MemSpec.h
It's bad design.
2025-12-02 16:06:04 +01:00
30184f53aa Merge branch 'push-wquxyuzossrv' into 'develop'
refactor: remove unused variable in Arbiter

See merge request ems/astdm/modeling.dram/dram.sys.5!154
2025-12-02 16:03:28 +01:00
7b08682cbd Merge branch 'push-txsoykooloyo' into 'develop'
fix(generator): honor minAddress and maxAddress

See merge request ems/astdm/modeling.dram/dram.sys.5!153
2025-12-02 16:03:15 +01:00
7cbcb5e726 fix: memory freeing in memory manager
Only free memory when DRAMSys is simulated with storage mode enabled.
2025-12-02 15:49:13 +01:00
fac7324c15 refactor: remove unused variable in Arbiter 2025-11-27 14:39:59 +01:00
209e6bb34f fix(generator): honor minAddress and maxAddress 2025-11-27 14:18:28 +01:00
8268352b95 fix: remove non-standard type conversions 2025-11-07 16:53:32 +01:00
65580e79f1 fix: incorrect memory size calculation for LP4/5
The numberOfDevices was not properly taken into account.
2025-10-22 13:37:41 +02:00
ee2a9c19f5 Better support for dark theme 2025-10-11 11:42:03 +02:00
29dc3b1539 Fix Python metrics in Trace Analyzer 2025-10-11 11:41:58 +02:00
db74e7549a Update to SystemC 3.0.1
Fix some of the deprecation warnings introduced in the new version such
as the removal of SC_HAS_PROCESS.
2025-10-10 09:39:13 +02:00
d9254bbc7b Remove unused intrinsics header in AddressDecoder 2025-10-09 09:31:11 +02:00
Zimmerma
a20be8f809 Fix memorySizeBytes calculation in HBM2 2025-09-25 15:05:17 +02:00
7e10f627c0 Fix various compile warnings 2025-09-24 15:58:54 +02:00
6af3dd5b28 Use trace file stem as SystemC module name
There were many reports of users worrying about the warning message.
2025-09-24 15:58:54 +02:00
7e77593f23 Use integer address in decode function again 2025-09-24 15:58:54 +02:00
c9c7293dd0 Small refactor of AddressDecoder 2025-09-24 15:58:54 +02:00
19a1ee3131 Make Ctrl-C in Trace Analyzer work again 2025-09-24 15:58:54 +02:00
33f9b209ea Add comment in Dram.cpp regarding delays 2025-09-24 15:58:54 +02:00
cc85eefaf6 Add common MemoryManager 2025-09-24 15:58:54 +02:00
Thomas Zimmermann
ce1332ca81 Feature: Rewrote AddressDecoder 2025-09-22 12:00:49 +00:00
ee04212ddb Merge branch 'fix/formatting' into 'develop'
Code formatting and refactoring

See merge request ems/astdm/modeling.dram/dram.sys.5!133
2025-08-06 09:45:34 +02:00
11049f6a26 Fix StlPlayer crash at end 2025-08-06 09:37:12 +02:00
565e725cf6 Make dataLength parameter required for initiators 2025-08-06 09:37:12 +02:00
b3c4f24434 Code formatting and refactoring 2025-08-06 09:35:07 +02:00
caba023964 Update the simulator readme 2025-08-06 09:35:07 +02:00
8c861d81c9 Decouple initiator clock from memory responses
Previously, the initiators were implicitly coupled to the responses of
the memory, calculating each new initiator clock relatively based on the
time of the BEGIN_RESP phase. This lead to an implicit coupling as
same rounding error of the initiator clock to the memory clock was
applied each time again.

Now, initiators are in itself self-clocked and only send requests based
on backpressure.
2025-08-06 09:35:07 +02:00
ae2ba7b55d Fix DRAMSys forward declaration 2025-08-05 14:21:07 +02:00
marcomoerz
7d9bfdaa26 fix: energy window 2025-05-28 10:34:04 +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
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
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
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
db6011425a Allow non-byte granularity for bus width 2025-04-14 13:04:49 +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
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