using reverse domination
play

using Reverse Domination Bao Le, Hratch Mangassarian, Brian Keng, - PowerPoint PPT Presentation

Propelling SAT-based Debugging using Reverse Domination Bao Le, Hratch Mangassarian, Brian Keng, Andreas Veneris University of Toronto Outline SAT-based Design Debugging Introduction Motivation and Previous Work Dominators and


  1. Propelling SAT-based Debugging using Reverse Domination Bao Le, Hratch Mangassarian, Brian Keng, Andreas Veneris University of Toronto

  2. Outline • SAT-based Design Debugging Introduction • Motivation and Previous Work • Dominators and Reverse Dominators Non-Solution • Non-Solution Implications from Reverse Implications Domination Relationships SAT Branching • SAT Branching Scheme Scheme for Early Non-Solution • Non-Solution Detection Learning Results and Final • Experimental Results Remarks

  3. Outline • SAT-based Design Debugging Introduction • Domination Relationships • Dominators and Reverse Dominators Non-Solution • Non-Solution Implications from Reverse Implications Domination Relationships SAT Branching • SAT Branching Scheme Scheme for Early Non-Solution • Non-Solution Detection Learning Results and Final • Experimental Results Remarks

  4. SAT-based Design Debugging Given an erroneous circuit, a counter example of length 𝑙 , and error cardinality 𝑂:  Goal: Return shortlist of potentially buggy RTL blocks ( solutions )  Blocks that can be modified to fix counter-example  Procedure:  An error-select variable 𝑓 𝑗 is inserted at the outputs of each RTL block.  𝑓 𝑗 = 1 disconnects block from fan-ins, making its outputs free variables  𝑓 𝑗 = 0 does not modify the circuit  Enhanced circuit is replicated 𝑙 times using time-frame expansion.  Initial state, primary inputs and outputs are constrained to expected behavior of counter-example.  Each satisfying assignment to 𝑓 = {𝑓 1 , … , 𝑓 𝑜 } is a debugging solution  The SAT solver must find all such assignments to 𝑓 using blocking clauses.

  5. SAT-based Design Debugging  Example: b 1 x 1 g 1 x 2 g 3 y 2 x 3 b 4 g 2 g 4 y 1 x 4 b 2 b 3

  6. SAT-based Design Debugging e 1 e 4 Time-frame 1 b 1 b 4 x 1 0 g 1 x 2 g 3 0 e 1 y 2 e 4 e 1 b 1 0 b 4 x 1 x 3 0 1 g 1 g 2 x 2 g 3 g 4 1 y 1 x 4 1 b 2 1 e 2 b 3 x 3 0 e 3 g 2 y 2 g 4 y 1 1 x 4 1 b 2 1 Time-frame 2 e 2 b 3 e 3 SAT Solver returns 𝑓 4 = 1 for 𝑂 = 1; therefore, block 𝑐 4 (i.e. gate 𝑕 3 ) is the bug.

  7. SAT-based Design Debugging  SAT-based Design Debugging  Fault diagnosis and logic debugging using Boolean Satisfiability [Smith, Veneris, Ali, Viglas-TCAD2005]  Large designs, long counter-examples pose a scalability challenge even to modern SAT solvers.  Our contributions :  On-the-fly discovery of implied non-solution blocks using reverse domination  Goal is to prune the search space of design debugging  1.7x speed up in SAT solving time .

  8. Outline • SAT-based Design Debugging Introduction • Motivation and Previous Work • Dominators and Reverse Dominators Non-Solution • Non-Solution Implications from Reverse Implications Domination Relationships SAT Branching • SAT Branching Scheme Scheme for Early Non-Solution • Non-Solution Detection Learning Results and Final • Experimental Results Remarks

  9. Outline • SAT-based Design Debugging Introduction • Motivation and Previous Work • Dominators and Reverse Dominators Non-Solution • Non-Solution Implications from Reverse Implications Domination Relationships SAT Branching • SAT Branching Scheme Scheme for Early Non-Solution • Non-Solution Detection Learning Results and Final • Experimental Results Remarks

  10. Dominators  Block 𝑐 𝑘 is said to dominate block 𝑐 𝑗 if any path from a node in 𝑐 𝑗 to a primary output passes through a node in 𝑐 𝑘 . b1 b 4 b 2 b 3

  11. Dominators  Block 𝑐 𝑘 is said to dominate block 𝑐 𝑗 if any path from a node in 𝑐 𝑗 to a primary output passes through a node in 𝑐 𝑘 . b 1 b 4 b 2 b 3

  12. Dominators  Block 𝑐 𝑘 is said to dominate block 𝑐 𝑗 if any path from a node in 𝑐 𝑗 to a primary output passes through a node in 𝑐 𝑘 . b 1 b 4 b 2 b 3  Theorem [Mangassarian, Veneris, Smith, Safarpour- ICCAD’11] : b 4 dominates b 1  If 𝑐 𝑘 is a solution block, and 𝑐 𝑗 dominates 𝑐 𝑘 , then 𝑐 𝑗 is also a solution block

  13. Dominators  Block 𝑐 𝑘 is said to dominate block 𝑐 𝑗 if any path from a node in 𝑐 𝑗 to a primary output passes through a node in 𝑐 𝑘 . b 1 b 4 b 2 b 3 No block dominates b 2

  14. Reverse Dominators  A block 𝑐 𝑗 is a reverse dominator of block 𝑐 𝑘 if and only if 𝑐 𝑘 dominates 𝑐 𝑗 , denotes 𝑐 𝑗 𝐸 -1 𝑐 𝑘 . b1 b 4 b 2 b 3 Block b 1 is a reverse dominator of b 4

  15. Non-solution Implications Definition: Block 𝑐 𝑗 is a non-solution block iff 𝑓 𝑗 = 0 for all satisfying assignments.  Theorem:  If 𝑐 𝑘 is a non-solution block, and 𝑐 𝑗 𝐸 -1 𝑐 𝑘 , then 𝑐 𝑗 is also a non-solution block b1 b 4 b 2 b 3 If b 4 is a non-solution block, But how would we know that b 4 is a b 1 is also a non-solution block. non-solution in the first place?

  16. Outline • SAT-based Design Debugging Introduction • Motivation and Previous Work • Dominators and Reverse Dominators Non-Solution • Non-Solution Implications from Reverse Implications Domination Relationships SAT Branching • SAT Branching Scheme Scheme for Early Non-Solution • Non-Solution Detection Learning Results and Final • Experimental Results Remarks

  17. Outline • SAT-based Design Debugging Introduction • Motivation and Previous Work • Dominators and Reverse Dominators Non-Solution • Non-Solution Implications from Reverse Implications Domination Relationships SAT Branching • SAT Branching Scheme Scheme for Early Non-Solution • Non-Solution Detection Learning Results and Final • Experimental Results Remarks

  18. SAT Branching Scheme  A decision tree in a SAT solver gives the order in which variables are decided upon. Consider the decision tree: r r = 1 UNSAT

  19. SAT Branching Scheme  A decision tree in a SAT solver gives the order in which variables are decided upon. Consider the decision tree: r r = 1 r = 0 for all satisfying assignment UNSAT

  20. SAT Branching Scheme  A decision tree in a SAT solver gives the order in which variables are decided upon. Consider the decision tree: r r = 1 r = 0 for all satisfying assignment UNSAT If after analyzing r = 1, SAT Solver returns no satisfying assignment and starts analyzing r = 0, clearly r = 0 for any satisfying assignment (if one exists).

  21. Non-Solution Detection  What we have so far: r r = 1 UNSAT

  22. Non-Solution Detection  What about: e i e i = 1 e i = 0 for all satisfying assignments b i is a non-solution block. UNSAT

  23. Non-Solution Detection  In general, we can incrementally detect non-solution blocks. For example: e 1 e 1 = 1 𝑓 1 = 0 for all satisfying assignment e 2 UNSAT e 2 = 1 𝑓 2 = 0 for all satisfying assignment UNSAT e i 𝑓 𝑗 = 0 for all satisfying assignment e i = 1 UNSAT • 𝑓 2 , … 𝑓 𝑗 are also detected as non-solution blocks even though they are not the root of the decision tree.

  24. Non-Solution Detection  Deciding on the error-select variables first forces the SAT solver to learn about them faster  Pruning using non-solution implications can have a stronger effect

  25. Algorithm Overview  Rearrange the order such that error select variables 𝑓 appear first in the decision tree.  Extract learned non-solution blocks by inspecting the decision tree.  Use reverse domination relationships to learn more non-solution blocks. Add a blocking clause for each implied non-solution block.

  26. Outline • SAT-based Design Debugging Introduction • Motivation and Previous Work • Dominators and Reverse Dominators Non-Solution • Non-Solution Implications from Reverse Implications Domination Relationships SAT Branching • SAT Branching Scheme Scheme for Early Non-Solution • Non-Solution Detection Learning Results and Final • Experimental Results Remarks

  27. Outline • SAT-based Design Debugging Introduction • Motivation and Previous Work • Dominators and Reverse Dominators Non-Solution • Non-Solution Implications from Reverse Implications Domination Relationships SAT Branching • SAT Branching Scheme Scheme for Early Non-Solution • Non-Solution Detection Learning Results and Final • Experimental Results Remarks

  28. Experimental Results  Platform: i5 3.1Ghz, 8GB memory, 2 hour time-limit.  Benchmarks: Eight Opencores circuits and three industrial designs. For each, several bugs are injected to generate debugging instances.  We modified MiniSAT 2.2.0 to implement our techniques.  MiniSAT vs. dbgSAT  We compare to a state-of-the-art SAT-based debugger with solution implications [Mangassarian, etal- ICCAD’11 ]:

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend