Advanced examples¶
These examples combine reusable components, protocol and register models, generated artifacts, richer data types, and production-scale RTL. Each one is a complete, runnable project with a pure-SystemVerilog twin.
Example |
Start here for |
Source shown |
|---|---|---|
Reusable transaction endpoints and analysis fan-out |
Complete component composition |
|
Optional protocol component package |
Generic sequence, master, monitor, checker, scoreboard, and coverage |
|
Timed typed transaction recording |
256-operation monitor, scoreboard, in-memory trace, and JSON Lines output |
|
A standard IP-XACT contract with registers and native memory |
Generated hierarchy, fake-master check, APB sequence, and pure-SV peer |
|
Internal access and controlled fault injection |
Deposit, force, release, and |
|
Wide, fixed-point, array, struct, and enum ports |
Typed construction and checking |
|
Parameterized interfaces, modports, interface arrays, and bidirectional pins |
Named member access, independent clocks, drive, and release |
|
One ordered C++ and RTL diagnostic stream |
C++ loggers, SV macros, source provenance, and hierarchy |
|
Computationally substantial four-mode comparisons |
FIR, packet CRC32, and matrix accelerator sequences |
|
Real CPU, crypto, and network RTL comparisons |
Firmware, register programming, and AXI-stream sequences |
|
Ground-truth validation of generated register access |
Upstream oracle, generated RegModel, and matched pure-SV sequence |
Fault injection is the smallest complete bench centred on internal hierarchy access — deposit, force, release, and settling against inferred RTL objects, with no probe list. Read it alongside Hierarchical DUT access.