coverage driven verification

**Coverage-Driven Verification (CDV)** is the **systematic approach to measuring and closing verification completeness using quantitative coverage metrics** — ensuring that all critical design scenarios, corner cases, and functional states have been exercised before tapeout, replacing the ad-hoc "run more tests and hope" methodology with data-driven verification management. **Types of Coverage** **Code Coverage** (automatic, tool-measured): - **Line Coverage**: Was every line of RTL code executed? - **Branch Coverage**: Were both branches of every if/else taken? - **Toggle Coverage**: Did every signal transition both 0→1 and 1→0? - **FSM Coverage**: Were all states visited? Were all state transitions taken? - **Expression Coverage**: Were all conditions in complex expressions evaluated independently? **Functional Coverage** (user-defined, intent-specific): - **Coverpoints**: Define which values of specific signals must be observed. - **Cross Coverage**: Define which combinations of values must be observed together. - **Transition Coverage**: Define which value sequences must occur. - **Example**: For a FIFO design, functional coverage might require: - FIFO full condition observed. - FIFO empty condition observed. - Simultaneous read and write at full. - All data widths (8, 16, 32 bit) exercised. **CDV Workflow** 1. **Coverage Plan**: Document lists all scenarios to verify (derived from spec). 2. **Covergroup Implementation**: Translate plan into SystemVerilog covergroups. 3. **Constrained Random Simulation**: UVM testbench generates random-but-legal stimulus. 4. **Coverage Collection**: Simulator records which coverpoints were hit. 5. **Coverage Analysis**: Identify coverage holes — scenarios not yet exercised. 6. **Directed Tests**: Write targeted tests to hit remaining coverage holes. 7. **Coverage Closure**: All coverpoints hit → verification goal met. **Coverage Goals for Tapeout** | Metric | Typical Threshold | |--------|------------------| | Line coverage | > 98% | | Branch coverage | > 95% | | Toggle coverage | > 90% | | FSM coverage | 100% states, > 95% transitions | | Functional coverage | 100% (all defined coverpoints hit) | - Waivers required for any unreachable coverage holes (documented justification). Coverage-driven verification is **the industry-standard methodology for verification closure** — it transforms verification from an art into a measurable engineering discipline where quantitative coverage metrics determine when a design is ready for silicon.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account