SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.

Slides:



Advertisements
Similar presentations
Exploiting SAT solvers in unbounded model checking
Advertisements

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Boolean Satisfiability
The Project Problem formulation (one page) Literature review –“Related work" section of final paper, –Go to writing center, –Present paper(s) to class.
Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 121 Lecture 12 Advanced Combinational ATPG Algorithms  FAN – Multiple Backtrace (1983)  TOPS – Dominators.
Appendix: Other ATPG algorithms 1. TOPS – Dominators Kirkland and Mercer (1987) n Dominator of g – all paths from g to PO must pass through the dominator.
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Propositional and First Order Reasoning. Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p 
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
Using Problem Structure for Efficient Clause Learning Ashish Sabharwal, Paul Beame, Henry Kautz University of Washington, Seattle April 23, 2003.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
Properties of SLUR Formulae Ondřej Čepek, Petr Kučera, Václav Vlček Charles University in Prague SOFSEM 2012 January 23, 2012.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
© 2002 Fadi A. Aloul, University of Michigan PBS: A Pseudo-Boolean Solver and Optimizer Fadi A. Aloul, Arathi Ramani, Igor L. Markov, Karem A. Sakallah.
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.
Willis Lemasters Grant Conklin. Searching a tree recursively one branch at a time, abandoning any branch which does not satisfy the search constraints.
Boolean Satisfiability Solvers Wonhong Nam
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
Efficient SAT Solving for Non- clausal Formulas using DPLL, Graphs, and Watched-cuts Himanshu Jain Edmund M. Clarke.
State-of-the-art in SAT solvers
GRASP SAT solver Presented by Constantinos Bartzis Slides borrowed from Pankaj Chauhan J. Marques-Silva and K. Sakallah.
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Pruning techniques for the SAT-based Bounded Model-Checking problem Ofer Shtrichman Weizmann Institute of Science & IBM - HRL.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
Knowledge Representation II (Inference in Propositional Logic) CSE 473 Continued…
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.
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
Functional Timing Analysis Made Fast and General Presenter: Yi-Ting Chung Advisor: Jie-Hong Roland Jiang 03/09/2012 Graduate Institute of Electronics Engineering,
Satisfiability Introduction to Artificial Intelligence COS302 Michael L. Littman Fall 2001.
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.
Robust Low Power VLSI ECE 7502 S2015 Fault Diagnosis and Logic Debugging Using Boolean Satisfiability ECE 7502 Class Discussion Benjamin Melton Thursday.
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.
1 Agenda Modeling problems in Propositional Logic SAT basics Decision heuristics Non-chronological Backtracking Learning with Conflict Clauses SAT and.
Boolean Satisfiability in Electronic Design Automation Karem A. Sakallah EECS Department University of Michigan João Marques Silva Informatics Department.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Boolean Satisfiability Present and Future
Boolean Satisfiability in Electronic Design Automation Karem A. Sakallah EECS Department University of Michigan João Marques-Silva Informatics Department.
SAT Solver Heuristics. SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) –Able to solve variable problems Satz (Chu Min.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
SAT tutorial1 Boolean Satisfiability in Electronic Design Automation Karem A. Sakallah EECS Department University of Michigan João Marques Silva Informatics.
Hybrid BDD and All-SAT Method for Model Checking
Hardware Acceleration of A Boolean Satisfiability Solver
Inference and search for the propositional satisfiability problem
Alan Mishchenko UC Berkeley
Boolean Satisfiability in Electronic Design Automation
Logic Synthesis CNF Satisfiability.
LPSAT: A Unified Approach to RTL Satisfiability
SAT-Based Area Recovery in Technology Mapping
Introduction to the Boolean Satisfiability Problem
ECE 667 Synthesis and Verification of Digital Circuits
A Progressive Approach for Satisfiability Modulo Theories
Introduction to the Boolean Satisfiability Problem
GRASP-an efficient SAT solver
Presentation transcript:

SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar : 3 May 2000

Outline  The Propositional Satisfiability (SAT) problem  SAT Applications in EDA  Two classical approaches for SAT  Recent Advances  Solving SAT on Boolean networks  Current research & Future directions

Outline  The Propositional Satisfiability (SAT) problem  SAT Applications in EDA  Two classical approaches for SAT  Recent Advances  Solving SAT on Boolean networks  Current research & Future directions

The Propositional Satisfiability (SAT) problem Given a formula, f : C1C1 C2C2 C3C3 a=b=c=1 (a,b,c) (C 1,C 2,C 3 )   Comprised of a conjunction of clauses   Defined over a set of variables, V   Each clause is a disjunction of literals of the variables V Example : Does there exist an assignment of Boolean values to the variables, V which sets at least one literal in each clause to ‘1’ ?

Outline  The Propositional Satisfiability (SAT) problem  SAT Applications in EDA  Two classical approaches for SAT  Recent Advances  Solving SAT on Boolean networks  Current research & Future directions

SAT Applications in EDA  Combinational ATPG (stuck-at, bridging, delay faults)  Circuit Delay Computation  FPGA Routing  Logic Synthesis (viz. redundancy removal)  Combinational Equivalence checking  Processor Verification  Bounded Model Checking  Functional vector generation  Crosstalk Noise Analysis  …..

Outline  The Propositional Satisfiability (SAT) problem  SAT Applications in EDA  Two classical approaches for SAT  Davis-Putnam, 1960 (Resolution)  Davis-Logemann-Loveland, 1962 ( Backtracking)  Recent Advances  Solving SAT on Boolean networks  Current research & Future directions

Simple Backtracking Algorithm for SAT Is_SAT(f, A) { if Check_SAT(f, A) return SAT if Check_UNSAT(f,A) return UNSAT v = Next_Variable(f, A) if Is_SAT(f, (A,v=0)) return SAT if Is_SAT(f, (A,v=1)) return SAT return UNSAT } f,A v f, (A,v=0)f, (A,v=1) Given : CNF formula f(v 1,v 2,..,v k ), and a total order on the variables v 1,v 2,..,v k

Backtracking Contd...  Unit Clause Rule : Assign to true the literal in any single literal clauses.  Iterated application of this is called Boolean Constraint Propagation (BCP) v v Pure Literal Rule : Set any unate variables in the aaformula to their appropriate polarity

Resolution (Davis-Putnam 1960) Resolve out variable

Resolution Contd... Given : CNF formula f(v 1,v 2,..,v k ), and a total order on the variables v 1,v 2,..,v k For each variable ‘v’ in sequence of the total order :   Resolve out variable ‘v’ and add all generated resolvents to a formula   Remove all clauses with variable ‘v’ Ž Ž Iterate, till : þ þ All clauses are resolved out => SAT ý ý Conflicting pair of unit clauses are created => UNSAT

Branching Vs Resolution Branching  Linear space (memory) requirements.  Depth-First search of the solution space.  Simplistic though highly redundant. Resolution  Worst case exponential space (memory) req.  Breadth-First search of the solution space.  Simplistic though highly redundant.

Outline  The Propositional Satisfiability (SAT) problem  SAT Applications in EDA  Two classical approaches for SAT  Recent Advances  Non-local implications (SOCRATES, TEGUS)  The GRASP algorithm  Recursive Learning  Solving SAT on Boolean networks  Current research & Future directions

Recent Advances  Non-local implications (SOCRATES,TEGUS)  Usually performed as a pre-processing step  long implication chains common in SAT on circuits  Avoid repeated work in BCP v The GRASP algorithm (Silva & Sakallah, 1996) u Distinguishing feature : Conflict analysis

Main Features of GRASP SAT X k-1 xkxkxkxk xkxkxkxk x2x2x2x2 x2x2x2x2 x1x1x1x1 x1x1x1x1 xjxjxjxj xjxjxjxj  Failure-driven assertions  Non-chronological backtracking Ž Conflict-based equivalence 1 2 3

Conflict Analysis: An Example Decision Assignment: Current Assignment:

Example Contd: Implication Graph x 2 = x 11 = x 6 = x 5 = x 1 = x 9 = x 4 = x 3 = x 10 =  3333 3333 1111 2222 2222 4444 4444 5555 5555 6666 6666

Example Contd…. x 7 = x 13 = x 12 = x 8 = ```` ```` 9999 9999 9999 7777 7777 8888 x 1 = x 9 = x 10 = x 11 = x1x Decision Level

Recursive Learning  Proposed by Kunz & Pradhan as a general technique for Boolean Reasoning on logic circuits.  Basic idea : Extract common conclusions by examining all possible scenarios of achieving a given objective, upto a restricted degree (recursion depth). common conclusions all possible scenarios restricted degree Common Inference !!

Recursive Learning on CNF Formulas Assignments:

Outline  The Propositional Satisfiability (SAT) problem  SAT Applications in EDA  Two classical approaches for SAT  Recent Advances  Solving SAT on Boolean networks  Current research & Future directions

Solving SAT on Boolean networks Observation: Topological circuit information is often crucial to the efficient solution of SAT problems posed on logic circuits.  Natural ordering of variables  Grouping of variables to reason about  Natural partitioning of the problem Proposed Solutions :  Solve SAT directly on the network  Augment a conventional SAT solver with a circuit layer (Silva et. al.: CGRASP)  Extended Implication graph (Tafertshofer et. al.)

Current Research Efforts  Incremental SAT (Sakallah et. al.)  Pre-processing of SAT formulas (Silva et. al.)  Dedicated Reconfigurable hardware architecutes (Abramovici et. al., Malik et. al.)  Randomized SAT algorithms for EDA applications (Selman & Kautz, Singhal & Burch)  Bounded /Directed Resolution

Suggested Reading  J. Marques-Silva and K. A. Sakallah, “GRASP: A Search Algorithm for Propositional Satisfiability,” in IEEE Transactions on Computers, vol. 48, no. 5. pp , May 1999  J. Marques-Silva and K. A. Sakallah, “Boolean Satisfiability in Electronic Design Automation,” to appear at DAC  J. Gu, P. W. Purdom, J. Franco, B. W. Wah, “Algorithms for the Satisfiability (SAT) Problem: A Survey,” DIMACS Series in Discrete Mathematics and Computer Science, vol. 35, pp , 1997.