Title: Approximate Reachability With Combined Symbolic And Ternary Simulation
1Approximate Reachability With Combined Symbolic
And Ternary Simulation
- Mike Case, Jason Baumgartner, Hari Mony, Bob
Kanzelman IBM System and Technology Group - FMCAD 2011
Now with Calypto Design Systems
2Outline
- Approximate Reachability
- Our Contributions
- Symbolic Simulation
- X-Saturation
- Experimental Results
3Ternary Simulation
- Ternary Simulationsimulate an AIG over 3-valued
logic
Input 1 AND Input 2 0 1 X
0 0 0 0
1 0 1 X
X 0 X X
4Convergence Criterion
- Sequence of 3-valued states
- Converge when the current state ? past states
Cycle 0000000
Cycle 21X0000
Cycle 300XX00
Cycle 410XXX0
Cycle 500XX00
5Applications
- Oscillators ? phase abstraction
- Transients ? temporal decomposition
- Constant and equivalent signals ? simplification
Oscillator
Constant
000000
1X0000
00XX00
10XXX0
Transient
6Outline
- Approximate Reachability
- Our Contributions
- Symbolic Simulation
- X-Saturation
- Experimental Results
7Problem 1 X-Initialized Latches
X
X
X
X
Fanout Cone
NS
X
Init
X
X
8Symbolic Simulation
- Lack of resolution X ? X
- Symbols dont have this problem XA XA
- New vocabulary 0, 1, X, XA, XB,
- Handle initial values symbolically
- Symbols introduced judiciously
- Runtime vs. precision tradeoff
9Problem 2 Convergence
- Convergence can require many iterations
- Counters other deep designs are problematic
?
Cycle 0000000
Cycle 21X0000
Cycle 300XX00
Cycle 410XXX0
Cycle 5001X00
?
10X-Saturation
- More abstraction ? Faster convergence
- X-Saturate force a signal to have value X in all
future iterations - When approximate reachability is slow
- Identify a set of not-important signals
- X-Saturate these signals
11Outline
- Approximate Reachability
- Our Contributions
- Symbolic Simulation
- X-Saturation
- Experimental Results
12Simulating 0, 1, X, XA, XB,
0 0 1 X X
XA XA XA XA ?XA 0 XA (XA XB ) XA
XB XA XB hash_lookup(XA, XB) XA XB
new_symbol()
precidence
- ?0 1 ?X X ?XA tracked explicitly
13Limiting Symbolic Analysis
- Problems
- Symbols hurt convergence
- Processing millions of symbols is slow
- Solution only create new symbols in cycle 0
00XAXB
00XAXC
00XAXD
14Limiting Symbolic Analysis
Cycle 0
Cycle 1
Cycle 2
TR
NS
TR
NS
TR
NS
Inputs
Regs
Inputs
Regs
Inputs
Regs
Init values symbols
symbols
X
X
XA XA XA XA ?XA 0 XA (XA XB ) XA
XB XA XB hash_lookup() XA XB new_symbol()
XA XA XA XA ?XA 0 XA (XA XB ) XA
XB XA XB hash_lookup() XA XB X
15Enhanced Applications
- Oscillators
- Some registers oscillate over symbolic values
- 0, XA, 0, XA, 0, XA, 0, XA,
- Transients
- Previously, transients defined as signals that
settle to 0 or 1 - Transients can now settle to 0,1, XA, XB,
- Constant and equivalent signals
- Signals can be stuck at a symbolic value XA
- XA XA ? more equivalent signals
16Outline
- Approximate Reachability
- Our Contributions
- Symbolic Simulation
- X-Saturation
- Experimental Results
17X-Saturation
- Problem simulation may not converge
- X-Saturate force a signal to have value X in all
future iterations - Solution X-saturate a set of registers after
resource limits are exhausted - Dont X-saturate oscillators, constant registers
- Would limit the applications
- Oscillators have high fanout ? X values on
oscillators bleed to a large part of the design
18X-Saturation Example
Cycle 0000000
Cycle 21X0000
Cycle 300XX00
Cycle 410XXX0
Cycle 5001X00
Cycle limit reachedEnable X-Saturation
Cycle 61XXXX0
19Outline
- Approximate Reachability
- Our Contributions
- Symbolic Simulation
- X-Saturation
- Experimental Results
20Experiment Setup
- Implemented in SixthSense
- Suite of 1122 industrial SEC problems
- Largest was 5.3M ANDs, 330k registers
- Pairs of correlated registers are initialized
with the same nondetermistic random value - HWMCC10 SEC
- Subset of the most challenging HWMCC problems
- Modified to have characteristics found in
industrial SEC problems - http//case-home.com/publications/hwmcc10_sec.tgz
21Symbolic Simulation Results
- Can reduce design size where the previous
approach fails
22X-Saturation Results
- 1122 IBM designs
- 13 designs converge in between 512 and 1M
iterations - 8 take gt 1M iterations
-
- For 13 that converge, we decrease runtime by 67
(average) preserve 94 of the gate reductions
(average) - Cumulatively, decrease runtime by 97 increase
gate reductions by 77
23Conclusion
- Approximate reachability with ternary simulation
is useful / problematic - Use partial symbolic simulation
- Little runtime overhead
- Dramatically enhances the precision
- Use X-saturation
- Helps convergence for deep designs
- Small impact to the overall precision
- Used every day within IBM