1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.

Slides:



Advertisements
Similar presentations
Exploiting SAT solvers in unbounded model checking
Advertisements

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Propositional and First Order Reasoning. Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p 
Models and Propositional Logic In propositional logic, a model in general simply fixes the truth value – true or false – for every proposition symbol.
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
ECE 667 Synthesis & Verification - SAT 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Boolean SAT CNF Representation Slides adopted (with.
1 Recursive Learning Madhurima Maddela. ELEC /26/052 Decision Tree Traditionally used to branch and bound in the search space to generate test.
February 23, 2015CS21 Lecture 201 CS21 Decidability and Tractability Lecture 20 February 23, 2015.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Read sections 7.1 – 7.3 of the book for next time.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
The Theory of NP-Completeness
Restricted Satisfiability (SAT) Problem
NP-Complete Problems Problems in Computer Science are classified into
GRASP SAT solver Presented by Constantinos Bartzis Slides borrowed from Pankaj Chauhan J. Marques-Silva and K. Sakallah.
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
Last time Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search strategy.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
ENGG3190 Logic Synthesis “Boolean Satisfiability” Winter 2014 S. Areibi School of Engineering University of Guelph.
GRASP: A Search Algorithm for Propositional Satisfiability EE878C Homework #2 2002/11/1 KAIST, EECS ICS Lab Lee, Dongsoo.
Functional Timing Analysis Made Fast and General Presenter: Yi-Ting Chung Advisor: Jie-Hong Roland Jiang 03/09/2012 Graduate Institute of Electronics Engineering,
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
Themes of Presentations Rule-based systems/expert systems (Catie) Software Engineering (Khansiri) Fuzzy Logic (Mark) Configuration Systems (Sudhan) *
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Boolean Satisfiability and SAT Solvers
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
CHAPTERS 7, 8 Oliver Schulte Logical Inference: Through Proof to Truth.
Theory of Computation, Feodor F. Dragan, Kent State University 1 NP-Completeness P: is the set of decision problems (or languages) that are solvable in.
INTRODUCTION TO ARTIFICIAL INTELLIGENCE COS302 MICHAEL L. LITTMAN FALL 2001 Satisfiability.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: SAT SAT applied in equivalence checking.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
NP Complexity By Mussie Araya. What is NP Complexity? Formal Definition: NP is the set of decision problems solvable in polynomial time by a non- deterministic.
MCS 312: NP Completeness and Approximation algorthms Instructor Neelima Gupta
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
LDK R Logics for Data and Knowledge Representation Propositional Logic: Reasoning First version by Alessandro Agostini and Fausto Giunchiglia Second version.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Advanced Algorithm Design and Analysis (Lecture 14) SW5 fall 2004 Simonas Šaltenis E1-215b
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Planning as Satisfiability (SAT-Plan). SAT-Plan Translate the planning problem into a satisfiability problem for length n of Plan garb 0 (proposition)present.
28.
Solving the Logic Satisfiability problem Solving the Logic Satisfiability problem Jesus De Loera.
Satisfiability and SAT Solvers CS 270 Math Foundations of CS Jeremy Johnson.
NPC.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
SAT tutorial1 Boolean Satisfiability in Electronic Design Automation Karem A. Sakallah EECS Department University of Michigan João Marques Silva Informatics.
Hardware Acceleration of A Boolean Satisfiability Solver
Richard Anderson Lecture 26 NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
Hard Problems Introduction to NP
Logic Synthesis CNF Satisfiability.
Propositional Calculus: Boolean Algebra and Simplification
NP-Completeness Proofs
Introduction to the Boolean Satisfiability Problem
ECE 667 Synthesis and Verification of Digital Circuits
Introduction to the Boolean Satisfiability Problem
NP-Complete Problems.
PROPOSITIONAL LOGIC - SYNTAX-
Instructor: Aaron Roth
GRASP-an efficient SAT solver
Presentation transcript:

1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure

2 Talk structure Introduction to Boolean Satisfiability Applications of SAT in EDA CNF equations for logic gates and combinational circuits Backtrack search algorithm. Recursive learning. Conclusion

3 What is Boolean Satisfiability? Given a boolean expression written using only AND, OR, NOT of variables, determine the true or false variable assignment that will make the entire expression true. For example Let Let F = (a + b) · (a + ¬b) · (¬a + c) · (¬c + b) For a = 1 b = 1 c = 1 the formula is satisfied i.e. F = 1 But if But if F = (a + b) · (a + ¬b) · (¬a + c) · (¬c + ¬a) In this case F is not satisfied for any variable assignments SAT is an NP Complete problem NOTATION: ¬ : NOT operation · : AND operation + : OR operation

4 Importance of SAT in EDA Many applications Test pattern generation Test pattern generation Circuit Delay Computation Circuit Delay Computation Logic optimization Logic optimization Functional test vector generation Functional test vector generation Combinational equivalence checking Combinational equivalence checking Delay testing Delay testing Crosstalk noise analysis Crosstalk noise analysis

5 Conjunctive normal form (CNF) In the SAT problem, the formula is represented in the CNF form. A formula consists of conjunction of clauses A formula consists of conjunction of clauses A clause is a disjunction of literals A clause is a disjunction of literals A literal is either a variable or its negation A literal is either a variable or its negation (A + B) · (¬B + C) · (A + C)  = (A + B) · (¬B + C) · (A + C) Clause Variable Literal

6 CNF equations for logic gates A formula P = Q is logically equivalent to (P => Q) · (Q => P) (P => Q) · (Q => P) The above relation can be expressed as (P + Q) · (Q + P) (¬P + Q) · (¬Q + P) For a gate with a function z = f (a, b, c…) (z => f(a,b,c..)) · (f(a,b,c..) => z) (z => f(a,b,c..)) · (f(a,b,c..) => z) Therefore (· Therefore (¬z + f(a,b,c..)) · (¬f(a,b,c..) + z) Expand the above equation in POS form to obtain the CNF for the gate

7 CNF equations for gates (example) a b z z = a · b (z => (a · b)) · ((a · b) => z) (¬z + (a · b)) · (¬(a · b) + z) (¬z + a) · (¬z + b) · (z + ¬a + ¬b) Therefore the CNF formula is  = (a + ¬z) · ( b + ¬z) · (¬a + ¬b + z)

8 CNF formula of different gates a b z z a b  = (a + ¬z) · ( b + ¬z) · (¬a + ¬b + z)  = (¬a + z) · (¬b + z) · (a + b + ¬z)  = (a + z) · (¬a + ¬z)  = (a + b + ¬z) · (a + ¬b + z) (¬a + ¬b + ¬z) · (¬a + b + z) z a z a b

9 CNF equations for a logic circuit Original circuit DAG for the circuit o Breath first propagation through the DAG. o Take the conjunction of all equations for all the nodes. O = ((f + ¬d) · (f + ¬e) · (f + d + ¬e))· ((¬d + c) · (¬d + b) · (d + ¬c + ¬b)) · ((¬e + a) · (¬e + c) · (e + ¬a + ¬c))· ((c + a) · (c + b) · (¬c + ¬a + ¬b))

10  = (a + b) · (¬b + c + d) · (¬b + e) · (¬d + ¬e + f)  Solution of SAT problem: Backtrack search algorithm Backtrack search algorithm for SAT Assume (decisions) c = 0 and f = 0 Assign a = 0 and imply the assignments Conflict ?  = (a + b) · (¬b + c + d) · (¬b + e) · (¬d + ¬e + f)  Conflict  = (a + b) · (¬b + c + d) · (¬b + e) · (¬d + ¬e + f)  Decide() Imply() Backtrack() Decide() Imply() Conflict ? Backtrack() Decide() yes no Any variable left? no yes  is satisfied  is unsatisfied All variables tried both ways ? yes no All variables tried both ways ?

11  = (a + b) · (¬b + c + d) · (¬b + e) · (¬d + ¬e + f)  Backtrack search algorithm Backtrack search SAT algorithm Assume (decisions) c = 0 and f = 0 Assign a = 0 and imply the assignments  = (a + b) · (¬b + c + d) · (¬b + e) · (¬d + ¬e + f)  Conflict  = (a + b) · (¬b + c + d) · (¬b + e) · (¬d + ¬e + f)  Decision f = 0 c = 0 b = 1 Imply d = 1 Imply Decision a = 0 Conflict Backtrack a = 1  = (a + b) · (¬b + c + d) · (¬b + e) · (¬d + ¬e + f)  Decision b = 0  = (a + b) · (¬b + c + d) · (¬b + e) · (¬d + ¬e + f) 

12 Recursive Learning Search space reduction technique. Study the different ways of satisfying the selected clause. Determine the assignments that are necessary for the satisfiability instance to get satisfied. Form a clause that describes the variable assignment.

13 Recursive Learning example Assignments: {z = 1, u = 0} Ψ = (u + x + ¬w) · (x + ¬y) · (w + y + ¬z) Selected clause To satisfy the selected clause either w = 1 or y = 1. Ψ = (u + x + ¬w) · (x + ¬y) · (w + y + ¬z) Case 2: y = 1 Case 1: w = 1 x = 1 for the equation to be satisfied x = 1 for the CNF to be satisfied Thus (z = 1) AND (u = 0) => (x = 1) Therefore the clause (¬z + u + ¬x) represents the learned constraint Ψ = (u + x + ¬w) · (x + ¬y) · (w + y + ¬z) · (¬z + u + ¬x)

14 Conclusion Satisfiability is an NP-complete problem Solution of SAT involves the searching the space of all the possible variable assignment. Search space reduction techniques like recursive learning are used to reduce the search space.

15 References J.P. Marques-Silva, K. Sakallah, Boolean Satisfiability in Electronic Design Automation, DAC Review of SAT problem T. Larrabee, “Test Pattern Generation Using Boolean Satisfiability,” IEEE Transactions on Computer-Aided Design, vol. 11, no. 1, pp. 4-15, January 1992.

16 Questions