Verilator Update Potpourri
summary
Hudson River Trading reports concrete Verilator changes: tracing flag produced ~50% more generated C++ so builds split into no-trace for CI and trace for interactive, but tracing exposed nondeterminism fixed by adding VL_scoped_rand_reset (per-instance RNG) to converge runs. A distributed build cache with occasional verification diffs revealed nondeterministic unordered_map iteration, replaced by ordered maps. Trace emission is refactored into a helper function to cut generated lines and jump-pointer issues. A new VCD/FST diff tool is ~50x faster and expression coverage landed with a cap to avoid billions of points.
AI-written summary · about
chapters (9)
- 0:00Verilator update intro
- 1:22Fixing tracing non-determinism
- 3:26Improving build determinism
- 5:52Verilator upgrade and parameters
- 7:59Resolving linker limits
- 9:23Optimizing trace file generation
- 10:25Faster trace diffing tool
- 10:46Verilator coverage added
- 13:17Q&A
related talks
22mOpen source design testing and verification with UVM and Verilator
13mAdvancing design verification with Verilator
23mUnlocking Open Source RISC-V SoC Verification
29m3 Talks for the Price of 1!
21mOpen Source Digital Design Tooling Updates
05mLightning Talk: Let’s Make VLD Great Again
10mDemo: Introduction to RISC-V Verification with the Open Standard RVVI (RISC-V Verifi...
01h 16mSegment 4
