Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO)

Slides:



Advertisements
Similar presentations
Minimization of Circuits
Advertisements

CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Traveling Salesperson Problem
Prof. Sin-Min Lee Department of Computer Science
AN ITERATIVE TECHNIQUE FOR IMPROVED TWO-LEVEL LOGIC MINIMIZATION Kunal R. Shenoy Nikhil S. Saluja Nikhil S. Saluja (University of Colorado, Boulder) Sunil.
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.
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.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Two-Level Logic Synthesis -- Quine-McCluskey Method.
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.
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.
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.
Quine-McClusky Minimization Method Discussion D3.2.
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
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.
Simplifying Boolean Expressions Using K-Map Method
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
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.
1 Chapter 5 Karnaugh Maps Mei Yang ECG Logic Design 1.
Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical.
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
How Much Randomness Makes a Tool Randomized? Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University in Prague
Boolean Minimizer FC-Min: Coverage Finding Process Petr Fišer, Hana Kubátová Czech Technical University Department of Computer Science and Engineering.
Karnaugh map covering Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)
ECE 3110: Introduction to Digital Systems Symplifying Products of sums using Karnaugh Maps.
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
ICS 252 Introduction to Computer Design Lecture 10 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
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.
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.
PRASAD A. PAWASKAR SPN. NO DETE 2 SEMESTER lec1-11.
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 4: Logic Optimization Chapter 4.
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 Topic 5: Quine-McCluskey Method José Nelson Amaral.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect15: Heuristic Two Level Logic.
1 Quine-McCluskey Method. 2 Motivation Karnaugh maps are very effective for the minimization of expressions with up to 5 or 6 inputs. However they are.
Ahmad Almulhem, KFUPM 2010 COE 202: Digital Logic Design Combinational Logic Part 3 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:
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 Implicant Expansion Methods Used in The BOOM Minimizer Petr Fišer, Jan Hlavička Czech Technical University, Karlovo nám. 13, Prague 2
1 Gate Level Minimization EE 208 – Logic Design Chapter 3 Sohaib Majzoub.
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
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.
CHAPTER 6 Quine-McCluskey Method
CHAPTER 3 Simplification of Boolean Functions
Computer Organisation
QUINE-McCLUSKEY METHOD
ICS 252 Introduction to Computer Design
Synthesis of Two Level Circuits
EE4271 VLSI Design Logic Synthesis EE 4271 VLSI Design.
MINTERMS and MAXTERMS Week 3
COE 202: Digital Logic Design Combinational Logic Part 3
Minimization of Switching Functions
Heuristic Minimization of Two Level Circuits
Overview Part 2 – Circuit Optimization
Heuristic Minimization of Two Level Circuits
ICS 252 Introduction to Computer Design
Presentation transcript:

Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO)

ENEE 6442 Exact and Heuristic Minimizers > Exact Minimizers: guaranteed optimal solution(s) =PIs and/or minterms =Complexity > Heuristic Minimizers =Quality of the solution =Complexity

ENEE 6443 search space solution space > Approach 1.Find a starting point 2.Search the neighborhood 3.Move to neighbor point(s) 4.Continue until a local optimal is reached > Components =Solution space =Neighborhood structure =Move strategy =Action on local optimal Local Search cost localoptimal solution space

ENEE 6444 Local Search for Logic Minimization > Goal: Given a Boolean function, find a SOP with minimal cost > Local Search: =Search space: all SOP forms on given variables solution space: SOP forms equal to the given function =Neighborhood: two SOP forms are of distance 1 if they have only one product term not in commonthey have only one product term not in common they have only one literal not in common in this termthey have only one literal not in common in this term How to find neighbors: expansion and reduction =Greedy move strategy: move to a neighbor with less cost =Halt (or try again) at a local minimal

ENEE 6445 Neighborhood Structure > Two solutions, s and t, are of distance r if there exist a sequence of (r+1) solutions, s 0,s 1,…,s r, s.t. s 0 =s, s r =t, and s i and s i+1 are of distance 1. > (I) xy+wy’z+w’x’y(II) xy’+wy’z+w’x’y(III) x’y’+wy’z+w’x’y > A local search algorithm usually is based on searching neighbors within a given distance (radius). Larger radius in general leads to more neighbors, better movement, shorter search time before reach a local optimal, but longer run-time overall and no guarantee on the quality of the local optimal.

ENEE 6446 Expand > The expansion of an implicant is obtained by deleting one (or more) of its literals. > A k-literal implicant can have 2 k -1 expansions. > Literal vs. minterm > Check for: Valid Implicant > Stop at: Prime Implicant > Goal: expand non-prime implicant to prime with the least literals

ENEE 6447 Example: Expand f=x’y’z’+xy’z’+x’yz’+x’y’zwith xyz’ as don’t care =x’y’z’  y’z’ (xy’z’  )  z’ (xyz’ , x’yz’  )  1(x) =x’y’z’  x’z’ (x’yz’  )  x’ (x’yz x) =x’y’z  y’z (xy’z x) > Questions: =Where to start: one that is unlikely to be covered by others =How to check validity: compare with off-setcompare with off-set compare with on-set + don’t care setcompare with on-set + don’t care set =Which literal to delete? z x y

ENEE 6448 Reduce > The reduction of an implicant is obtained by adding one or more literals. > Reduction increases the cost (fanins) > Why Reduce? f = xz’ + xy’ + x’y + x’z = xy’ + x’z + yz’ (???, see next slide) > Check for: Valid Cover > Stop at: Maximally reduced implicant > Goal: decrease the size of implicants such that expansion may lead to a better solution

ENEE 6449 Example: Reduce f = xz’ + xy’ + x’y + x’z =No implicant can be expanded (I.e., all are PIs) =Reduce x’y to x’yz’ =Reduce xz’ to xyz’ =Expand x’yz’ to yz’ =f = xy’ + x’z + yz’ > Reduction is for further expansion, one way to get out of local optimal. z x y z x y z x y z x y

ENEE Irredundant > An implicant in a cover is redundant if all the minterms covered by it are contained in other implicants in the cover. z x y Redundant cover z x y Irredundant cover (non-expandable) z x y Minimum cover (after reduction + expansion) irredundant cover vs. minimum cover redundant PI(s) should be out, but what must be in the cover?

ENEE The Espresso Heuristic > First it applies the Expand and Irredundant operators to optimize the current function specification > Then it uses the reduce operator to get out of local minimum > This is iterated till the solution converges > (This was espresso in a nutshell)