Formal Verification
Formal Verification
- Checks for all possible runs
- Advantages
–Provides 100% coverage for a defined property
–Complete verification of the specification is possible
–Good for state centric designs
- Disadvantages
–Limitations with the design sizes
Solution
Semiformal Verification
- Hybrid between formal verification and simulation
- Advantages
–Better coverage
–Can go deep into the design
–Can handle larger designs
- Disadvantages
–Suitable for finding bugs (falsification)
Three Variants of Formal Verification
Model checking
–Explicit
–Symbolic model checking (with BDD)
–Bounded model checking (with SAT: bmc)
Equivalence checking
–Equivalence checking is a process of comparing two circuits supposed to have identical behavior (verity, SixthSense, formality, conformal)
- Synthesis
- Retiming
- Power optimization
Theorem Proving
- Function to be proved: (x+1)(x+1) = x2 + 2x +1
Model Checking – Tool Flow
Microwave Oven Example
Symbolic Representation
Temporal Properties
Benefits of properties
- Improved understanding of system and its requirements
- Improved communication of design intent among involved parties
Any Time Brake implies slowdown
- Examples of temporal property description
–PSL (Property Specification Language)
–CTL (Computation tree logic)
–LTL (Linear time temporal logic)
Temporal Logic – Syntax LTL
Model Checking – Schematic
Testbenches
Truth Table and Boolean Decision Tree
BDD is a rooted, directed acyclic graph