BDS – A BDD Based Logic Optimization System Presented by Nitin Prakash (ECE 667, Spring 2011)

Slides:



Advertisements
Similar presentations
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Factored Forms.
Advertisements

The BDS Circuit Synthesis System What it Does and Doesn’t Do.
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
Reduction of Interpolants for Logic Synthesis John Backes Marc Riedel University of Minnesota Dept.
ECE 667 Synthesis & Verification - Algebraic Division 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Multi-level Minimization Algebraic.
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
ECE 667 Synthesis and Verification of Digital Systems
Logic Gate Level Part 2. Constructing Boolean expression from truth table First method: write nonparenthesized OR of ANDs Each AND is a 1 in the result.
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
1 Outline Division is central in many operations. –What is it (in the context of Boolean functions)? –What to divide (divisor) with? –How to divide (quotient.
Logic Synthesis Part II
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Technology Mapping.
1 Generalized Buffering of PTL Logic Stages using Boolean Division and Don’t Cares Rajesh Garg Sunil P. Khatri Department of Electrical and Computer Engineering,
Synthesis For Mixed CMOS/PTL Logic
Boolean Functions and their Representations
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.
ECE Synthesis & Verification - Lecture 19 1 ECE 667 Spring 2009 ECE 667 Spring 2009 Synthesis and Verification of Digital Systems Functional Decomposition.
ECE Synthesis & Verification - Lecture 9b 1 ECE 697B (667) Fall 2004 ECE 697B (667) Fall 2004 Synthesis and Verification of Digital Systems Boolean.
ECE Synthesis & Verification - Lecture 14 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems BDD-based.
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
1 Synthesis For CMOS/PTL Circuits Congguang Yang Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts, Amherst Sponsored.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
Logic Synthesis 3 1 Logic Synthesis Part III Maciej Ciesielski Univ. of Massachusetts Amherst, MA.
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
ECE 667 Synthesis and Verification of Digital Systems
Intro to Logic Synthesis 1 Introduction to Logic Synthesis Maciej Ciesielski Univ. of Massachusetts Amherst, MA.
1 CSC 6001 VLSI CAD (Physical Design) January
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
Logic Decomposition ECE1769 Jianwen Zhu (Courtesy Dennis Wu)
Chapter 2: Boolean Algebra and Logic Functions
ECE 667 Synthesis and Verification of Digital Systems
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Multi-level.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Faster Logic Manipulation for Large Designs Alan Mishchenko Robert Brayton University of California, Berkeley.
B-1 Appendix B - Reduction of Digital Logic Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
November,2000University of Southern California1 Introduction to Binary Decision Diagrams - Shesha Shayee K. Raghunathan.
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect19: Multi Level Logic Minimization.
Electrical and Computer Engineering Muhammad Noman Ashraf Optimization of Data-Flow Computations Using Canonical TED Representation M. Ciesielski, D. Gomez-Prado,Q.
Two Level and Multi level Minimization
Copyright © 2004 by Miguel A. Marin Revised McGILL UNIVERSITY DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING COURSE ECSE DIGITAL SYSTEMS.
Chapter 2 Two- Level Combinational Logic. Chapter Overview Logic Functions and Switches Not, AND, OR, NAND, NOR, XOR, XNOR Gate Logic Laws and Theorems.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Announcements Assignment 6 due tomorrow No Assignment 7 yet.
Binary decision diagrams (BDD’s) Compact representation of a logic function ROBDD’s (reduced ordered BDD’s) are a canonical representation: equivalence.
ECE2030 Introduction to Computer Engineering Lecture 5: Boolean Algebra Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.
Iterative Layering: Optimizing Arithmetic Circuits by Structuring the Information Flow Ajay K. Verma 1, Philip Brisk 2, Paolo Ienne 1 International Conference.
Divisibility and Modular Arithmetic
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
Chapter 4 With Question/Answer Animations 1. Chapter Motivation Number theory is the part of mathematics devoted to the study of the integers and their.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
Logic Synthesis Boolean Division.
A New Logic Synthesis, ExorBDS
Chapter 2: Boolean Algebra and Logic Functions
Computer Organisation
Gate Circuits and Boolean Equations
A. Mishchenko S. Chatterjee1 R. Brayton UC Berkeley and Intel1
ECE 667 Synthesis and Verification of Digital Systems
ECE 667 Synthesis and Verification of Digital Circuits
Overview Part 2 – Circuit Optimization
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
design entry (schematic capture, VHDL, truth table and etc.)
Alan Mishchenko Department of EECS UC Berkeley
Computer Architecture
Presentation transcript:

BDS – A BDD Based Logic Optimization System Presented by Nitin Prakash (ECE 667, Spring 2011)

Overview Previous work o Limitations Theory of BDD decomposition o Using structure of BDD to identify decomposition o AND/OR decomposition o Other decompositions – XOR, MUX Comparison of BDS with algebraic methods o Theoretical differences o Performance comparison 2

Functional Decomposition – previous work Ashenhurst [1959], Curtis [1962] o Tabular method based on cut: bound/free variables o BDD implementation: Lai et al. [1993, 1996], Chang et al. [1996] Stanion et al. [1995] Roth, Karp [1962] o Similar to Ashenhurst, but using cubes, covers o Also used by SIS Factorization based o SIS, algebraic factorization using cube notation o Bertacco et al. [1997], BDD-based recursive bidecomp. Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 3

Limitations of current decomposition methods Algebraic factorization - optimal results for AND/OR intensive functions. not satisfactory for arithmetic, XOR-intensive logic functions. Boolean factorization techniques perform better, but not used due to high computational complexity. Data structure used to represent Boolean functions: cube representation – not suitable to identify XOR / MUX decompositions. Different platforms for Boolean operations and factorization. 4

Using Structure of BDDs to identify decompositions – First Work : Karplus [1988]: 1-dominator Definition: 1-dominator is a node that belongs to every path from root to terminal 1. 1-dominator defines algebraic conjunctive (AND) decomposition: F = (a+b)(c+d). F a b c d 10 1-dominator d 10 c a b 10 * a + bc + d Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 5

Karplus: 0-dominator Definition: 0-dominator is a node that belongs to every path from root to terminal 0. 0-dominator defines algebraic disjunctive (OR) decomposition: F = ab + cd. a b c d 10 F 0-dominator a b 0 1 d 10 c a bc d Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 6

Non-Disjoint Bi-Decomposition Bi-decomposition: F = D  Q o uses BDD cut – a partition wherein the root node and the terminal nodes lie on opposite sides o The top set defines a divisor D o The bottom set defines the quotient Q (sort of …) F D F/D BDD cut Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 7

Boolean Factor - Theorem Theorem: Boolean function G is a Boolean factor of Boolean function F, iff F  G, (i.e. FG’ = 0, or G’  F’). F G Example: F = a + bc; G = (a+c) F=(a+b)(a+c); R=0 Proof:  : G is a Boolean factor of F. Then  H s.t. F = GH; Hence, F  G (as well as F  H).  : F  G  F = GF = G(F + R) = GH. (Here R is any function R  G’) 8

Boolean Division Goal : for a given F, find D and Q such that F = Q · D. Boolean Space F F D F Q F = e + bd, D = e + d, Q = e + b Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 9

Conjunctive (AND) Decomposition Conjunctive (AND) decomposition: F = D Q. Theorem: Boolean function F has conjunctive decomposition iff F  D. For a given choice of D, the quotient Q must satisfy: F  Q  F + D ’. DQ F For a given pair (F,D), this provides a recipe for Q. Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 10

AND Decomposition ( Example AND Decomposition (F = D Q) Example Recall: given (F,D), quotient Q must satisfy: F  Q  F + D’. d e b 01 F = e + bd e b 01 1 D e b 0 1 D = e + b, d e b 01 DC Q d e 01 Q = e + d DC eb d Q Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 11

Disjunctive (OR) Decomposition Disjunctive (OR) decomposition: F = G + H. Theorem: Boolean function F has disjunctive decomposition iff G  F. For a given choice of G, the term H must satisfy: F ’  H ’  F ’ + G. For a given (F,G), this provides a recipe for H. GH F Dual to conjunctive decomposition. Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 12

Boolean AND/OR Bi-decompositions Conjunctive (AND) decomposition If F  D, F = F D = Q D. Disjunctive (OR) decomposition If G  F, F = F + G = H + G. D, G = generalized dominators Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 13

Generalized Dominator D a f b b cc 0 0 D g d e a f b b cc F Boolean divisor F = D Q Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 14

Generalized Dominator G a f b b cc 0 0 G g d e a f b b cc F Boolean “subtractor” F = G + H Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 15

Boolean Division based on Generalized Dominator a f b b cc 0 0 D g d e a f b b cc F g d e a f b b cc Q 1 DC 0 minimize g d e a Q 1 0 Q = ag + d + e 1 reduce a f b c 0 D D = af + b + c 1 Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 16

Restricting the number of cuts Check only horizontal cuts (to limit computational complexity). Valid cuts – cuts with at least one leaf edge. Why ?? Equivalent cuts – Two cuts are 0 – equivalent if they contain the same set of edges directed to 0. (Similarly, 1-equivalent). Theorem – All Boolean divisors of a conjunctive division obtained from 0 – equivalent cuts, are identical. Similarly, all Boolean divisors of a disjunctive division obtained from 1 – equivalent cuts are equivalent. 17

Other Decompositions Similar structures can be identified in the BDD for efficient algebraic and Boolean XOR decompositions. (Nodes with complement edges are identified and decomposition implemented as XNOR) BDD structure inherently suits MUX decomposition. (F = hf + h’g) 18

Key Differences - BDS and Algebraic Decomposition AlgebraicBDS Only disjoint decomposition.Can do non-disjoint decomposition. Works on the entire network, does iterative factorization. Before decomposition, the network is divided into local BDDs. Logic simplification by methods like two level logic minimization. Logic simplification by variable reordering. Looks at number of literals to perform elimination. Looks at number of nodes. Concentrates on AND/OR decomposition. Checks for all types of decomposition, AND/OR, XOR, MUX. 19

Performance Benefits – BDS over SIS For AND/OR intensive functions  Faster  Uses fewer gates  Slight increase in area due to use of XOR gates. For arithmetic and XOR intensive functions  Huge benefit in all areas 20

References Congguang Yang and Maciej Ciesielski, “BDS: A BDD-Based Logic Optimization System”, IEEE transactions on computer aided design of integrated circuits and systems, Vol. 21, No.7, July 2002, pp. – Maciej Ciesielski, “Logic Synthesis Part III”, Department of Electrical and Computer Engineering, University of Massachusetts, Amherst. 21

THANK YOU 22

Questions ??. 23