Open source design testing and verification with UVM and Verilator
summary
Verilator now supports many non‑synthesizable SystemVerilog features enabling near‑complete UVM use: full class hierarchy and parameter resolution for UVM (all but ~40 lines of a 36,000‑line codebase), fork/process semantics and STD process support, and constrained randomization proof‑of‑concept using the Crave backend. Work reduces verilator compilation memory by about 11% and speeds up elaboration up to 19% in spots; parameterized classes and fork local fixes are implemented and the UVM hierarchy compiles with verilator.
AI-written summary · about
chapters (11)
- 0:00Open source verification with UVM
- 1:06Verilator overview and advantages
- 2:50Timing constructs for UVM in Verilator
- 4:37Fork processes and variable access
- 6:23SystemVerilog process management
- 7:50Parameterized classes for UVM
- 9:59SystemVerilog features and randomization
- 11:42UVM compatibility progress
- 13:34Verilator compilation optimizations
- 15:46Parallel compilation efforts
- 16:48Q&A
related talks
13mAdvancing design verification with Verilator
24mOpen source RTL verification with Verilator
23mUnlocking Open Source RISC-V SoC Verification
22mNext big step for Verilator: towards four-state logic and UVM compatibility
23mCORE-V Verification Test Bench – Commercial Qualit...
30mVerilator 4.0 - Open Simulation Goes Multithreaded
19mThe role of software in validating silicon IP
17mVerilator Update Potpourri
