Overview
VCS is used as a simulation environment in RISC-V verification flows. The evidence describes constrained-random programs being executed in simulators such as VCS, with Verdi used for centralized debug.[C1]
Role in RISC-V verification
In the cited RISC-V verification workflow, VCS appears in an iterative coverage-closure loop. Functional coverage analysis is performed with ImperasFC, coverage results are merged in Verdi, and failing cases are replayed deterministically in VCS.[C2]
The evidence also describes a flow in which the ImperasDV reference model is integrated with Verdi for unified coverage analysis in VCS.[C3] In this context, ImperasDV enables lock-step comparison against a reference model and can catch errors at instruction retirement.[C4]
Integration points
- ImperasDV: Used with VCS-oriented RISC-V verification flows as a reference model for lock-step comparison.[C3][C4]
- Verdi: Used alongside VCS for centralized debug and coverage result analysis.[C1][C2]
- ImperasFC: Generates SystemVerilog functional coverage models from the ISA specification; because the coverage is conventional SystemVerilog, results can be viewed in standard reporting tools such as Verdi.[C2]
Verification workflow context
The evidence describes a hybrid methodology combining constrained-random and directed tests. A typical flow starts with constrained-random sweeps, analyzes functional coverage with ImperasFC, merges results in Verdi, and replays failing cases deterministically in VCS for debug and closure.[C2]
Notes
The provided evidence specifically positions VCS within RISC-V verification, coverage closure, replay, and debug workflows. No broader product features beyond those statements are asserted here.