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

Covers first: does the environment work?

Before asserting anything, ask the tool to show you that the timer can do its job. Each cover is a question of the form "can this happen?" and the answer comes with a waveform.

covers (part of periodic_timer_fv.sv)
// ---------------------------------------------------------------- covers
c_running:   cover property (running);
c_irq:       cover property (irq);
c_two_irqs:  cover property (irq ##[1:$] irq);           // periodic, not one-shot
c_stop_hold: cover property (running && stop ##1 running && stop);
c_reload_while_running: cover property (running && load);

Expected results:

CoverExpectedShortest trace
c_runningcoveredreset, load period ≥ 2 → running one cycle later
c_irqcoveredload period 2 → count 2, 1 → irq (about 4 cycles from reset)
c_two_irqscoveredthe second irq exactly one period after the first
c_stop_holdcoveredstop held for two cycles while running
c_reload_while_runningcoveredsoftware restarts the timer mid-period
Was this page helpful?

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