Formal Property Verification

Formal Property Verification is the mathematical technique that exhaustively proves or disproves whether a design satisfies a specified property for ALL possible input sequences — providing complete verification coverage that simulation can never achieve, detecting corner-case bugs that would require billions of simulation cycles to encounter, and serving as a critical signoff methodology for safety-critical and high-reliability chip designs.

Formal vs. Simulation

AspectSimulationFormal Verification
CoverageSamples (10⁶-10⁹ vectors)Exhaustive (ALL possible inputs)
Bug findingFinds common bugsFinds corner-case bugs
Proof capabilityCannot prove absence of bugsCan PROVE property holds
ScalabilityAny design sizeLimited (< 100K-500K gates effectively)
Setup effortTestbench + stimuliProperties + constraints

Formal Techniques

TechniqueApplicationTool
Equivalence Checking (LEC)RTL vs. netlist, pre/post-ECOConformal (Cadence), Formality (Synopsys)
Model CheckingProperty verification (SVA assertions)JasperGold (Cadence), VC Formal (Synopsys)
Sequential EquivalenceVerify retiming, sequential optimizationSame tools with sequential mode
X-propagationVerify correct X handling in resetsFormal X-prop analysis
ConnectivityVerify signal connectivity in SoCFormal connectivity checking

Equivalence Checking (Most Widely Used)

  • Compares two designs: Reference (RTL) vs. Implementation (gate-level netlist).
  • Proves every output is functionally identical for all inputs.
  • Used after: Synthesis, P&R, ECO — each step verified against golden RTL.
  • Runs in minutes-hours for even billion-gate designs.

Model Checking (Property Verification)

  • User writes properties in SVA: "Request always followed by acknowledge within 5 cycles."
  • Formal tool explores ALL reachable states of the design.
  • If property violated → tool provides counterexample (specific input sequence that breaks property).
  • If property holds → mathematical proof (bounded or unbounded).

Bounded vs. Unbounded Proof

  • Bounded Model Checking (BMC): Prove property for first N cycles (N = 10-100).
  • Fast, finds bugs quickly, but not a complete proof.
  • Unbounded (Full Proof): Prove property for ALL time — requires finding inductive invariant.
  • Harder, may timeout on complex designs — but provides absolute guarantee.

Formal Verification in Design Flow

1. RTL phase: Model checking on blocks (< 100K gates) — prove protocol, FSM, datapath properties.
2. Post-synthesis: LEC (RTL vs. gate netlist).
3. Post-P&R: LEC (synthesis netlist vs. P&R netlist).
4. Post-ECO: LEC (original vs. ECO'd netlist).
5. Signoff: All LEC clean, all critical properties proven.

Formal property verification is the mathematical foundation of chip design correctness — while simulation tests what you think of, formal verification proves properties hold for scenarios you never imagined, making it indispensable for catching the subtle corner-case bugs that would otherwise escape to silicon.

Take formal property verification further

Ask the copilot about this term, or have our engineers assess it against your process.