application of lifting in partial design analysis marc
play

Application of Lifting in Partial Design Analysis Marc Herbstritt - PowerPoint PPT Presentation

Application of Lifting in Partial Design Analysis Marc Herbstritt (joint work with Vanessa Struve and Bernd Becker) Institute of Computer Science Albert-Ludwigs-University Freiburg im Breisgau, Germany Presentation at IEEE MTV 2007, Dec 06


  1. Application of Lifting in Partial Design Analysis Marc Herbstritt (joint work with Vanessa Struve and Bernd Becker) Institute of Computer Science Albert-Ludwigs-University Freiburg im Breisgau, Germany Presentation at IEEE MTV 2007, Dec 06 2007 www.avacs.org

  2. Overview Introduction 1 Preliminaries 2 BMC of Blackbox Designs using 01X-Logic Lifting 01X-Brute-Force Lifting 3 Lifting Strategies for 01X-Logic Experimental Results Automated Blackbox Synthesis 4 Combinational Equivalence Checking of Blackbox Designs Example Blackbox Synthesis Conclusions 5

  3. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions Background Formal Verification of Circuits → Correctness of implementation wrt. its specification → Combinational Equivalence Checking: “Golden” reference circuit vs. implementation → Model Checking Model Checking: Does circuit fulfill (temporal) properties? Bounded Model Checking (BMC) to falsify properties Blackbox Designs → partial circuit implementations, e.g., in early design phase → BMC of blackbox designs feasible by using 01X-logic and/or QBF (MTV’05, MTV’06, EuroCAST’07) Lifting → Simplification of counterexamples obtained from BMC This work → Simplification of 01X-counterexamples by 01X-Lifting → Automated Blackbox Synthesis by 01X-Lifting

  4. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions Background Formal Verification of Circuits → Correctness of implementation wrt. its specification → Combinational Equivalence Checking: “Golden” reference circuit vs. implementation → Model Checking Model Checking: Does circuit fulfill (temporal) properties? Bounded Model Checking (BMC) to falsify properties Blackbox Designs → partial circuit implementations, e.g., in early design phase → BMC of blackbox designs feasible by using 01X-logic and/or QBF (MTV’05, MTV’06, EuroCAST’07) Lifting → Simplification of counterexamples obtained from BMC This work → Simplification of 01X-counterexamples by 01X-Lifting → Automated Blackbox Synthesis by 01X-Lifting

  5. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions Background Formal Verification of Circuits → Correctness of implementation wrt. its specification → Combinational Equivalence Checking: “Golden” reference circuit vs. implementation → Model Checking Model Checking: Does circuit fulfill (temporal) properties? Bounded Model Checking (BMC) to falsify properties Blackbox Designs → partial circuit implementations, e.g., in early design phase → BMC of blackbox designs feasible by using 01X-logic and/or QBF (MTV’05, MTV’06, EuroCAST’07) Lifting → Simplification of counterexamples obtained from BMC This work → Simplification of 01X-counterexamples by 01X-Lifting → Automated Blackbox Synthesis by 01X-Lifting

  6. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions Background Formal Verification of Circuits → Correctness of implementation wrt. its specification → Combinational Equivalence Checking: “Golden” reference circuit vs. implementation → Model Checking Model Checking: Does circuit fulfill (temporal) properties? Bounded Model Checking (BMC) to falsify properties Blackbox Designs → partial circuit implementations, e.g., in early design phase → BMC of blackbox designs feasible by using 01X-logic and/or QBF (MTV’05, MTV’06, EuroCAST’07) Lifting → Simplification of counterexamples obtained from BMC This work → Simplification of 01X-counterexamples by 01X-Lifting → Automated Blackbox Synthesis by 01X-Lifting

  7. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions Bounded Model Checking Bounded Model Checking (BMC) of sequential systems ( k − 1 ) � BMC ( k ) = I ( s 0 ) · T ( s i , x i , s ( i + 1 ) ) · P ( s k ) i = 0 whereby: I ( s 0 ) : initial states predicate T ( s i , x i , s ( i + 1 ) ) : transition relation P ( s k ) : predicate for property ( AG p ) Application of BMC Check finite unfoldings of depth k , start with k = 0 Convert BMC ( k ) into SAT-formula → apply SAT-solver Stop if counterexample is found, otherwise increment k

  8. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions BMC of Blackbox Designs 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 )

  9. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions BMC of Blackbox Designs 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

  10. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions BMC of Blackbox Designs 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

  11. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions BMC of Blackbox Designs 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

  12. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions BMC of Blackbox Designs using 01X-Logic: Basics 01X-BB-BMC: BMC of Blackbox Designs using 01X-Logic 1 Blackbox outputs are unknown 2 ⇒ use logical value X , i.e., X = unknown whether 0 or 1 ⇒ use additional variable Z , and assign Z = X 01X-Logic 3 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 4 → Apply two-valued encoding and solve purely propositional SAT problem (see Herbstritt et al. MTV’07, MTV’06, EuroCAST’07)

  13. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis 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 NOT 01X ( a ) = [ a 1 , a 0 ] AND 01X ( a , b ) = [ a 0 + b 0 , a 1 · b 1 ] OR 01X ( a , b ) = [ a 0 · b 0 , a 1 + b 1 ] Transformation preserves uniform encoding of value X

  14. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions Lifting Lifting: Simplification of BMC-counterexamples (see Ravi/Somenzi TACAS’04) Brute-Force-Lifting for Complete Designs: 1: procedure B RUTE F ORCE L IFTING ( ˆ F , o , A ) F ′′ ← substitute o with o in ˆ F 2: for each (literal l ∈ A ) 3: F ′ ← F ′′ ∧ � ( A \ l ) 4: if (S AT S OLVE ( F ′ ) � = SATISFIABLE ) then 5: A ← A \ l 6: end if 7: end for 8: return A 9: 10: end procedure

  15. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions Lifting Example Formula: ( a + b ) · ( a + c + d ) · ( a + b + c ) Solution: { a , b , c , d } Lifting with different order Order a < b < c < d : { b , c } is irreducible solution Order b < a < c < d : { a , c , d } is irreducible solution

  16. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions 01X-Lifting: Lifting Strategies Pair Lifting (PL) 01X-variable a is encoded by a tuple ( a 0 , a 1 ) . Lift both variables a 0 and a 1 in parallel. a not lifted → remains as fully specified 01X-value. Pair-Split Lifting (PSL) In contrast to PL: lifting only a 0 or a 1 is allowed. Bisection of 01X-value a → a can be 0 or X , but definitely not 1. Single-Encoding-Variable Lifting (SEVL) If only one of the two variables a 0 or a 1 are assigned, lift these variables first. May be used as preprocessing.

  17. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions 01X-Lifting: Lifting Strategies Pair Lifting (PL) 01X-variable a is encoded by a tuple ( a 0 , a 1 ) . Lift both variables a 0 and a 1 in parallel. a not lifted → remains as fully specified 01X-value. Pair-Split Lifting (PSL) In contrast to PL: lifting only a 0 or a 1 is allowed. Bisection of 01X-value a → a can be 0 or X , but definitely not 1. Single-Encoding-Variable Lifting (SEVL) If only one of the two variables a 0 or a 1 are assigned, lift these variables first. May be used as preprocessing.

  18. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions 01X-Lifting: Lifting Strategies Pair Lifting (PL) 01X-variable a is encoded by a tuple ( a 0 , a 1 ) . Lift both variables a 0 and a 1 in parallel. a not lifted → remains as fully specified 01X-value. Pair-Split Lifting (PSL) In contrast to PL: lifting only a 0 or a 1 is allowed. Bisection of 01X-value a → a can be 0 or X , but definitely not 1. Single-Encoding-Variable Lifting (SEVL) If only one of the two variables a 0 or a 1 are assigned, lift these variables first. May be used as preprocessing.

  19. Introduction Preliminaries 01X-Brute-Force Lifting Automated Blackbox Synthesis Conclusions VLIW ALU VLIW ALU: 4 functional units FU 0 , FU 1 , FU 2 , FU 3 . Parameterizable in word-width (2,4,16,...) Error in FU 3 : OR instead of XOR . Blackboxes: FU 0 and FU 1 are blackbox’ed.

Recommend


More recommend