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 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.
Standard and source context
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 | Accellera SystemC GitHub repository |
| TLM-2.0 | Included with SystemC 3.0.2 and IEEE 1666-2023 | Accellera SystemC GitHub repository |
| 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 | Accellera SystemC GitHub repository/cci/configuration/src/cci |
| UVM-SystemC | UVM-SystemC 1.0-beta6 public-review release signal; the local February 2023 draft LRM remains the clause-reading baseline until the newer manual is added | Accellera SystemC GitHub repository/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 | Accellera SystemC GitHub repository/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.
UVM-SystemC Draft Note
Accellera's public-review page lists UVM-SystemC 1.0-beta6, published in July 2024. The local Docs/LRMs/uvm-systemc-language-reference-manual.pdf file is the February 2023 draft associated with the earlier public-review generation. Read the local document for the currently checked-in clause text, inspect the official accellera-official/uvm-systemc repository for implementation details, and verify beta6 differences before teaching a beta6-specific API or behavior.
Can you answer these clearly?
Keep moving when you can answer each question without looking back at the lesson.
Comments and Corrections