DOC SVC.POSTREV 2026.07
PAGE 06 / 08● LIVE
← All insights

Choosing a useful scope for formal verification.

Select bounded, control-oriented questions with clear invariants instead of treating formal as a universal replacement for simulation.

RESETDEPTH kUNPROVENREACHABLE STATE / BOUND

Formal verification explores the mathematical model created by the RTL, properties, and environment constraints. Its value is greatest when the question is precise and the relevant state is bounded enough for the engine to analyze. It is not a universal replacement for simulation, software execution, performance analysis, or analog validation.

Classify the question first

Safety properties ask whether a bad condition is unreachable. Bounded checks ask whether a condition holds for a finite depth. Cover analysis asks whether a scenario is reachable. Liveness asks whether progress eventually occurs, usually with fairness assumptions. These are different proof obligations and should not be reported as interchangeable green results.

Good initial candidates include arbiters, FIFOs, small controllers, access-control logic, interrupt routing, protocol adapters, and reset sequencing. Their correctness can often be stated as local invariants or bounded response rules. Large datapaths and software-driven system scenarios may still benefit from formal techniques, but usually require abstraction, decomposition, or equivalence.

Draw the proof boundary

Choose the design under test, the state that must remain concrete, and the behavior supplied by the environment. Inputs are unconstrained unless assumptions restrict them. Those assumptions are part of the model and must describe legal behavior without removing the failures the property is intended to detect.

  1. Target: the exact safety, reachability, equivalence, or progress claim.
  2. Boundary: the RTL and state included in the model.
  3. Environment: legal input and protocol constraints.
  4. Abstraction: replaced structures and the argument that makes replacement sound.
  5. Result class: bounded, unbounded, covered, unreachable, or inconclusive.

Use formal and simulation as a portfolio

Assertions developed for formal analysis can monitor simulation. Formal counterexamples can become regression tests. Simulation can establish realistic traffic distributions and long system scenarios that are inefficient to prove. Coverage review can expose requirements that need a property rather than more random seeds.

A useful pilot has a small number of high-value obligations, explicit assumptions, and a time box. The outcome may be a proof, a counterexample, or a documented convergence limit. All three teach the programme something. A pilot that reports only the number of green properties encourages weak targets.

Define what success means

Before running a tool, decide whether the programme needs exhaustive proof, bounded confidence, bug finding, dead-code analysis, or property reuse. Record engine settings and tool versions for reproducibility. Review proof depth, vacuity, coverage, and assumptions alongside status.

The best formal scope is small enough to explain and important enough to matter.

Expand the scope only after the first boundary is understood. Formal adoption succeeds through a sequence of credible arguments, not through a dashboard containing the largest possible property count.

Primary references

Need help applying these methods to a verification programme? Start a technical conversation.

▌ Engage with us

Bring us your hardest verification problem.

A focused specialist or a defined work package — scope, responsibilities, milestones, and evidence are agreed for each engagement.