Formal Verification · All levels
SystemVerilog Assertions (SVA)
SVA converts intent into executable properties so simulation and formal runs catch temporal bugs early, document protocol contracts, and accelerate debug with cycle-accurate failure traces.
Section goal
SVA converts intent into executable properties so simulation and formal runs catch temporal bugs early, document protocol contracts, and accelerate debug with cycle-accurate failure traces.
How to study this section
Start with each topic hub and restate the requirement intent in your own words.
Use reports and debug pages to classify first divergence accurately.
Practice worked examples and interview drills with fixed run metadata.
Close with checklist and residual-risk framing before signoff claims.
Topics
sva-sequences-and-properties/ - SVA Sequences and Properties
implication-and-clocking/ - Implication Operators, Clocking, and Reset Gating
liveness-vs-safety/ - Safety vs Liveness, Strong vs Weak
assertion-debug/ - Debugging Failing Assertions Effectively
Related topics
Formal deep dive
SVA scales when temporal intent, clock sampling, and reset gating are precise enough to be replayed and reviewed.
Concept diagram
SVA INTENT CHAIN
timing contract -> sequence composition -> property implication -> sampled failure traceMetric graph
ASSERTION QUALITY SIGNALS
non-vacuous hit rate ████████
clock/reset mismatches ████
false-positive churn ███Metrics and artifacts to collect
assertion trigger hit-rate
implication timing mismatch bucket
reset-window noise ratio
assertion decomposition quality score
Mini case study
A protocol failure vanished after correcting `|->` vs `|=>` semantics and reset masking boundaries.
Debug branches
Confirm antecedent trigger at sampled clock edges.
Verify implication operator matches protocol timing contract.
Split monolithic properties into stage-local checks.
Senior review question
Ask: which requirement intent is proven, under which assumptions, and what residual risk remains?