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.

Slides:



Advertisements
Similar presentations
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.
Advertisements

CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Transportation Problem (TP) and Assignment Problem (AP)
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.
Reduce Reduce: Replace each prime by a smaller cube contained in it. | F | = |F| after reduce Since some of cubes of F are not prime, Expand can be applied.
Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO)
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
CS 140 Lecture 5 Professor CK Cheng 10/10/02. Part I. Combinational Logic 1.Spec 2.Implementation K-map: Sum of products Product of sums.
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.
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
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.
CS 140 Lecture 3 Professor CK Cheng Tuesday 4/09/02.
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.
CS 140 Lecture 4 Professor CK Cheng Tuesday 5/08/02.
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.
ECE Synthesis & Verification - Lecture 9b 1 ECE 697B (667) Fall 2004 ECE 697B (667) Fall 2004 Synthesis and Verification of Digital Systems Boolean.
CS 140 Lecture 4 Combinational Logic: K-Map Professor CK Cheng CSE Dept. UC San Diego 1.
Gate Logic: Two Level Canonical Forms
Two-Level Logic Minimization Exact minimization –problem : very large number of prime and very large number of minterm Heuristic minimization –avoid computing.
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
ECE 301 – Digital Electronics Karnaugh Maps and Determining a Minimal Cover (Lecture #8) The slides included herein were taken from the materials accompanying.
CS 140 Lecture 5 Professor CK Cheng CSE Dept. UC San Diego.
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’,
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization II.
Hungarian Algorithm Vida Movahedi Elderlab, York University June 2007.
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.
Solve problems by using linear programming.
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.
Systems of Equations and Inequalities Systems of Linear Equations: Substitution and Elimination Matrices Determinants Systems of Non-linear Equations Systems.
Boolean Minimizer FC-Min: Coverage Finding Process Petr Fišer, Hana Kubátová Czech Technical University Department of Computer Science and Engineering.
COE 561 Digital System Design & Synthesis Two-Level Logic Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
Computing the chromatic number for block intersection graphs of Latin squares Ed Sykes CS 721 project McMaster University, December 2004 Slide 1.
ICS 252 Introduction to Computer Design Lecture 10 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Chapter 6 Quine-McCluskey Method Mei Yang ECG Logic Design 1.
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.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect15: Heuristic Two Level Logic.
Two-Level Boolean Minimizer BOOM-II Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University Karlovo nam. 13,
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
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.
Constraints Feasible region Bounded/ unbound Vertices
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
3.3 Linear Programming. Vocabulary Constraints: linear inequalities; boundary lines Objective Function: Equation in standard form used to determine the.
ICS 252 Introduction to Computer Design Lecture 8- Heuristics for Two-level Logic Synthesis Winter 2005 Eli Bozorgzadeh Computer Science Department-UCI.
Reducing a Set Covering Matrix. S I T E S Cost Areas
Logic Synthesis Boolean Division.
Heuristic Minimization of Two-Level Logic
ECE 2110: Introduction to Digital Systems
ICS 252 Introduction to Computer Design
Synthesis of Two Level Circuits
Linear Systems Chapter 3.
Quine-McClusky Minimization Method
ECB2212-Digital Electronics
Heuristic Minimization of Two Level Circuits
Heuristic Minimization of Two Level Circuits
ICS 252 Introduction to Computer Design
Nature does nothing uselessly.
Presentation transcript:

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 ); F = MAKE_SPARSE(F,D);

Heuristic Minimization of Two-level Logic z y x (b) (c) (a) Initial cover (b) After Reduction (c) After Expansion in the right direction and Irredundant cover (a)

Expand –Carry out one cube at a time. –Expand cubes to prime and delete those cubes of F contained in the prime. –Order dependent –goal: 1.Expand as large as possible 2.Cover as many cubes as possible

Expand The Blocking Matrix B(R,C) –block the expansion of a cube C not to intersect off-set –the cube to be expanded –the cover of off-set – B ij = 1 if ( (C j = 1) and M(R) ij = 0) or ( (C j = 0) and M(R) ij = 1) Ex: C offset M(R) B(R,C)

Blocking Matrix C offset M(R) B(R,C) What does a “1” mean in the blocking matrix? The goal of expansion is to raise all the variables of a cube to 2. But expansion of the cube can’t cover the vertex in off-set So, some variable can’t be raised. A “1” in (i,j) means if variable j is not raised (lowing), the expanded cube will not intersect the cube i of off-set.

Maximum Expansion L is a column covering of B Every row of B contains a 1 in some column which appears in L. C + (L,C) j = C j, j L 2, otherwise Proposition : If L is a minimum column covering of B, then C + (L,C) is a largest implicant of the function F.

Expand Covering Matrix : determined by the cube and the given cover C ij = 1 if ((C j = 1)and M(F) ij 1) or ((C j = 0)and M(F) ij 0) 0 otherwise C M(F) C(F,C) Ex:

Covering Matrix c M(F) C(F,c) What does a “1” mean in the covering matrix? => A “1” in (i,j) means if column j is in the minimal column covering, the cube i is not covered by the expanded cube. Select a minimal column covering so that many rows do not have a 1 in the column cover.

How to Find a Column Covering ? Define two sets : The lowing set : the variables remain the same. The raising set : the variables raised to 2 (expanded ) step1: Essential column(B) lowing set C = B(R,C) = C(F,C) = lowing set = {2} C1C1 C2C2 C3C3 C4C4 C5C5 Ex:

How to Find a Column Covering ? B(R,C) = C(F,C) = Step 2 : Maximal feasible covering column set : Raising columns to cover as many cubes as possible To cover {C 3 }, {3} must be raised. If after{3} being raised, the resultant matrix still has one 1’s in each row, {3} is a feasible covering column set. Maximal feasible covering column set is a feasible covering column set which covers a maximal number of cubes Select the MFC which commits the least number of columns C2C2 C3C3 Ex : raising set = {3}{4} lowing set = {2}{1} C + = { }

How to Find a Column Covering? step 3 : If no feasible covering column set (no cube can be covered), choose the column which has the most number of “1”s in C to raise.( Try to partially cover as many cubes as possible)