FVO — Formal Verification Online
Lesson 10.2 · Taming Complexity

Reducing the design: parameters, black boxes, cut points

Sound vs unsound reductions

Every reduction either adds behaviours to the model (an over-approximation) or removes some (an under-approximation). For safety assertions:

ReductionEffectCan it hide a bug?Can it create a false failure?
Black-box a sub-moduleIts outputs become free inputsNoYes — free outputs may do things the real module never does
Cut point on an internal signalSignal becomes a free inputNoYes
Smaller parameters (depth, width)Different, smaller designYesRarely
Extra assumption / case splitFewer input behavioursYesNo

Over-approximations are "safe": if the assertion proves with them, it proves for the real design. If they cause a spurious failure, add a few assumptions on the cut signals that capture what the real logic guarantees (and ideally assert those on the real logic separately).

Cut points in practice

inputscomplex logic(e.g. CRC, multiplier)✂ cutfree inputcontrolThe property on the control logic no longer pulls the complex logic into its cone
A cut point disconnects a signal from its driver. Everything that only fed that signal drops out of the cone.

A typical example: an error-detection block computes a CRC over a 512-bit packet and raises crc_err. The control FSM that reacts to crc_err is what you want to verify. Cut crc_err — it can now be 0 or 1 on any cycle — and the CRC tree disappears from the cone. If the FSM is correct for any value of crc_err, it is correct for the real one.

Was this page helpful?

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