Presentation is loading. Please wait.

Presentation is loading. Please wait.

Approximate Reachability With Combined Symbolic And Ternary Simulation

Similar presentations


Presentation on theme: "Approximate Reachability With Combined Symbolic And Ternary Simulation"— Presentation transcript:

1 Approximate 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

2 Outline Approximate Reachability Our Contributions Symbolic Simulation
X-Saturation Experimental Results Mike Case

3 Ternary Simulation Ternary Simulation: simulate an AIG over 3-valued logic: Input 1 AND Input 2 1 X TR Inputs Regs NS Cycle 0: Init values X TR Inputs NS Cycle 1: X Regs TR Inputs Regs NS Cycle 2: X (copy values) (copy values) Mike Case

4 Convergence Criterion
Sequence of 3-valued states Converge when the current state  past states = Cycle 0: Cycle 2: 1X0000 Cycle 3: 00XX00 Cycle 4: 10XXX0 Cycle 5: 00XX00 000000 1X0000 00XX00 10XXX0 Reachability overapproximation Mike Case

5 Applications Oscillators  phase abstraction
Transients  temporal decomposition Constant and equivalent signals  simplification Oscillator Constant 000000 1X0000 00XX00 10XXX0 Transient Mike Case

6 Outline Approximate Reachability Our Contributions Symbolic Simulation
X-Saturation Experimental Results Mike Case

7 Problem #1: X-Initialized Latches
NS Fanout Cone X Init X X Mike Case

8 Symbolic Simulation Lack of resolution: X ≠ X
Symbols don’t have this problem: XA = XA New vocabulary: {0, 1, X, XA, XB, …} Handle initial values symbolically Symbols introduced judiciously Runtime vs. precision tradeoff Mike Case

9 Problem #2: Convergence
Convergence can require many iterations Counters + other deep designs are problematic Cycle 0: Cycle 2: 1X0000 Cycle 3: 00XX00 Cycle 4: 10XXX0 Cycle 5: 001X00 ? Mike Case

10 X-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 Mike Case

11 Outline Approximate Reachability Our Contributions Symbolic Simulation
X-Saturation Experimental Results Mike Case

12 Simulating {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 Mike Case

13 Limiting Symbolic Analysis
Problems: Symbols hurt convergence Processing millions of symbols is slow Solution: only create new symbols in cycle 0 00XAXB 00XAXC 00XAXD Mike Case

14 Limiting Symbolic Analysis
Cycle 0: Cycle 1: Cycle 2: TR NS TR NS TR NS Inputs Regs Inputs Regs Inputs Regs symbols Init values & 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 Mike Case

15 Enhanced 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 Mike Case

16 Outline Approximate Reachability Our Contributions Symbolic Simulation
X-Saturation Experimental Results Mike Case

17 X-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 Don’t 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 Mike Case

18 Cycle limit reached Enable X-Saturation
X-Saturation Example Cycle 0: Cycle 2: 1X0000 Cycle 3: 00XX00 Cycle 4: 10XXX0 Cycle 5: 001X00 Cycle limit reached Enable X-Saturation Cycle 6: 1XXXX0 = Cycle 7: 0XXXX0 Cycle 8: 1XXXX0 Mike Case

19 Outline Approximate Reachability Our Contributions Symbolic Simulation
X-Saturation Experimental Results Mike Case

20 Experiment 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 HWMCC’10 SEC Subset of the most challenging HWMCC problems Modified to have characteristics found in industrial SEC problems Mike Case

21 Symbolic Simulation Results
Small runtime overhead Can reduce design size where the previous approach fails Mike Case

22 X-Saturation Results 1122 IBM designs
13 designs converge in between 512 and 1M iterations 8 take > 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% Mike Case

23 Conclusion 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 Mike Case


Download ppt "Approximate Reachability With Combined Symbolic And Ternary Simulation"

Similar presentations


Ads by Google