Commit Graph

78 Commits

Author SHA1 Message Date
Lukas Steiner
68d82cd209 Merge branch 'work/serde' into 'develop'
Introduce Serialize/Deserialize interfaces

See merge request ems/astdm/modeling.dram/dram.sys.5!44
2023-09-19 12:44:45 +00:00
Lukas Steiner
9e53a38132 Fix address mapping for single device without byte bits. 2023-08-31 13:43:49 +02:00
a5810e48f4 Fix recording of memspec and mcconfig in trace database 2023-08-31 11:25:26 +02:00
41343c787e Introduce a concept to report idling to the outside 2023-08-31 10:19:04 +02:00
f96bdd4ac1 Introduce a serialize/deserialize interface 2023-08-31 10:19:01 +02:00
c07d09f392 Format all files 2023-08-29 09:26:25 +02:00
1bb3c3ea0f Use raw string literal for database creation 2023-08-29 09:22:45 +02:00
Lukas Steiner
ccb4ee592b Remove masked write from GDDR checkers. 2023-08-23 15:30:15 +02:00
Lukas Steiner
12f2b73cde Additional check of byte enable pointer. 2023-08-23 15:21:53 +02:00
Lukas Steiner
0f824e8b92 Do not allow masked write in default case. 2023-08-23 11:41:58 +02:00
a539e3c011 Merge branch 'develop' into work/partial_writes 2023-08-23 09:31:42 +02:00
0d67a1fc2b Support byte_enable_ptr for debug transport 2023-08-22 11:26:28 +02:00
47bdddc5f1 Different tCCDMW timing when previous WR had BL32 in LPDDR4 2023-08-22 09:41:36 +02:00
4548d20b6e Rename requiresMaskedWrite to requiresReadModifyWrite 2023-08-21 10:55:41 +02:00
f1cfb80337 Minor readability fixes 2023-08-21 10:10:49 +02:00
a0f93a75e2 Merge develop 2023-08-21 10:01:08 +02:00
b30df49d67 Use tCCDMW for masked write in LPDDR4 2023-08-21 09:26:05 +02:00
3f0372f1f7 Add Partial Write support for blocking accesses 2023-08-16 09:45:32 +02:00
570fb985df Fix MWR and MWRA command lengths for LPDDR4 2023-08-16 09:38:57 +02:00
c5f1320399 Implement Partial Write for DDR5 2023-08-16 09:38:57 +02:00
40dbc518b6 Add hack in TimingCheckers to convert MWR to WR in insertion stage 2023-08-16 09:38:54 +02:00
f7066a22b0 First implementation of Partial Writes 2023-08-16 09:38:54 +02:00
Lukas Steiner
a8d15e35a5 Merge branch 'work/regression_tests' into 'develop'
Add a regression test for every standard

See merge request ems/astdm/modeling.dram/dram.sys.5!34
2023-08-15 12:00:48 +00:00
Lukas Steiner
5598d53ebd Merge branch 'cmake_debug' into 'develop'
Disable CMake diagnostics print

See merge request ems/astdm/modeling.dram/dram.sys.5!40
2023-08-15 09:28:28 +00:00
81eaccf3d6 Add lastCommandOn{C,R}asBus != scMaxTime check for HBM2 and HBM3 2023-08-15 10:58:10 +02:00
e3bd773cac Implement isFullCycle, alignAtNext functions in utils and add tests 2023-08-15 10:58:10 +02:00
Lukas Steiner
56c9f5f5f0 Merge branch 'initialize_generalinfotable' into 'develop'
Write GeneralInfo table at the beginning

See merge request ems/astdm/modeling.dram/dram.sys.5!39
2023-08-14 13:33:40 +00:00
Lukas Steiner
b5fb23b55d Merge branch 'debug_file' into 'develop'
Don't create log file when debug is not enabled

See merge request ems/astdm/modeling.dram/dram.sys.5!36
2023-08-10 12:27:54 +00:00
Lukas Steiner
cb9689a08d Merge branch 'work/simulator_library' into 'develop'
Introduce Simulator class

See merge request ems/astdm/modeling.dram/dram.sys.5!35
2023-08-10 12:19:33 +00:00
ccc1bc73c4 Disable CMake diagnostics print 2023-08-09 14:57:29 +02:00
d392d0ab98 Write GeneralInfo table at the beginning
and do not include information in it that is only known at the end of
the simulation. These can trivially be calculated by the trace itself
and would be redundant information regardless.

The TraceAnalyzer gets the number of transactions and the length of
the trace by additional SQL queries.

This enables us to inspect traces of simulations that were aborted
without finishing cleanlywithout finishing cleanly.
2023-08-09 11:55:10 +02:00
085bfbd8de Don't create log file when debug is not enabled 2023-07-21 09:39:52 +02:00
14ecc64ed0 Introduce Simulator class 2023-07-14 14:31:03 +02:00
Lukas Steiner
12dcbfd917 Use scoped enums for DRAM types. 2023-06-30 15:49:41 +02:00
Lukas Steiner
4e0891affb Inherit privately from std::vector. 2023-06-26 16:32:39 +02:00
Lukas Steiner
413921f420 Minor formatting. 2023-06-22 10:19:34 +02:00
Lukas Steiner
c833471480 Use type safe index vectors in remaining controller. 2023-06-21 14:51:15 +02:00
Lukas Steiner
ba3f367676 Use type safe index vectors in timing checkers (2/2). 2023-06-21 12:59:26 +02:00
Lukas Steiner
d045af9d16 Use type safe index vectors in timing checkers (1). 2023-06-20 13:54:36 +02:00
3ce54b8faa Fix readability-misleading-indentation warnings 2023-06-09 11:29:35 +02:00
32e828d254 Fix cppcoreguidelines-special-member-functions warnings 2023-06-09 11:29:35 +02:00
a9759f51fa Enable warnings in dev preset and fix them 2023-06-09 11:29:15 +02:00
ad96e3ba14 Apply default clang-tidy fixes 2023-06-09 11:29:12 +02:00
2d590fda0d Apply clang-tidy readability-named-parameter fixes 2023-06-09 11:17:57 +02:00
5d8d7c197e Apply clang-tidy readability-* fixes 2023-06-09 11:17:57 +02:00
8bac84577f Apply clang-tidy modernize-* fixes 2023-06-09 11:17:57 +02:00
79a54f11f6 Apply clang-tidy modernize-use-* fixes 2023-06-09 11:17:57 +02:00
77decb70ec Apply clang-tidy modernize-use-nodiscard fixes 2023-06-09 11:17:57 +02:00
Lukas Steiner
20f6aae787 Replace tabs with whitespaces. 2023-05-25 16:09:55 +02:00
Lukas Steiner
b3955d6d02 Update TUK to RPTU. 2023-05-25 15:15:52 +02:00