Known Issues
List of known issues with rtl_buddy and how it uses VCS, Verilator, etc.
Instance pRNG seeding with Verilator
Random testing does not behave reliably with Verilator. While Verilator supports multiple random tests with different seeds, tests are not always reproducible even with the same seed.
VCS is recommended for stable random testing due to its hierarchical instance seeding. VCS seeds instantiated modules, process threads, and classes based on their hierarchical names. For stable random seeding with VCS, name your instances explicitly.
If you require reproducible randomized testing on macOS (where VCS is not available), this is a known limitation.
VCS hierarchical seed file
When using VCS with hierarchical instance seeding (-xlrm hier_inst_seed), VCS writes a HierInstanceSeed.txt file in the simulation directory after the run. rtl_buddy looks for this file to record the seed for reproducibility.
If the file is missing, a sim.hier_seed_missing warning is emitted in the log and the seed is not recorded, but the test result is not affected.
Ensure your VCS compile-time flags include -xlrm hier_inst_seed and that the simulation directory is writable so VCS can write the file.