Professional Documents
Culture Documents
Sequential Equivalence Checking Across Arbitrary Design Transformation: Technologies and Applications
Sequential Equivalence Checking Across Arbitrary Design Transformation: Technologies and Applications
Outline
Equivalence Checking
Logic
2
R2
X 0?
R1
S
Logic
2
0?
R2
SEC Paradigms
Initialized approaches
– Check equivalent behavior from user-specified initial states
– Assumes that designs can be brought into known reset states
More flexible:
– Enables checking specific modes of operation
– Applicable even if initialization logic altered (or not yet implemented)
– Applicable even to designs that are not exactly equivalent
• Pipeline stage added? check equivalence modulo 1-clock delay
• data_out differs when data_valid=0? check equiv only when data_valid=1
SixthSense Horsepower
Design N
Redundancy
Removal Design N’
Result N
Engine
Target
Enlargement Design N’’’
Result N’’
Engine
Result N’’’
Combinational
Optimization
SixthSense
Problem optimized trace
Engine
decomposition
via synergistic 119147 registers
transformations
These transformations are
Retiming Engine
optimized,
completely transparent retimed
to the
user trace
100902 registers
Reachability
Engine
Assume-then-prove Framework
Causes of refinement
Methodology restrictions
– Retiming may render name- and structure-based candidate
guessing ineffective
50000
40000 1000
30000
20000 0
10000 SMM
0
IFU 600
400
Original Design
200
After Merging via Induction
After Merging via TBV 0
S6669
• Induction alone unable to solve all properties
• TBV => solves all properties, faster than induction
Mapping file
Mismatch
OLD Design Trace
SixthSense
NEW Design Proof of
Equality
Initialization
Data
Outputs
Initialized
OLD Design
Inputs =?
Initialized
NEW Design
Mandatory inputs:
– Requires OLD and NEW version of a design
Clock-gating: input
Wanted to validate:
– "disable" mode truly disabled fix
– Fix had no impact upon other commands, non-target nodes
SixthSense
Verification approach:
– First, formally verified green box is equivalent VHDL
VHDL
to its spec using SixthSense (SEC) (Latch-Equivalent)
(Latch -
– Next, yellow box is verified equivalent to Verity(CEC)
green, macro by macro (takes minutes)
– Finally, schematics verified using Verity (CEC) Schematics
Schematics
– FPU verification is done completely by Formal
Benefits to CEC
– Improved latch pair matching via functional analysis
• Latch-phase determination, functional correspondence,…
– Apply constraints derived from SEC to simplify problems
Eliminates Risk:
– SEC is exhaustive, unlike sim regressions
Saves Resources:
– Obviates lengthy verification regressions
Conclusion: References/Links
Relevant Papers:
“Exploiting Suspected Redundancy without Proving it”, DAC 2005