Formal Verification · All levels

Safety vs Liveness, Strong vs Weak: Theory Deep Dive

Theory Deep Dive for Safety vs Liveness, Strong vs Weak.

Foundational theory

Safety vs Liveness, Strong vs Weak is a core topic in SystemVerilog Assertions (SVA). Treat each proof result as evidence under a modeled world, not a context-free truth statement.

Core concepts explained

  • Safety properties state that something bad never happens (for example mutual exclusion: `assert property (@(posedge clk) !(wr && rd));`), while liveness properties state that something good eventually happens (for example progress: `req |-> s_eventually gnt`). In formal, weak eventuality can pass vacuously when the trace terminates before progress is forced, so use strong intent where required: `req |-> strong(##[1:$] gnt)` requires grant to occur on every satisfying path, not just non-failing finite prefixes. Pair liveness with fairness/environment assumptions (like downstream can accept responses) or proofs may report unrealizable counterexamples dominated by hostile environments rather than design bugs.

  • Primary metric: non-vacuous closure rate, counterexample turnaround time, and requirement-level residual risk trend

  • Primary artifact: formal closure packet: assumptions audit, proof status matrix, counterexample classification, and requirement traceability

  • Owners: formal verification owner, rtl owner, verification lead

  • Proof quality includes vacuity and reachability, not pass/fail status only.

  • Assumption discipline is part of design correctness, not tool setup.

Why this matters in formal signoff

Liveness mis-specification can produce green dashboards while progress bugs survive in integration stress.

Mental model

diagram
ASSERTION TIMING (|-> implication)

clk      : _|^|_|^|_|^|_|^|_
req      : __/---\___________
gnt      : ________/---\_____
property : req |-> ##[1:2] gnt

Meaning: whenever req rises, gnt must appear in 1-2 cycles.

Worked intuition

  1. Define requirement slice and property intent class (safety, liveness, or reachability).

  2. Audit assumptions and reset model before trusting any status outcome.

  3. Track movement in non-vacuous closure rate, counterexample turnaround time, and requirement-level residual risk trend with requirement-level ownership.

  4. Collect formal closure packet: assumptions audit, proof status matrix, counterexample classification, and requirement traceability before signoff or waiver decisions.

  5. Apply one bounded model or RTL change per debug hypothesis.

  6. Publish closure with residual risk and rollback conditions.

Common misconceptions

  • Green proof status always means silicon-safe behavior.

  • Faster convergence always means better model quality.

  • Unreachable cover goals are acceptable if safety assertions pass.

  • Bounded depth is equivalent to full proof unless a failure appears.

Formal deep dive

SVA scales when temporal intent, clock sampling, and reset gating are precise enough to be replayed and reviewed.

Concept diagram

diagram
SVA INTENT CHAIN

timing contract -> sequence composition -> property implication -> sampled failure trace

Metric graph

diagram
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?

Key takeaways

  • Tie each proof claim to assumption boundaries and reachability evidence.

  • Prefer minimal reversible fixes and preserve legal behavior visibility.

Common pitfalls

  • Treating runtime reduction as proof-quality improvement without audits.

  • Declaring closure while critical covers remain unreachable.

  • Using broad waivers instead of first-divergence root-cause ownership.

Theory reinforcement

Theory matters only when it predicts observed traces and closure movement.

Use precise terminology for safety, liveness, boundedness, and vacuity.