Coverage-Driven Verification
TechniqueCoverage-Driven Verification (CDV) is an iterative hardware verification methodology that uses a verification plan, constrained-random test generation directed by test-templates, and coverage feedback to guide the verification process toward coverage closure. Originating in processor verification (Abarbanel et al., 1996), it has been extended to unify pre-silicon simulation and post-silicon silicon validation (Adir et al., DATE 2011), underpins modern RISC-V UVM flows, supports Chisel-built processor models via staged strategies, and is being enhanced with machine-learning techniques to reduce redundant regression simulation.
WIKI
Overview
Coverage-Driven Verification (CDV) is a functional verification methodology in which a verification plan specifies the features to be checked, constrained-random stimuli are directed toward those goals via test-templates, and coverage analysis provides feedback that drives subsequent stimulus and test-template changes. The IBM DATE 2011 unified methodology paper (Adir et al.) describes CDV as being "based on three main components": a verification plan of features in the Design Under Verification (DUV), random stimuli generators directed toward those goals via test-templates, and coverage analysis tools that detect verification-plan events and report progress.
The same paper traces CDV back to established prior work on test-generation and coverage-driven classification, citing Abarbanel, Lichtenstein, Malka and Ur's "Coverage Driven Processor Bug Classification" (submitted to DAC 1996) as a foundational reference for the methodology. CDV draws on earlier work in protocol design validation (Holtzman 1991), symbolic model checking (McMillan 1992/1993), symbolic instruction-graph architectural verification (Chandra et al. 1994), constraint-based test-program generation (Lewin et al. 1995; Chandra and Iyengar 1992), architectural validation (Ho et al. 1995), and automatic test-program generation for pipelined processors (Iwashita et al. 1994).