FVO — Formal Verification Online
Lesson 4.1 · Formal Property Verification (FPV) Basics

The FPV loop

Formal property verification (FPV) means proving SVA assertions on RTL with a model checker. Regardless of the tool or the block, the work follows the same loop:

1. Read the spec2. Write covers3. Add assumptions4. Add assertions5. Run the tool6. Debug & refineiterate
The FPV loop. Most time is spent between steps 5 and 6 — debugging counterexamples and refining properties.

Two things about this loop surprise people coming from simulation:

  • Covers come first. Before trusting any "proven" result, you want evidence that the environment allows the interesting behaviour. Covers are cheap to write and quick to run.
  • Failures are welcome. Early counterexamples mostly reveal missing assumptions and misunderstood spec details. Each one teaches you something about the design.

In this chapter we will walk the loop once, end to end, on a small but realistic block.

Was this page helpful?

Tip: select any text on the page before clicking Report and it will be quoted in your report.