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.

Slides:



Advertisements
Similar presentations
The BDS Circuit Synthesis System What it Does and Doesn’t Do.
Advertisements

Multiplexer as a Universal Function Generator Lecture L6.7 Section 6.2.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
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 Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
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.
Multilevel Logic Minimization -- Introduction. ENEE 6442 Outline > Multi-level minimization: technology independent local optimization. > What to optimize:
Logic Synthesis Part II
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,
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Synthesis For Mixed CMOS/PTL Logic
ECE Synthesis & Verification - Lecture 19 1 ECE 667 Spring 2009 ECE 667 Spring 2009 Synthesis and Verification of Digital Systems Functional Decomposition.
Reachability Analysis using AIGs (instead of BDDs?) 290N: The Unknown Component Problem Lecture 23.
Lecture 1: Introduction to Digital Logic Design CK Cheng Thursday 9/26/02.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
ECE Synthesis & Verification - Lecture 14 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems BDD-based.
Multiplexer as a Universal Function Generator
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
Solving Boolean Satisfiability (SAT) Problem Using the Unate Recursive Paradigm Priyank Kalla, Maciej Ciesielski Dept. of Elec. & Comp. Engineering University.
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,
Intro to Logic Synthesis 1 Introduction to Logic Synthesis Maciej Ciesielski Univ. of Massachusetts Amherst, MA.
Chapter 9: Graphs Basic Concepts
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)
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.
Identifying Reversible Functions From an ROBDD Adam MacDonald.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect19: Multi Level Logic Minimization.
Two Level and Multi level Minimization
BoolTool: A Tool for Manipulation of Boolean Functions Petr Fišer, David Toman Czech Technical University in Prague Dept. of Computer Science and Engineering.
Multi-Level Logic Optimization. Multi-Level Logic Synthesis Two Level Logic : –Espresso –Programmable Logic Array (PLA) Multilevel Logic : –Standard Cell.
Abstract To present a novel logic synthesis method to reduce the area of XOR-based logic functions. Idea: To exploit linear dependency between logic sub-
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
Binary-Decision-Diagram (BDD) Application on Pass-Transistor Logic Design Tao Lin School of EECS, Ohio University March 12, 1998.
Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu.
Binary decision diagrams (BDD’s) Compact representation of a logic function ROBDD’s (reduced ordered BDD’s) are a canonical representation: equivalence.
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.
 Seattle Pacific University EE Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms.
Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.
BDS – A BDD Based Logic Optimization System Presented by Nitin Prakash (ECE 667, Spring 2011)
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
1 Computing Abstractions by integrating BDDs and SMT Solvers Alessandro Cimatti Fondazione Bruno Kessler, Trento, Italy Joint work with R. Cavada, A. Franzen,
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
Logic Gates, Boolean Algebra and Karnaugh Maps. Challenge! By the end of todays session can you complete the following?
Programmable Logic Controller
Logic Synthesis Boolean Division.
A New Logic Synthesis, ExorBDS
Faster Logic Manipulation for Large Designs
A. Mishchenko S. Chatterjee1 R. Brayton UC Berkeley and Intel1
A Boolean Paradigm in Multi-Valued Logic Synthesis
LPSAT: A Unified Approach to RTL Satisfiability
ECE 667 Synthesis and Verification of Digital Systems
Binary Decision Diagrams
ECE 667 Synthesis and Verification of Digital Circuits
SAT-based Methods for Scalable Synthesis and Verification
Binary Decision Diagrams
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b
Dept. of Electrical and Computer Eng., NCTU
Presentation transcript:

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 Bae

2 Outline BDD-Based Decomposition –Algebraic –Boolean Theory of BDD decomposition Conclusions

3 BDD-based decomposition Identify functional decomposition of underlying logic function Efficient multilevel logic implementations Otherwise, require ordering of variables

4 Bi-decomposition Bi-decomposition: F = D  Q –uses BDD cut –The top set defines a divisor D –The bottom set defines the quotient Q (sort of …) F D  Q Boolean operator (AND, OR, XOR) F D F/D BDD cut

5 Algebraic vs. Boolean The decomposition is Algebraic if the supports of Q and D are disjoint Otherwise, the decomposition is Boolean

6 1-dominator d 10 c a b 10 * a + bc + d 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

7 0-dominator a b 0 1 d 10 c a bc d 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

8 Drawback of previous work Weak Boolean factorization capability Difficult to identify XOR and MUX decomposition

9 Generalized dominators Generalize the concept of algebraic decomposition and dominators to: –Generalized dominators –Boolean bi-decomposition: F = D  Q, –where  = AND, OR, XOR

10 AND Decomposition (F = DQ) 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

11 OR Decomposition (F = G+H) Given (F,G), disjunctive term H must satisfy: F’  H’  F’ + G.

12 Conclusions BDD-based bi-decomposition is a good alternative to traditional, algebraic logic optimization –Produces Boolean decomposition –Several types: AND, OR, XOR, MUX BDD decomposition-based logic optimization is fast. Stand-alone BDD decomposition scheme is not amenable to large circuits –Global BDD too large –Must partition into network of BDDs (local BDDs)

13 QUESTIONS ?