1 / 23

Approximate Reachability With Combined Symbolic And Ternary Simulation

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. Outline. Approximate Reachability Our Contributions Symbolic Simulation

uriel-oneil
Download Presentation

Approximate Reachability With Combined Symbolic And Ternary Simulation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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: Cycle 0: Cycle 1: Cycle 2: TR NS TR NS TR NS (copy values) (copy values) Inputs Regs Inputs Regs Inputs Regs Init values X X X Mike Case

  4. Convergence Criterion • Sequence of 3-valued states • Converge when the current state  past states = Cycle 0:000000 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 X X X X Fanout Cone NS 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 manyiterations • Counters + other deep designs are problematic ≠ Cycle 0:000000 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 = 1 X = X XA tracked explicitly 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 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 confusing 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. X-Saturation Example Cycle 0:000000 Cycle 2:1X0000 Cycle 3:00XX00 Cycle 4:10XXX0 Cycle 5:001X00 Cycle limit reachedEnable 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 • http://case-home.com/publications/hwmcc10_sec.tgz 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

More Related