Professional Documents
Culture Documents
Formality Flow
Formality Terminology
Ahmed Abdelazeem
12 Nov 2022
Outline
What is Formal Verification?
Introduction to Equivalence Checking
Using Formality
Flow Overview
Formality Flow
Fundamental Formality steps
Key Equivalence Checking Concepts
Key Equivalence Checking Concepts
Formality Flow 0: Guidance
Formality Flow 1: Reading the Designs
Formality Flow 2: Match
Breaking Design Into Cones and Points
Match Compare Points
Classic Matching
Classic Matching -2
Ahmed Abdelazeem Formal Equivalence Checking
What is Formal Verification? Introduction to Equivalence Checking
Formality Flow Using Formality
Formality Terminology Flow Overview
FORMAL Verification
Definition
Formality Flow
▶ There are four basic steps in equivalence checking:
▶ Read
▶ Match
▶ Verification
▶ Debug
Step 0: Guidance
Step 5: Verify
Step 6: Debug
▶ If verification fails, you need to determine the cause:
▶ An incorrect setup?
▶ A logical design difference between the two designs?
Formality Terminology
▶ Reference Design
▶ The “golden” design under test
▶ Frequently RTL (Verilog, SystemVerilog, VHDL)
▶ Simulated and known to be good
▶ Implementation Design
▶ The modified design being checked against the golden
reference
▶ Containers
▶ Formality database for designs and libraries
▶ Default reference container is named “r”
▶ Default implementation container is named “i”
▶ Can be saved and read using any version of Formality
Summary