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.

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.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM Started at: Winter 2012 Duration: Semester.
Propositional and First Order Reasoning. Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p 
Solving Difficult SAT Instances Using Greedy Clique Decomposition Pavel Surynek Faculty of.
ECE 667 Synthesis & Verification - SAT 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Boolean SAT CNF Representation Slides adopted (with.
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 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time in a reasonable sequential model of computation if and only if it.
Inference and Resolution for Problem Solving
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.
1 BDS: A BDD-Based Logic Optimization System “BDS: A BDD-Based Logic Optimization System”, by Congguang Yang and Maciej Ciesielski, 2000 By Chang Seok.
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.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
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.
June 10, Functionally Linear Decomposition and Synthesis of Logic Circuits for FPGAs Tomasz S. Czajkowski and Stephen D. Brown University of Toronto.
Quantified Formulas - Decision Procedure Daniel Kroening, Ofer Strichman Presented by Changki Hong 07 NOV 08.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
FPGA PLB Evaluation using Quantified Boolean Satisfiability Andrew C. Ling M.A.Sc. Candidate University of Toronto Deshanand P. Singh Ph.D. Altera Corporation.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
LDK R Logics for Data and Knowledge Representation Propositional Logic: Reasoning First version by Alessandro Agostini and Fausto Giunchiglia Second version.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Clase 3: Basic Concepts of Search. Problems: SAT, TSP. Tarea 1 Computación Evolutiva Gabriela Ochoa
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.
Optimality Study of Logic Synthesis for LUT-Based FPGAs Jason Cong and Kirill Minkovich.
1 CS 151: Digital Design Chapter 3: Combinational Logic Design 3-1Design Procedure CS 151: Digital Design.
Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM Started at: Spring 2012 Duration: Semester.
Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM Started at: Spring 2012 Duration: Semester.
In-Place Decomposition for Robustness in FPGA Ju-Yueh Lee, Zhe Feng, and Lei He Electrical Engineering Dept., UCLA Presented by Ju-Yueh Lee Address comments.
Solving the Logic Satisfiability problem Solving the Logic Satisfiability problem Jesus De Loera.
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.
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.
Resolution Proofs as a Data Structure for Logic Synthesis John Backes Marc Riedel Electrical.
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
Hardware Acceleration of A Boolean Satisfiability Solver
Robust FPGA Resynthesis Based on Fault-Tolerant Boolean Matching
Dr. Clincy Professor of CS
New Directions in the Development of ABC
Applying Logic Synthesis for Speeding Up SAT
Karnaugh Maps (K-Maps)
Versatile SAT-based Remapping for Standard Cells
SAT-based Methods: Logic Synthesis and Technology Mapping
Leakage-Aware FPGA Re-synthesis
A Boolean Paradigm in Multi-Valued Logic Synthesis
Propositional Calculus: Boolean Algebra and Simplification
Elementary Metamathematics
LPSAT: A Unified Approach to RTL Satisfiability
SAT-Based Area Recovery in Technology Mapping
NP-Completeness Proofs
ECE 331 – Digital System Design
ECE 667 Synthesis and Verification of Digital Circuits
CS Chapter 3 (3A and ) Part 3 of 8
FPGA Logic Synthesis using Quantified Boolean Satisfiability
SAT-based Methods for Scalable Synthesis and Verification
Resolution Proofs for Combinational Equivalence
13 Digital Logic Circuits.
CS Chapter 3 (3A and ) – Part 2 of 5
SAT-based Methods: Logic Synthesis and Technology Mapping
Canonical Computation without Canonical Data Structure
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere!)
SAT-based Methods: Logic Synthesis and Technology Mapping
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere!)
Solving Non-clausal Formulas with DPLL search
Presentation transcript:

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 Professor Stephen D. Brown Altera Corporation Toronto University of Toronto

Goals Determine how “good” current FPGA LUT based technology mappers are in terms of area-optimality Determine how “good” current FPGA LUT based technology mappers are in terms of area-optimality A. Farrahi and M. Sarrafzadeh (1994). Area problem shown to be NP-Hard A. Farrahi and M. Sarrafzadeh (1994). Area problem shown to be NP-Hard

Method Take a set of benchmark circuits and technology map them to LUTs using one of the best existing LUT based technology mappers. Take a set of benchmark circuits and technology map them to LUTs using one of the best existing LUT based technology mappers. Devise a resynthesis technique that is able to remove LUTs from these pre-existing technology mapped circuit. Devise a resynthesis technique that is able to remove LUTs from these pre-existing technology mapped circuit. The more LUTs that can be removed, the farther the original technology mapping was from the area-optimal solution. The more LUTs that can be removed, the farther the original technology mapping was from the area-optimal solution.

Resynthesis Attempt to map a cone with X LUTs to another cone with less than X LUTs Attempt to map a cone with X LUTs to another cone with less than X LUTs

Sliding Window Approach Resynthesize subcircuits Resynthesize subcircuits Does not give the globally optimal solution; however gives an indication of the area “left on the table” Does not give the globally optimal solution; however gives an indication of the area “left on the table”

  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 expression to ‘1’.

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)

Formulating Resynthesis Problem 2-LUT fg ? 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

Formulating Resynthesis Problem 2-LUT fg ? 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

Formulating Resynthesis Problem 2-LUT fg ? 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 )

Formulating Resynthesis Problem 2-LUT fg ? 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

Formulating Resynthesis Problem 2-LUT fg SAT 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 ) Remove quantifiers to form a SAT problem (A. Biere. “Resolve and Expand”, SAT’04) Remove quantifiers to form a SAT problem (A. Biere. “Resolve and Expand”, SAT’04) AE

Resynthesis Structures Used Given a MFFC with 7 or less inputs and containing more than 2 LUTs, map it to: Given a MFFC with 7 or less inputs and containing more than 2 LUTs, map it to: Given a MFFC with 10 or less inputs and containing more than 3 LUTs, map it to: Given a MFFC with 10 or less inputs and containing more than 3 LUTs, map it to: 4-LUT

Resynthesis Results, 4-LUTs

Digital Logic Blocks with Tricks How intelligent are current technology mappers when it comes to some common digital logic blocks? How intelligent are current technology mappers when it comes to some common digital logic blocks?

Techmap 4:1 MUX with 4-LUTs

Techmap 4:1 MUX with 4-LUTs

Techmap 4:1 MUX with 4-LUTs

Resuts using 4-LUTs

Conclusions Current 4-LUT technology mappers still have room for improvement (~5% on average, up to 10% for some circuits) Current 4-LUT technology mappers still have room for improvement (~5% on average, up to 10% for some circuits) For some logic blocks, current technology mappers have a very difficult time finding the optimal mapping to 4-LUTs (~36% geomean, up to 67%). For some logic blocks, current technology mappers have a very difficult time finding the optimal mapping to 4-LUTs (~36% geomean, up to 67%). Still has difficultly particularly for non-disjoint decomposition. Still has difficultly particularly for non-disjoint decomposition.

Future Work Explore BDDs, QBF solvers and All Solution SAT solvers to speed up process Explore BDDs, QBF solvers and All Solution SAT solvers to speed up process –If fast enough, this technique can be used as a valid resynthesis technique. Use Multiple Output Resynthesis Use Multiple Output Resynthesis Search for other optimal configurations of common logic blocks, used in a caching scheme for resynthesis Search for other optimal configurations of common logic blocks, used in a caching scheme for resynthesis –After technology mapping, search for digital logic blocks found in our cache, replace digital logic block with the cached optimal configuration

Questions?