Verification Methodology
Purpose
Design verification environments and coverage-driven closure plans that prove functional correctness of RTL designs through structured stimulus generation, coverage modeling, and assertion-based checking.
Scope Constraints
Reviews RTL specifications and existing verification infrastructure. Does not execute simulations or formal tools. Does not modify RTL or testbench code.
Inputs
- RTL design specification or block description
- Verification requirements (features to verify, corner cases)
- Target coverage metrics (functional, code, assertion)
- Existing testbench infrastructure, if any
- Formal verification scope, if applicable
Input Sanitization
No user-provided values are used in commands or file paths. All inputs are treated as read-only analysis targets.
Procedure
Progress Checklist
Step 1: Define Verification Plan
- Extract features from specification and enumerate verification items.
- Classify each item by complexity and risk (high/medium/low).
- Map features to verification methods: directed test, constrained-random, formal.
- Define pass/fail criteria for each verification item.
- Set coverage targets per feature group.
Step 2: Architect UVM Testbench
- Define testbench hierarchy: test, env, agent, driver, monitor, scoreboard.
- Specify interface connections and virtual interface binding.
- Design sequence library with base sequences and derived scenarios.
- Plan scoreboard architecture: reference model, comparison strategy.
- Define configuration objects for testbench parameterization.
Step 3: Design Coverage Model
- Define functional coverage groups aligned with verification plan features.
- Specify coverpoints for key design parameters and state variables.
- Define cross-coverage for critical parameter combinations.
- Set per-bin and per-covergroup targets (default 100% for critical, 95% for standard).
- Plan coverage exclusions with documented justification.
Step 4: Plan Constrained-Random Stimulus
- Define transaction-level stimulus classes with randomizable fields.
- Specify constraints that target coverage holes and corner cases.
- Plan constraint layering: base constraints, scenario-specific, directed.
- Design weighted distributions to bias toward interesting scenarios.
- Identify fields requiring special constraint attention (boundary values, illegal combinations).
Step 5: Define Assertion Strategy
- Write interface protocol assertions (bus handshake, flow control).
- Define internal design assertions (FSM transitions, data path integrity).
- Specify liveness properties (eventually responds, eventually completes).
- Plan assertion coverage tracking (how many assertions fired/covered).
- Identify candidates for formal proof vs simulation-based checking.
Step 6: Plan Coverage Closure
- Define regression suite structure: sanity, nightly, weekly.
- Plan seed management for reproducibility.
- Set coverage merge strategy across regression runs.
- Define coverage closure criteria for sign-off.
- Plan for hole analysis: identify uncovered bins and write targeted tests.
Compaction resilience: If context was lost, re-read the Inputs section for the design under verification, check the Progress Checklist, then resume from the earliest incomplete step.
Output Format
Verification Plan Summary
| Feature |
Method |
Coverage Target |
Priority |
Status |
| Bus protocol |
UVM + formal |
100% |
P0 |
... |
| Data path |
Constrained-random |
95% |
P0 |
... |
| Error handling |
Directed + random |
100% |
P1 |
... |
Coverage Model
| Coverage Group |
Coverpoints |
Cross-Coverage |
Target |
cg_bus_txn |
addr, size, burst |
addr x size |
100% |
| ... |
... |
... |
... |
Handoff
- Hand off to chip-design-flow for RTL coding style or synthesis guidance.
- Hand off to soc-integration for SoC-level verification planning.
- Hand off to prover/formal-spec for complex formal property specification.
Quality Checks
Evolution Notes
1---2name: verification-methodology3description: Use when designing verification environments, planning coverage-driven closure, or architecting UVM testbenches. Covers constrained-random stimulus, functional coverage models, assertion-based verification, formal property checking, and coverage closure planning. Do not use for RTL design flow (use chip-design-flow) or SoC integration (use soc-integration).4---56# Verification Methodology78## Purpose910Design verification environments and coverage-driven closure plans that prove functional correctness of RTL designs through structured stimulus generation, coverage modeling, and assertion-based checking.1112## Scope Constraints1314Reviews RTL specifications and existing verification infrastructure. Does not execute simulations or formal tools. Does not modify RTL or testbench code.1516## Inputs1718- RTL design specification or block description19- Verification requirements (features to verify, corner cases)20- Target coverage metrics (functional, code, assertion)21- Existing testbench infrastructure, if any22- Formal verification scope, if applicable2324## Input Sanitization2526No user-provided values are used in commands or file paths. All inputs are treated as read-only analysis targets.2728## Procedure2930### Progress Checklist31- [ ] Step 1: Define verification plan32- [ ] Step 2: Architect UVM testbench33- [ ] Step 3: Design coverage model34- [ ] Step 4: Plan constrained-random stimulus35- [ ] Step 5: Define assertion strategy36- [ ] Step 6: Plan coverage closure3738### Step 1: Define Verification Plan3940- Extract features from specification and enumerate verification items.41- Classify each item by complexity and risk (high/medium/low).42- Map features to verification methods: directed test, constrained-random, formal.43- Define pass/fail criteria for each verification item.44- Set coverage targets per feature group.4546### Step 2: Architect UVM Testbench4748- Define testbench hierarchy: test, env, agent, driver, monitor, scoreboard.49- Specify interface connections and virtual interface binding.50- Design sequence library with base sequences and derived scenarios.51- Plan scoreboard architecture: reference model, comparison strategy.52- Define configuration objects for testbench parameterization.5354### Step 3: Design Coverage Model5556- Define functional coverage groups aligned with verification plan features.57- Specify coverpoints for key design parameters and state variables.58- Define cross-coverage for critical parameter combinations.59- Set per-bin and per-covergroup targets (default 100% for critical, 95% for standard).60- Plan coverage exclusions with documented justification.6162### Step 4: Plan Constrained-Random Stimulus6364- Define transaction-level stimulus classes with randomizable fields.65- Specify constraints that target coverage holes and corner cases.66- Plan constraint layering: base constraints, scenario-specific, directed.67- Design weighted distributions to bias toward interesting scenarios.68- Identify fields requiring special constraint attention (boundary values, illegal combinations).6970### Step 5: Define Assertion Strategy7172- Write interface protocol assertions (bus handshake, flow control).73- Define internal design assertions (FSM transitions, data path integrity).74- Specify liveness properties (eventually responds, eventually completes).75- Plan assertion coverage tracking (how many assertions fired/covered).76- Identify candidates for formal proof vs simulation-based checking.7778### Step 6: Plan Coverage Closure7980- Define regression suite structure: sanity, nightly, weekly.81- Plan seed management for reproducibility.82- Set coverage merge strategy across regression runs.83- Define coverage closure criteria for sign-off.84- Plan for hole analysis: identify uncovered bins and write targeted tests.8586> **Compaction resilience**: If context was lost, re-read the Inputs section for the design under verification, check the Progress Checklist, then resume from the earliest incomplete step.8788## Output Format8990### Verification Plan Summary9192| Feature | Method | Coverage Target | Priority | Status |93|---------|--------|----------------|----------|--------|94| Bus protocol | UVM + formal | 100% | P0 | ... |95| Data path | Constrained-random | 95% | P0 | ... |96| Error handling | Directed + random | 100% | P1 | ... |9798### Coverage Model99100| Coverage Group | Coverpoints | Cross-Coverage | Target |101|---------------|-------------|----------------|--------|102| `cg_bus_txn` | addr, size, burst | addr x size | 100% |103| ... | ... | ... | ... |104105## Handoff106107- Hand off to chip-design-flow for RTL coding style or synthesis guidance.108- Hand off to soc-integration for SoC-level verification planning.109- Hand off to prover/formal-spec for complex formal property specification.110111## Quality Checks112113- [ ] All specification features mapped to verification items114- [ ] UVM testbench hierarchy defined with component responsibilities115- [ ] Functional coverage model aligned with verification plan116- [ ] Constrained-random strategy targets coverage holes117- [ ] Interface and internal assertions specified118- [ ] Regression suite structure and coverage merge planned119- [ ] Coverage closure criteria defined for sign-off120121## Evolution Notes122<!-- Observations appended after each use -->