Version-Specific Notes for the SystemC Family
The SystemC, TLM, AMS, CCI, UVM-SystemC, synthesis, and common-practices versions used by the lessons.
How to Read This Lesson
This is not a separate coverage map. It is a practical version note for the whole course: when a lesson says "SystemC", "CCI", or "UVM-SystemC", this page tells you which version baseline the explanation is using.
Source and LRM Trail
The baselines come from the local LRMs in Docs/LRMs/, the official Accellera repositories listed in Docs/LRMs/SourceWebsite.txt, and the public Accellera release pages checked by scripts/check_accellera_updates.py.
Version Baseline Used in the Lessons
| Area | Baseline taught in the site | Where the implementation discussion points |
|---|---|---|
| SystemC core | SystemC 3.0.2 and IEEE 1666-2023 | .codex-src/systemc/src/sysc |
| TLM-2.0 | Included with SystemC 3.0.2 and IEEE 1666-2023 | .codex-src/systemc/src/tlm_core/tlm_2 |
| SystemC AMS | SystemC AMS 2.0 LRM; AMS release artifacts monitored separately | AMS LRM plus SystemC DE synchronization lessons |
| SystemC CCI | CCI 1.0 LRM and CCI 1.0.1 proof-of-concept source | .codex-src/cci/configuration/src/cci |
| UVM-SystemC | UVM-SystemC 1.0-beta5 public review release and LRM | .codex-src/uvm-systemc/src/uvmsc |
| SystemC Synthesis Subset | SystemC Synthesis Subset 1.4.7 LRM | synthesis subset lessons and HLS review rules |
| SystemC Common Practices | Accellera common-practices repository checkout | .codex-src/systemc-common-practices |
How Version Notes Should Be Used
If a class, function, macro, or source path changes upstream, the lesson that teaches that feature should get the version-specific note directly in the lesson. For example:
- a scheduler behavior update belongs in the scheduler lesson
- a socket implementation change belongs in the TLM socket internals lesson
- a new CCI mutability rule belongs in the CCI parameter lifecycle lesson
- a new UVM-SystemC phase behavior belongs in the phase lesson
The version note should explain:
- what changed
- which version introduced or clarified it
- whether it is a portable LRM change or an Accellera implementation change
- whether model code needs to change
Automated Upstream Check
The repository includes scripts/check_accellera_updates.py. It checks public Accellera release pages and the official GitHub repositories, then writes Docs/Audits/UPSTREAM_VERSION_CHECK.md.
The checker does not rewrite lessons automatically. That is deliberate. Version changes in standards need human judgment: sometimes a release changes implementation files but not portable behavior; sometimes an LRM clarification changes how a best-practice page should be worded.
Comments and Corrections