Definition
Hybrid Verification Methodology is a verification strategy that combines constrained-random testing and directed testing. For RISC-V processor verification, the evidence describes this approach as using constrained-random stimulus for breadth and directed suites for precision, because random testing can explore broad state spaces but may leave gaps, while directed tests provide structure but may miss unexpected interactions. [C1]
Rationale
RISC-V verification is challenging because the ISA is modular and includes many optional extensions, increasing verification complexity. The evidence states that comprehensive coverage typically requires more than one verification or comparison methodology and more than one stimulus technique. [C2]
Random stimulus is useful for uncovering unanticipated behaviors, but it may not fully exercise features such as privilege-mode transitions, page table walks, or memory protection. Directed suites can systematically validate such features, but they cannot anticipate every subtle corner case. The hybrid methodology addresses these complementary weaknesses by using random stimulus to discover unexpected behavior and directed suites to guarantee specification-oriented coverage and compliance. [C3]
Methodology flow
A typical hybrid flow begins with constrained-random sweeps using STING, followed by functional coverage analysis. Coverage gaps are then highlighted and closed using targeted directed tests. The evidence describes an iterative loop in which results are merged in Verdi and failing cases are replayed deterministically in VCS, combining broad random exploration with targeted closure. [C4]
Constrained-random phase
STING is described as a bare-metal, software-driven RISC-V generator that produces C++-based random streams and ASM-style directed tests. It uses a lightweight kernel, libraries, device drivers, and stimulus graphs to give users control over scheduling of generated random and directed tests. The generated programs are portable across simulation, emulation, FPGA prototypes, and silicon, and are architecturally self-checking. [C5]
In practice, STING has exposed issues such as deadlocks in page-table walks, mishandling of the fence.i instruction, floating-point NaN quirks, and cache-coherence conflicts. These examples support its role in the broad-exploration portion of the hybrid methodology. [C6]
Directed-test phase
Directed stimulus is used to address gaps found by coverage analysis. The evidence identifies ImperasTS directed suites such as TS-ISA for architectural validation, TS-VECT for vector extensions, and TS-MMU/PMP/ePMP for virtual memory and protection features. These suites are described as efficiently targeting areas where random stimulus often leaves gaps. [C7]
The evidence gives an example in which coverage analysis revealed weak points in Sv39 and Sv48 page-table walks; adding TS-MMU tests exposed a subtle ordering issue in TLB flush logic. [C8]
Coverage closure and debug
The hybrid approach is explicitly associated with faster coverage closure: random stimulus with STING uncovers unexpected behaviors, while directed suites provide precise tests that accelerate convergence. [C9]
Debug efficiency is improved by combining architecturally self-checking tests with lock-step comparison in ImperasDV, allowing mismatches to be identified immediately and simplifying root-cause analysis. The evidence also states that failing cases can be replayed deterministically in VCS, supporting reproducibility across regression cycles. [C10]
Portability and shift-left use
The methodology supports reuse of tests across simulation, ZeBu emulation, HAPS FPGA prototyping, and silicon. The evidence states that this portability enables a shift-left methodology because tests developed during RTL bring-up remain valuable in later validation stages and even in silicon. Coverage analysis can also begin before RTL using ImperasSC, allowing coverage growth before RTL maturity. [C11]
Benefits
According to the evidence, a hybrid approach provides several benefits for RISC-V verification teams:
- Faster coverage closure through STING random stimulus and precise directed tests.
- Improved debug efficiency through self-checking tests and lock-step comparison.
- Scalability and reproducibility across simple embedded cores and complex multi-hart systems, with logged seeds and directed reruns.
- Portability and shift-left enablement across simulation, emulation, FPGA prototyping, and silicon.
- Future-ready compliance for RISC-V profiles and privilege-related specifications, including MMU, PMP, hypervisor, and vector extensions. [C12]
Position in a verification environment
The evidence frames test generation as part of a broader RISC-V verification toolbox that includes simulation, reference models, debug tools, and hardware-assisted platforms. In that environment, constrained-random and directed tests are most effective when integrated with coverage, debug, and comparison infrastructure. [C13]