Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Slides:



Advertisements
Similar presentations
MVI Function Review Input X is p -valued variable. Each Input can have Value in Set {0, 1, 2,..., p i-1 } literal over X corresponds to subset of values.
Advertisements

ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
ENGIN112 L8: Minimization with Karnaugh Maps September 19, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 8 Minimization with Karnaugh.
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.
Logic Synthesis Part II
Chapter 3 Simplification of Switching Functions
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.
Multi-Valued Input Two-Valued Output Functions. Multi-Valued Input Slide 2 Example Automobile features 0123 X1X1 TransManAuto X2Doors234 X3ColourSilverRedBlackBlue.
Rolf Drechlser’s slides used
ENEE 6441 On Quine-McCluskey Method > Goal: find a minimum SOP form > Why We Need to Find all PIs? f(w,x,y,z) = x’y’ +wxy+x’yz’+wy’z = x’y’+x’z’+wxy+wy’z.
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.
DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.
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)
ECE 667 Synthesis and Verification of Digital Systems
Lattice and Boolean Algebra
CS 151 Digital Systems Design Lecture 8 Minimization with Karnaugh Maps.
1 CSE 20: Lecture 7 Boolean Algebra CK Cheng 4/21/2011.
Logic Decomposition ECE1769 Jianwen Zhu (Courtesy Dennis Wu)
Introduction to Graph Theory
1 COMBINATIONAL LOGIC One or more digital signal inputs One or more digital signal outputs Outputs are only functions of current input values (ideal) plus.
Binary Decision Diagrams (BDDs)
Boolean Algebra and Digital Circuits
1 Simplification of Boolean Functions:  An implementation of a Boolean Function requires the use of logic gates.  A smaller number of gates, with each.
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
Laws (Theorems) of Boolean algebra Laws of Complementation oThe term complement means, to invert or to change 1's to 0's and 0's to 1's, for which purpose.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Two Level Networks. Two-Level Networks Slide 2 SOPs A function has, in general many SOPs Functions can be simplified using Boolean algebra Compare the.
6 - 1 Simplification Theorems Useful for simplification of expressions & therefore simplification of the logic network which results. XY + XY' = ( X +
Kuo-Hua Wang, Chung-Ming Chan, Jung-Chang Liu Dept. of CSIE Fu Jen Catholic University Slide: Chih-Fan Lai Simulation and SAT-Based Boolean Matching for.
Module –I Switching Function
Boolean Algebra & Logic Circuits Dr. Ahmed El-Bialy Dr. Sahar Fawzy.
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 9 Boolean Algebras and Combinatorial Circuits.
BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
Standard & Canonical Forms COE 202 Digital Logic Design Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum.
BDS – A BDD Based Logic Optimization System Presented by Nitin Prakash (ECE 667, Spring 2011)
School of Computer and Communication Engineering, UniMAP DKT 122/3 - DIGITAL SYSTEM I Chapter 4A:Boolean Algebra and Logic Simplification) Mohd ridzuan.
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC. De Morgan’s Theorem De Morgan’s Theorem.
DE MORGAN’S THEOREM. De Morgan’s Theorem De Morgan’s Theorem.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
1 CS 352 Introduction to Logic Design Lecture 1 Ahmed Ezzat Number Systems and Boolean Algebra, Ch-1 + Ch-2.
Logic Synthesis Boolean Division.
Understanding the basics of the decomposition methods, discussed in the earlier lectures, leads to devising a general and complete decomposition method.
De Morgan’s Theorem,.
DeMorgan’s Theorem DeMorgan’s 2nd Theorem
CHAPTER 1 : INTRODUCTION
Boolean Expressions Lecture No. 10.
Faster Logic Manipulation for Large Designs
CSE 140 : Components and Design Techniques for Digital Systems
A. Mishchenko S. Chatterjee1 R. Brayton UC Berkeley and Intel1
A Boolean Paradigm in Multi-Valued Logic Synthesis
Boolean Algebra.
Faster Logic Manipulation for Large Designs
ECE 667 Synthesis and Verification of Digital Systems
CH7 Multilevel Gate Network
Optimization Algorithm
MVI Function Review Input X is p-valued variable. Each Input can have Value in Set {0, 1, 2, ..., pi-1} literal over X corresponds to subset of values.
January 19 W’05 Yutao He 4532B Boelter Hall CSM51A/EEM16-Sec.1 W’05
BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION Part (a)
Sungho Kang Yonsei University
MVI Function Review Input X is p-valued variable. Each Input can have Value in Set {0, 1, 2, ..., pi-1} literal over X corresponds to subset of values.
1. Evaluating Expressions and Functions
Laws & Rules of Boolean Algebra
Presentation transcript:

Ruei-Rung, Lee 1

Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2

Introduction Function decomposition Algebraic methods Rely on an SOP representation of the logic functions Boolean methods Truth-table H D c b a F c b a 3

Background Cut: A set of nodes(leaves) with respect to a node n 1) Each path from any PI to n passes through at least one leaf. 2) For each leaf, there is at least one path from a PI to n passing through the leaf and not through any other leaf. n c 4

Disjoint-support Decomposition Disjoint-support decomposition(DSD): A decomposition in which the set of nodes of the resulting Boolean network have disjoint supports. DSD is a tree. Bound set: The set of leaf variables of any sub-tree of the DSD Free set: The remaining variables a b1 b2 5 F b1 a

(a,b)-decomposition A function F has an (a,b)-decomposition if it can be written as F(a,b,c) =H(D(a,b),b,c) where D is a single- output function. D is called the divisor and H the dividend. H D c b a F c b a 6

Theorem 3.1 A function F(a, b, c) has an (a, b)-decomposition ⇔ each of the 2 |b| cofactors of F with respect b has a DSD structure in which the variables a are in a separate block. 7

Proof A function F(a, b, c) has an (a, b)-decomposition ⇒ each of the 2 |b| cofactors of F with respect b has a DSD structure in which the variables a are in a separate block. Suppose F has an (a,b)-decomposition F(x) =H(D(a,b),b,c). Let b j = b1¬b2¬b3b4 for k=4. This sets b = 1,0,0,1 F b j (a, c) = H(D(a,1,0,0,1),1,0,0,1, c) ≡ H b j (D b j (a),c). 8

Proof A function F(a, b, c) has an (a, b)-decomposition <= each of the 2 |b| cofactors of F with respect b has a DSD structure in which the variables a are in a separate block. F b j (a, c) =H j (D j (a),c) for some functions H j and D j. We want to find H(x, b, c) and D(a, b) such that F(a, b, c) =H(D(a,b),b,c). Let D(a, b) =, H(T, b, c) = F’(a, b, c) =H(D(a,b),b,c). F’ b j (a, c) = H j (D b j (a,b), c) = H j (D j (a), c) = F b j (a, c). 9

Example (a,b) = ((e, f,y),x), c=(g,h) F ¬x =¬ye+yf and F x =¬yg+yh D 0 =¬ye+yf and D 1 = y F ¬x =H 0 (D 0 )=D 0,F x =H 1 (D 1,g,h)=¬D 1 g+D 1 h D = ¬xD 0 + xD 1 = ¬x(¬ye+yf)+ x(y), H(T,x,g,h) = ¬xH 0 (T)+ xH 1 (T,g,h) = ¬xT + x(¬Tg+Th) F = H(D,x,g,h) = ¬xD+x(¬Dg+Dh). 10

Bound Set Independent Cofactors F(a, b, c) =H(D(a,b),b,c) Bound set independent cofactors(bsi-cofactors): A cofactor of F with respect to b is independent of a. Otherwise, bsd-cofactors. E.g. F = ab + ¬bc, F ¬b = c is independent of a. If F b j (a, c) is a bsi-cofactor, F b j (a, c) = H b j (D b j (a),c) D b j (a) can be any function. 11

Theorem 3.2 f ≅ g : f equals g up to complementation. Let F have an (a,b)-decomposition with an associated divisor D(a, b) = Then D’(a,b) = is also an (a,b)-divisor ⇔ D’ j (a) ≅ D j (a), ∀ j ∈ J, where J is the set of indices of the bsd- cofactors of F. 12

Proof Let F have an (a,b)-decomposition with an associated divisor D(a, b) = Then D’(a,b) = is also an (a,b)-divisor ⇒ D’ j (a) ≅ D j (a), ∀ j ∈ J, where J is the set of indices of the bsd- cofactors of F. F = H(D(a,b),b,c) = H’(D’(a,b),b,c) F b j = H b j (D b j (a),c) = H’ b j (D’ b j (a),c) ⇒ D’ b j (a) ≅ D b j (a) HbjHbj DbjDbj c a H’ b j DbjDbj c a D’ b j fbjfbj fbjfbj 13

Let F have an (a,b)-decomposition with an associated divisor D(a, b) = Then D’(a,b) = is also an (a,b)-divisor  D’ j (a) ≅ D j (a), ∀ j ∈ J, where J is the set of indices of the bsd- cofactors of F. H’ 1 Proof H1H1 D1D1 c b a H2H2 D2D2 c b a H1H1 D1D1 c b a H2H2 D2D2 c b a H’ 2 D’ 2 D’ 1 14

(a,b)-compatible Two functions, f 1, f 2, are said to be (a,b)-compatible if each has an (a,b)-divisor, and D 1 b j (a) ≅ D 2 b j (a), ∀ j ∈ J 1 ∩j 2, where J i is the set of indices of the bsd-cofactors of F i. H1H1 D1D1 c b a H2H2 D1D1 c b a D2D2 f1f1 f2f2 15

Theorem 3.3 There exists a common (a,b)-divisor of {F 1, …, F n } ⇔ {F 1, …, F n } is pair-wise (a,b)-compatible. 16

Proof There exists a common (a,b)-divisor of {F 1, …, F n } ⇒ {F 1, …, F n } is pair-wise (a,b)-compatible. F 1 (a,b,c) = H 1 (D(a,b),b,c), F 2 (a,b,c) = H 2 (D(a,b),b,c) D 1 = D 2 =D  D 1 b j (a) ≅ D 2 b j (a), F 1 and F 2 are (a,b)-compatible. 17

Proof There exists a common (a,b)-divisor of {F 1, …, F n } <= {F 1, …, F n } is pair-wise (a,b)-compatible. Suppose F1 and F2 are (a,b)-compatible. F 1 (a,b,c) = H 1 (D 1 (a,b),b,c), F 2 (a,b,c) = H 2 (D 2 (a,b),b,c) 1) Define D’ b j (a) = D 1 b j (a) [ ≅ D 2 b j (a)], if b j are bsd for F 1 and F 2 2) D’ b j (a) = D 1 b j (a), if b j is bsd for F 1 and bsi for F 2 3) D’ b j (a) = D 2 b j (a), if b j is bsi for F 1 and bsd for F 2 4) D’ b j (a) = 0, if b j is bsi for F 1 and F 2 D’(a,b) =, is an (a,b)-divisor of both F 1 and F 2 (by Theorem 3.2) 18

Rewriting K-LUT Networks Objective: To rewrite a local window of a K-LUT mapped network. Given n and a cut C(n), the problem is to find a decomposition of f n (c) composed of the minimum number of K (or less) input blocks. n c 19

Example Assume K = 4. Suppose x is chosen as the cofactoring variable. The cofactors are F ¬x =¬ye+yf and F x =¬yg+yh. The K-1-feasible bound-sets are {{ ∅ },{e},{f},{y},{e,f,y}}, and {{ ∅ },{g},{h},{y},{g,h,y}}. A common bound-set {e,f,y} of size K-1 exists. H D c b a 20

Experimental Results 21

Conclusions An algorithm for decomposition of logic functions. 1) based on cofactoring and disjoint-support decomposition. 2) faster than previous solutions relying on BDD based decomposition and Boolean satisfiability 3) 5.4% reduction in area 22

Future Work Exploring other data structures for cofactoring and DSD decomposition, to allow processing of functions with more than 16 inputs. 23

Thank You 24