In: Computer Science
What are the three main types for formal verification and can you give names for industry tools in formal verification?
Formal
verification:
Formal verification is that the overarching term
for a set of techniques that use static analysis
supported mathematical transformations to
see the correctness of hardware or
package behavior in distinction
to dynamic verification techniques like
simulation.
Equivalence
checking:
Some styles of formal verification area
unit already widespread in style.
Equivalence checking has been used for quite a
decade to see that RTL and gate-level descriptions
of a style represent an
equivalent style. Equivalence checking
was introduced in response to the matter of larger
styles olympian the effective
capability of gate-level simulation tools, and
quickly took over from hardware-acceleration solutions
furthermore as software-only gate-level
simulators. For users, the equivalence checking technology
is comparatively straightforward
to use within the manner
it's been packaged by vendors, in
tools such as Formality from Synopsys.
Model
checking:
Model-checking formal verification is a lot of
advanced to deploy because it not
solely depends on user-generated
assertions however on the proper
choice of algorithms for a given
downside. early formal verification tools
additionally suddenly met
difficulties on them as a result of the solvers,
that were then, for the most part,
supported equivalent binary
call diagrams used in early equivalence checking
tools quickly ran out of memory. It took a
modification within the
manner that multipliers can be
delineated to try to made the
duty of confirming them formally
tractable.
SoC-level formal
verification:
As typical verification has
nonetheless to arrive associate
degree exceedingly|in a very} form which
will take a look at the
complete behavior of an SoC, it has to be
used as a part of a wider verification strategy
which will embrace simulation
and, possibly for big
styles, emulation. Coverage management is
a good mechanism for integration
formal verification into a wider flow as, through the
choice of applicable coverage points,
it's doable to steer simulation
vectors off from elements of the
logic that have already been effectively tested by formal
techniques.
Focused formal
verification:
Clock domain crossing is an honest example of
a vicinity of growing importance. federal
agency has been with the USA for
a protracted time, however,
it's the proliferation of clocks in today’s SoCs
that have seen it rise from, say, a third- to a first-order issue.
styles with some clocks
may need being addressed in
simulation; people who currently
have lots of area unit best
verified during this respect before hand.
X-propagation is another application of formal techniques, and
an honest example of one thing
that presents issues for simulation. a lot
of advanced styles
area unit throwing out a lot of
unknown states, which can cause
bugs being misidentified or lost.
Tools:
— Lesar is a symbolic, BDD-based, model-checker for Lustre. Lesar
being a model-Checker, verification is performed on
associate degree abstract model of the program.
Concretely, for strictly logical programs the
proof is complete, whereas in general the proof is
barely partial. to urge the tool see
here.
— NBac is a security property verification tool,
that analyzes synchronous and settled reactive
systems containing combination of mathematician
and numerical variables. NBac is predicated on
the speculation of abstract interpretation,
that permits the
USA to beat the undecidability of
the reachability/co-reachability downside for
the category of programs treated by NBac. Sets of
states area unit delineate by
values happiness to associate
degree abstract domain, and computations area
unit performed. This results in
conservative results: if a state is shown
inaccessible, then it's
obvious. a lot of details
here.
— Gloups is associate degree automatic generator
of PVS proof obligations. The tool performs a
discount of the initial property expressed upon finite and
infinite sequences into a collection of scalar
properties: our leading principle for this reduction is induction.
a lot of exactly, properties
area unit expressed as Lustre observers and then
reduced into a collection of scalar proof
obligations that area unit
discharged into the PVS theorem prover. associate
degree proof of those obligations
may be a proof of the initial invariant.
Those tools are used with many
industrial case studies from EADS, Airbus, Schneider, etc.
you'll be able to realize
a lot of details here.