FPGA PLB Evaluation using Quantified Boolean Satisfiability Andrew C. Ling M.A.Sc. Candidate University of Toronto Deshanand P. Singh Ph.D. Altera Corporation.

Slides:



Advertisements
Similar presentations
Address comments to FPGA Area Reduction by Multi-Output Sequential Resynthesis Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1.
Advertisements

Exploiting Symmetry in SAT-Based Boolean Matching for Heterogeneous FPGA Technology Mapping Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1 Electrical.
Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM Started at: Winter 2012 Duration: Semester.
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
ECE 667 Synthesis & Verification - SAT 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Boolean SAT CNF Representation Slides adopted (with.
Beating Brute Force Search for Formula SAT and QBF SAT Rahul Santhanam University of Edinburgh.
ECE 331 – Digital System Design
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
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.
1 Quantified Formulas Acknowledgement: QBF slides borrowed from S. Malik.
Exploiting Symmetry in SAT-Based Boolean Matching for Heterogeneous FPGA Technology Mapping Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1 Electrical.
Address comments to Robust FPGA Resynthesis Based on Fault-Tolerant Boolean Matching Yu Hu 1, Zhe Feng 1, Lei He 1 and Rupak Majumdar 2.
Boolean Unification EE219B Presented by: Jason Shamberger March 1, 2000.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
Chapter 3 Combinational Logic Design
GRASP: A Search Algorithm for Propositional Satisfiability EE878C Homework #2 2002/11/1 KAIST, EECS ICS Lab Lee, Dongsoo.
Daniel Kroening and Ofer Strichman Decision Procedure
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
Solving SAT. Two kinds of (computing) problems “Calculator” problems Problems solvable using the application of a set of well-defined operations ( functions.
Boolean Satisfiability and SAT Solvers
Quantified Formulas - Decision Procedure Daniel Kroening, Ofer Strichman Presented by Changki Hong 07 NOV 08.
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.
On a random walk strategy for the Q2SAT problem K. Subramani.
Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.
Boolean Satisfiability Present and Future
Machine Learning A Quick look Sources: Artificial Intelligence – Russell & Norvig Artifical Intelligence - Luger By: Héctor Muñoz-Avila.
Tommy Messelis * Stefaan Haspeslagh Patrick De Causmaecker *
Finding Models for Blocked 3-SAT Problems in Linear Time by Systematical Refinement of a Sub- Model Gábor Kusper Eszterházy Károly.
Planning as Satisfiability (SAT-Plan). SAT-Plan Translate the planning problem into a satisfiability problem for length n of Plan garb 0 (proposition)present.
Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM Started at: Spring 2012 Duration: Semester.
Optimality FPGA Technology Mapping: A Study of Optimality Andrew C. Ling M.A.Sc. Candidate University of Toronto Deshanand P. Singh Ph.D. Altera Corporation.
Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM Started at: Spring 2012 Duration: Semester.
IPR: In-Place Reconfiguration for FPGA Fault Tolerance Zhe Feng 1, Yu Hu 1, Lei He 1 and Rupak Majumdar 2 1 Electrical Engineering Department 2 Computer.
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
SAT Encodings for Sudoku Bug Catching in 2006 Fall Sep. 26, 2006 Gi-Hwon Kwon.
Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM Started at: Winter 2012 Duration: Semester.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
 2005 SDU Lecture15 P,NP,NP-complete.  2005 SDU 2 The PATH problem PATH = { | G is a directed graph that has a directed path from s to t} s t
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
Hardware Acceleration of A Boolean Satisfiability Solver
L is in NP means: There is a language L’ in P and a polynomial p so that L1 ≤ L2 means: For some polynomial time computable map r :  x: x  L1 iff.
Inference and search for the propositional satisfiability problem
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness Proofs
Richard Anderson Lecture 26 NP-Completeness
Boolean Expressions Lecture No. 10.
New Directions in the Development of ABC
Applying Logic Synthesis for Speeding Up SAT
A Boolean Paradigm in Multi-Valued Logic Synthesis
Propositional Calculus: Boolean Algebra and Simplification
LPSAT: A Unified Approach to RTL Satisfiability
Equivalence Checking By Logic Relaxation
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
SAT-Based Area Recovery in Technology Mapping
NP-Completeness Proofs
ECE 331 – Digital System Design
ECE 667 Synthesis and Verification of Digital Circuits
FPGA Logic Synthesis using Quantified Boolean Satisfiability
SAT-based Methods for Scalable Synthesis and Verification
Chapter 2 Introduction to Logic Circuits
FPGA Glitch Power Analysis and Reduction
PROPOSITIONAL LOGIC - SYNTAX-
SAT-based Methods: Logic Synthesis and Technology Mapping
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Solving Non-clausal Formulas with DPLL search
Alan Mishchenko Department of EECS UC Berkeley
LECTURE 2-9 PSPACE-Complete
Presentation transcript:

FPGA PLB Evaluation using Quantified Boolean Satisfiability Andrew C. Ling M.A.Sc. Candidate University of Toronto Deshanand P. Singh Ph.D. Altera Corporation Professor Stephen D. Brown Altera Corporation Toronto University of Toronto

Background: FPGA

Background: K-LUT

Background: K-Input PLB The 3-input PLB below CANNOT implement any arbitrary 3-input function The 3-input PLB below CANNOT implement any arbitrary 3-input function

Background: K-Input PLB

Motivation The cost of implementing a circuit in an FPGA is directly proportional to the number of PLBs required to implement the functionality of the circuit. The cost of implementing a circuit in an FPGA is directly proportional to the number of PLBs required to implement the functionality of the circuit. Decreasing the number of PLBs may allow a circuit to be realized in a smaller FPGA. Decreasing the number of PLBs may allow a circuit to be realized in a smaller FPGA. The PLB architecture has a significant impact on the number of PLBs required to realize a particular circuit. The PLB architecture has a significant impact on the number of PLBs required to realize a particular circuit.

PLB Evaluation in terms of Area Clever PLB designs are necessary to capture the majority of the functions encountered in typical circuits. Clever PLB designs are necessary to capture the majority of the functions encountered in typical circuits. Extract set of k-Input functions from a large set of circuits. Extract set of k-Input functions from a large set of circuits. Examine the percentage of functions that map into the PLB structure. Examine the percentage of functions that map into the PLB structure.

Function Mapping Problem x1x2x3x1x2x3x1x2x3x1x2x3f QSAT ?

 Defined over a set of variables, V Background: 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  Each clause is a disjunction of literals of the variables V Example : SAT: Seek an assignment of to the variables, V, which sets the Boolean formula to ‘1’.

 Defined over a set of variables, V Background: The Quantified Satisfiability (QSAT) problem Given a formula, f : C1C1 C2C2 C3C3 b=c=1 a = {0,1} (a,b,c) (C 1,C 2,C 3 )  Comprised of a conjunction of clauses  Each clause is a disjunction of literals of the variables V Example : QSAT: Seek an assignment of to the variables, V, which sets the quantified Boolean formula (QBF) to ‘1’. Quantifiers exist on variables V  Quantifiers exist on variables V AE

Function Mapping Problem x1x2x3x1x2x3x1x2x3x1x2x3f QSAT ?

Construction of CNF T. Larrabee, “Test pattern generation using Boolean satisfiability," TCAD, 1992 (Plaisted's and Greenbaum's encoding which is based on Tseitin's work) Creates a Characteristic Function for circuits x1x2x1x2x1x2x1x2gf f=(x 2 +¬g) (x 1 +¬g) (¬x 2 +¬x 1 +g)

Construction of CNF (cont’d) f AND = (x 2 +¬z 1 ) (x 1 +¬z 1 ) (¬x 2 +¬x 1 + z 1 ) f OR = (¬x 3 +g) (¬z 1 +g) (x 3 +z 1 + ¬g) f OR f total = f AND f OR (¬x 3 +g) (¬z 1 +g) (x 3 +z 1 + ¬g) = (x 2 +¬z 1 ) (x 1 +¬z 1 ) (¬x 2 +¬x 1 + z 1 ) (¬x 3 +g) (¬z 1 +g) (x 3 +z 1 + ¬g)

Function Mapping Problem x1x2x3x1x2x3x1x2x3x1x2x3f QSAT ?

Formulating Function Mapping Problem Can function f be implemented in circuit g ? Can function f be implemented in circuit g ? Does there exist a configuration to g such that for all inputs to g, f is equivalent to g Does there exist a configuration to g such that for all inputs to g, f is equivalent to g x1x2x3x1x2x3x1x2x3x1x2x3f ?

Formulating Function Mapping Problem Derive characteristic function H for circuit g Derive characteristic function H for circuit g Replace all instances of g in H with f Replace all instances of g in H with f –H[g/f] (g ≡ f ) –f is equivalent to g x1x2x3x1x2x3x1x2x3x1x2x3f ?

Formulating Function Mapping Problem Does there exist a configuration to g such that for all inputs to g, f is equivalent to g ? Does there exist a configuration to g such that for all inputs to g, f is equivalent to g ? (g ≡ f ) (g ≡ f ) x1x2x3x1x2x3x1x2x3x1x2x3f ?

Formulating Function Mapping Problem Does there exist a configuration to g such that for all inputs to g, f is equivalent to g ? Does there exist a configuration to g such that for all inputs to g, f is equivalent to g ? l 1 …l m x 1 …x n (g ≡ f ) AE x1x2x3x1x2x3x1x2x3x1x2x3f ?

Formulating Function Mapping Problem Express as a QBF with inputs ( x 1 …x n ) and configuration bits ( l 1 …l m ) Express as a QBF with inputs ( x 1 …x n ) and configuration bits ( l 1 …l m ) l 1 …l m x 1 …x n (g ≡ f ) l 1 …l m x 1 …x n (g ≡ f ) AE x1x2x3x1x2x3x1x2x3x1x2x3f QSAT

Results: Evaluation of PLBs Given a circuit, extract 1000 k-input functions Given a circuit, extract 1000 k-input functions k == number of inputs to PLB k == number of inputs to PLB Determine number of functions that map into PLB using QSAT Determine number of functions that map into PLB using QSAT Find a fit percentage Find a fit percentage

Results: Evaluation of PLBs

Conclusions Novell function mapping technique based on QSAT. Novell function mapping technique based on QSAT. We can use this technique to evaluate PLB architectures based on area. We can use this technique to evaluate PLB architectures based on area.

Future Work Speed up QSAT, use ALL-solution SAT solvers or better QBF solvers Speed up QSAT, use ALL-solution SAT solvers or better QBF solvers Cannot evaluate area efficiency without looking at routing architecture Cannot evaluate area efficiency without looking at routing architecture Use “Don’t Cares” when mapping functions Use “Don’t Cares” when mapping functions Use genetic algorithms to create candidate PLBs, then pipe architectures to our PLB evaluator tool Use genetic algorithms to create candidate PLBs, then pipe architectures to our PLB evaluator tool

Questions?