State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect15: Heuristic Two Level Logic.

Slides:



Advertisements
Similar presentations
Techniques for Combinational Logic Optimization
Advertisements

FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Irredundant Cover After performing Expand, we have a prime cover without single cube containment now. We want to find a proper subset which is also a cover.
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
EEE324 Digital Electronics Ian McCrumRoom 5B18, Lecture 5: Software for.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sum of Products.
Universal logic design algorithm and its application to the synthesis of two-level switching circuits §H.-J.Mathony §IEEE Proceedings 1989.
ECE C03 Lecture 31 Lecture 3 Two-Level Logic Minimization Algorithms Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
EE 4271 VLSI Design1 Logic Synthesis. Starts from RTL description in HDL or Boolean expressions Outputs a standard cell netlist EE 4271 VLSI Design2.
ELEC Digital Logic Circuits Fall 2008 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
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.
Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO)
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
1 Consensus Definition Let w, x, y, z be cubes, and a be a variable such that w = ax and y = a’z w = ax and y = a’z Then the cube xz is called the consensus.
Finite State Machine State Assignment for Area and Power Minimization Aiman H. El-Maleh, Sadiq M. Sait and Faisal N. Khan Department of Computer Engineering.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
COE 561 Digital System Design & Synthesis Two-Level Logic Synthesis
COE 561 Digital System Design & Synthesis Two-Level Logic Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
1 Multi-Valued Logic Up to now…two-valued synthesis –Binary variables take only values {0, 1} Multi-Valued synthesis –Multi-valued variable X i can take.
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Multi-Valued Input Two-Valued Output Functions. Multi-Valued Input Slide 2 Example Automobile features 0123 X1X1 TransManAuto X2Doors234 X3ColourSilverRedBlackBlue.
1 Multi-Valued Logic Up to now…two-valued synthesis –Binary variables take only values {0, 1} Multi-Valued synthesis –Multi-valued variable X i can take.
Logic Synthesis n -Basic Concepts and Tools n Tao Lin n Ohio Universtiy n February 17, 1998.
ECE Synthesis & Verification - Lecture 9b 1 ECE 697B (667) Fall 2004 ECE 697B (667) Fall 2004 Synthesis and Verification of Digital Systems Boolean.
Gate Logic: Two Level Canonical Forms
Irredundant Cover After performing Expand, we have a prime cover without single cube containment now. We want to find a proper subset which is also a cover.
1 Generalized Cofactor Definition 1 Let f, g be completely specified functions. The generalized cofactor of f with respect to g is the incompletely specified.
CS 140 Lecture 4 Professor CK Cheng 4/11/02. Part I. Combinational Logic Implementation K-Map Given F R D Obj: Minimize sum of products Proc: Draw K-Map.
Winter 2014 S. Areibi School of Engineering University of Guelph
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Exact Two-level Minimization Quine-McCluskey Procedure.
ECE 667 Synthesis and Verification of Digital Systems
ENEE244-02xx Digital Logic Design Lecture 10. Announcements HW4 assigned, due 10/9.
Simple Minimization Loop F = EXPAND(F,D); F = IRREDUNDANT(F,D); do { cost = F ; F = REDUCE(F,D); F = EXPAND(F,D); F = IRREDUNDANT(F,D); } while ( F < cost.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization I.
Two Level Logic Optimization. Two-Level Logic Minimization PLA Implementation Ex: F 0 = A + B’C’ F 1 = AC’ + AB F 2 = B’C’ + AB product term AB, AC’,
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization II.
Chapter 3. Minimization of Switching Functions. Given a sw function f(x 1, x 2, …, x n ) and some cost criteria, find a representation of f which minimizes.
Logic Synthesis Minimization of Boolean logic –Technology-independent mapping Objective: minimize # of implicants, # of literals, etc. Not directly related.
Quine-McCluskey (Tabular) Minimization Two step process utilizing tabular listings to: Identify prime implicants (implicant tables) Identify minimal PI.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Valued Logic.
Heuristic Two-level Logic Optimization Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes.
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
ICS 252 Introduction to Computer Design Lecture 9 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Two Level and Multi level Minimization
COE 561 Digital System Design & Synthesis Two-Level Logic Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
ICS 252 Introduction to Computer Design Lecture 10 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Copyright © 2004 by Miguel A. Marin Revised McGILL UNIVERSITY DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING COURSE ECSE DIGITAL SYSTEMS.
2-1 Introduction Gate Logic: Two-Level Simplification Design Example: Two Bit Comparator Block Diagram and Truth Table A 4-Variable K-map for each of the.
Two-Level Boolean Minimizer BOOM-II Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University Karlovo nam. 13,
ECE Synthesis & Verification - Lecture 3/4 1 ECE 697B (667) Fall 2004 ECE 697B (667) Fall 2004 Synthesis and Verification of Digital Systems Two-level.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 15: March 4, 2002 Two-Level Logic-Synthesis.
Karnaugh Maps (K-Map) A K-Map is a graphical representation of a logic function’s truth table.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect10: Two-level Logic Minimization.
ICS 252 Introduction to Computer Design Lecture 8- Heuristics for Two-level Logic Synthesis Winter 2005 Eli Bozorgzadeh Computer Science Department-UCI.
ICS 252 Introduction to Computer Design Lecture 8 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
©2010 Cengage Learning SLIDES FOR CHAPTER 6 QUINE-McCLUSKEY METHOD Click the mouse to move to the next page. Use the ESC key to exit this chapter. This.
ELEC Digital Logic Circuits Fall 2014 Logic Minimization (Chapter 3)
Heuristic Minimization of Two-Level Logic
SINGLE-LEVEL PARTITIONING SUPPORT IN BOOM-II
Plotting functions not in canonical form
ICS 252 Introduction to Computer Design
EE4271 VLSI Design Logic Synthesis EE 4271 VLSI Design.
CSE 140: Components and Design Techniques for Digital Systems
ECB2212-Digital Electronics
Minimization of Switching Functions
Heuristic Minimization of Two Level Circuits
Heuristic Minimization of Two Level Circuits
ICS 252 Introduction to Computer Design
Presentation transcript:

State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect15: Heuristic Two Level Logic Minimization Dr. Yaser Khalifa Electrical and Computer Engineering Department State University of New York at New Paltz

Unate Function Definition : If, in the minimum sum-of-product form of a switching function, each variable appears either in its true form or its complemented form, but not both, then the function is called a unate function. Ex) f 1 (x 1 x 2 x 3 )= x 1 + x 2 x 3 ’ : unate f 1 (x 1 x 2 x 3 )= x 1 + x 1 ’ x 2 x 3 ’ : ≠ unate due to x 1 & x 1 ’ Th A switching function is unate if and only if it can be expressed as a sum of essential prime cubes, all intersecting at a common subcube.

Heuristic Logic Minimization Heuristic Logic Minimization (cube-based) ② Unate recursive paradigm : ESPRESSO (or in English; Divide-and-Conquer!) i.e. Decomposition  Make use of Shannon’s expansion to recursively operate on subsets of logic cover until cover has unate property.  Why looking for the unate property recursively?  Every prime of a unate function is essential.  Minimum form is given as the union of all EPIs.  Note that min form = EPIs + minimum PIs in general.  If F is a unate function, min form = EPIs : this is good to find min. form.  In ESPRESSO, used for complementation and tautology checking.

(b) Shannon Expansion where Complementation

How to determine if a function is unate : The definition on prev. page requires the min. form of the function. But we are looking for it. Thus, we need another method.  A function is unate if it is unate in all its variables.  A function is unate in x j if it is monotone in x j.  Thus, a function is unate if it is monotone in all its variables  Monotone in x j ?  x j change causes all changing outputs to change in the same direction.  If x j of 0  1 causes all changing outputs to change  from 0  1 : monotone increasing in x j  from 1  0 : monotone decreasing in x j

ABCDF=C’D +ABD F1=C’D +ABD+A’B’C’ Both OK for D: 0  1

ABDCF=C’D +ABD F1=C’D +ABD+A’B’C’ Both OK for C: 0  1

ABCDF=C’D +ABD F1=C’D +ABD+A’B’C’ F1 NOT OK for A: 0  1

Heuristic Minization Operators Expand –Make implicants prime –Remove covered implicants Reduce –Reduce size of each implicant while preserving cover Reshape –Modify implicant pairs: enlarge one implicant enabling the reduction of another Irredendant –Make cover irredundant

Example On-set: Prime implicants:  | 0**0 1  | *0*0 1  | 01** 1  | 10** 1  | 1*01 1  | *101 1

Example Expand 0000 to  = 0**0 –Drop 0100, from the cover Expand 1000 to  = *0*0 –Drop 1010 from the cover Expand 0101 to  = 01** –Drop 0111 from the cover Expand 1001 to  = 10** –Drop 1011 from the cover Expand 1101 to  = 1*01 Cover is {  }

Example reduction Reduce 0**0 to nothing. Reduce  = *0*0 to  = 00*0 Reduce  = 1*01 to  = 1101 Cover is {  }

Example reshape Reshape {  to {  Where  = 10*1 Cover is {  }

Example second expansion Expand  = 10*1  = 10** Expand  = 1101 to  = *101 Cover is {  }

Summary of Example Expansion: –Cover: {  } –Prime, redundant, minimal w.r.t single cube containment Reduction: –  eliminated –B = *0*0 reduced to b = 00*0 –E = 1*01 reduced to e = 1101 –Cover: {  } Reshape: –{  } reshaped to {  } where d = 10*1 Second expansion –Cover: {  } –Prime, irredundant (= minimal)