advanced sat techniques for bounded model checking of
play

Advanced SAT-Techniques for Bounded Model Checking of Blackbox - PowerPoint PPT Presentation

Advanced SAT-Techniques for Bounded Model Checking of Blackbox Designs Marc Herbstritt (joint work with Bernd Becker and Christoph Scholl) Institute of Computer Science Albert-Ludwigs-University Freiburg im Breisgau, Germany Presentation at


  1. Advanced SAT-Techniques for Bounded Model Checking of Blackbox Designs Marc Herbstritt (joint work with Bernd Becker and Christoph Scholl) Institute of Computer Science Albert-Ludwigs-University Freiburg im Breisgau, Germany Presentation at IEEE MTV 2006, Dec 04 2006 www.avacs.org

  2. Overview Introduction 1 Blackbox BMC using 01X-Logic 2 Example Basic algorithm Improvements Experimental Results Blackbox BMC using QBF 3 Example Basic modelling Additional Constraints Final QBF Formula Experimental Results Conclusions 4

  3. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Background Formal Verification of Circuits → Checking correctness between specification and implementation Model Checking → Specification given by a set of (temporal) properties → Model Checking to prove that circuit model fulfills the properties → Bounded Model Checking to falsify properties Blackbox Designs → describe partial circuit implementations → occur naturally in early design phase → can be used for abstraction, e.g. in diagnosis This work: → Bounded Model Checking of Blackbox Designs (BB-BMC) → Improving BB-BMC based on 01X-logic → More concise formulation for BB-BMC using QBF

  4. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Background Formal Verification of Circuits → Checking correctness between specification and implementation Model Checking → Specification given by a set of (temporal) properties → Model Checking to prove that circuit model fulfills the properties → Bounded Model Checking to falsify properties Blackbox Designs → describe partial circuit implementations → occur naturally in early design phase → can be used for abstraction, e.g. in diagnosis This work: → Bounded Model Checking of Blackbox Designs (BB-BMC) → Improving BB-BMC based on 01X-logic → More concise formulation for BB-BMC using QBF

  5. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Background Formal Verification of Circuits → Checking correctness between specification and implementation Model Checking → Specification given by a set of (temporal) properties → Model Checking to prove that circuit model fulfills the properties → Bounded Model Checking to falsify properties Blackbox Designs → describe partial circuit implementations → occur naturally in early design phase → can be used for abstraction, e.g. in diagnosis This work: → Bounded Model Checking of Blackbox Designs (BB-BMC) → Improving BB-BMC based on 01X-logic → More concise formulation for BB-BMC using QBF

  6. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Background Formal Verification of Circuits → Checking correctness between specification and implementation Model Checking → Specification given by a set of (temporal) properties → Model Checking to prove that circuit model fulfills the properties → Bounded Model Checking to falsify properties Blackbox Designs → describe partial circuit implementations → occur naturally in early design phase → can be used for abstraction, e.g. in diagnosis This work: → Bounded Model Checking of Blackbox Designs (BB-BMC) → Improving BB-BMC based on 01X-logic → More concise formulation for BB-BMC using QBF

  7. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Applications of Blackbox Designs: ISCAS c3540 Shifter A MUX MUX B MUX BCD−SUB BCD−ADD ALU MUX C3540: ALU with binary and BCD arithmetic, logic and shift operations. (Source: Hansen, Yalcin, Hayes − Unveiling the ISCAS85 Benchmarks, IEEE Design&Test, 1999) Abstraction: Hide components that are not necessary 1 Verification of Partial Designs: E.g. in early design stage 2 Error Diagnosis: Localisation of error 3

  8. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Applications of Blackbox Designs: ISCAS c3540 op(A,B,+,bin) = enc(A,bin) + enc(B,bin) ? Shifter A MUX MUX B MUX BCD−SUB BCD−ADD ALU MUX Abstraction: Hide components that are not necessary 1 Verification of Partial Designs: E.g. in early design stage 2 Error Diagnosis: Localisation of error 3

  9. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Applications of Blackbox Designs: ISCAS c3540 op(A,B,+, ) = bin enc(A, ) + enc(B, ) ? bin bin Blackbox A MUX MUX B MUX Blackbox Blackbox ALU Property is not dependent MUX on BCD−units and Shifter, but only on encoding binary Abstraction: Hide components that are not necessary 1 Verification of Partial Designs: E.g. in early design stage 2 Error Diagnosis: Localisation of error 3

  10. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Applications of Blackbox Designs: ISCAS c3540 op(A,B,+,bin) = enc(A,bin) + enc(B,bin) ? Blackbox A MUX MUX B MUX Blackbox BCD−ADD ALU Implementation of Shifter and MUX BCD−SUB unit not finished Abstraction: Hide components that are not necessary 1 Verification of Partial Designs: E.g. in early design stage 2 Error Diagnosis: Localisation of error 3

  11. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Applications of Blackbox Designs: ISCAS c3540 Shifter A MUX MUX B Blackbox MUX BCD−SUB ALU MUX Check whether error lies within the blackbox region Abstraction: Hide components that are not necessary 1 Verification of Partial Designs: E.g. in early design stage 2 Error Diagnosis: Localisation of error 3

  12. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Blackbox BMC using 01X-Logic: Example Y q0 p Black− box q1 q ′ q ′ 0 = q 0 + y + Z 1 = q 0 + q 1 p = q 0 ⊕ q 1 Property: AG ( ¬ p )

  13. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Blackbox BMC using 01X-Logic: Example Y q0 X 0 p Black− box 0 q1 1 step y q 0 q 1 p 0 — 0 1 0

  14. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Blackbox BMC using 01X-Logic: Example 1 Y q0 X 1 p Black− box 0 q1 1 step y q 0 q 1 p 0 — 0 1 0 1 1 1 1 0

  15. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions Blackbox BMC using 01X-Logic: Example 0 Y q0 X 1 p Black− box 1 q1 1 step y q 0 q 1 p 0 — 0 1 0 1 1 1 1 0 2 0 1 1 1

  16. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions 01X-BB-BMC: Basics Blackbox outputs are unknown 1 ⇒ use logical value X , i.e., X = unknown whether 0 or 1 ⇒ use additional variable Z , and assign Z = X 01X-Logic 2 NOT 01X ( a ) AND 01X ( a , b ) a b 0 1 X 0 1 a 1 0 0 0 0 0 X X 1 0 1 X X 0 X X Deciding satisfiability for 01X-BB-BMC (see Herbstritt et 3 al. MTV’05) integrate deduction rules of 01X-logic at high-level into 1 structural SAT-solver: ( f = g · h , g = 1 , h = X ) ⇒ f = X , or apply two-valued encoding and solve purely propositional 2 SAT problem

  17. Introduction Blackbox BMC using 01X-Logic Blackbox BMC using QBF Conclusions 01X-BB-BMC: Two-valued encoding Two-valued encoding for 01X-Logic (see Jain et al. VTS’00) Mapping of 01X-values to tuples of propositional values 01X-value z encoding ( z 0 , z 1 ) 0 (1,0) 1 (0,1) X (0,0) Synthesis transformation using propositional operations only ⇒ NOT 01X ( a ) = [ a 1 , a 0 ] ⇒ AND 01X ( a , b ) = [ a 0 + b 0 , a 1 · b 1 ] Transformation preserves uniform encoding of value X

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