Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.

Slides:



Advertisements
Similar presentations
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Advertisements

Overview Part 1 – Gate Circuits and Boolean Equations
ECE C03 Lecture 31 Lecture 3 Two-Level Logic Minimization Algorithms Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO)
ECE 331 – Digital System Design
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
Gate-Level Minimization. Digital Circuits The Map Method The complexity of the digital logic gates the complexity of the algebraic expression.
ELEN 468 Lecture 121 ELEN 468 Advanced Logic Design Lecture 12 Synthesis of Combinational Logic I.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
1 EE 365 Combinational-Circuit Synthesis. 2 Combinational-Circuit Analysis Combinational circuits -- outputs depend only on current inputs (not on history).
Chapter 3 Simplification of Switching Functions
Logic Synthesis 1 Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 4: February 25, 2009 Two-Level Logic-Synthesis.
Give qualifications of instructors: DAP
Gate Logic: Two Level Canonical Forms
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 3-1 Chapter #2: Two-Level Combinational Logic Section 2.1, Logic Functions.
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 4-1 Chapter #2: Two-Level Combinational Logic Section 2.3, Switches and Tools.
Winter 2014 S. Areibi School of Engineering University of Guelph
ECE 667 Synthesis and Verification of Digital Systems
Computer Engineering (Logic Circuits) (Karnaugh Map)
بهينه سازي با نقشة کارنو Karnaugh Map. 2  Method of graphically representing the truth table that helps visualize adjacencies 2-variable K-map 3-variable.
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.
Overview of Chapter 3 °K-maps: an alternate approach to representing Boolean functions °K-map representation can be used to minimize Boolean functions.
1 Lecture 10 PLDs  ROMs Multilevel logic. 2 Read-only memories (ROMs) Two dimensional array of stored 1s and 0s  Input is an address  ROM decodes all.
B-1 Appendix B - Reduction of Digital Logic Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
Based on slides by: Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. ECE/CS 352: Digital System Fundamentals Lecture 9 – Multilevel Optimization.
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
Department of Computer Engineering
9/16/04UCB EECS150 D. Culler Fa04 1 EECS Components and Design Techniques for Digital Systems Lec 06 – Minimizing Boolean Logic 9/16-04 David Culler.
Gate-Level Minimization Chapter 3. Digital Circuits The Map Method The complexity of the digital logic gates the complexity of the algebraic expression.
1 EE121 John Wakerly Lecture #4 Combinational-Circuit Synthesis ABEL.
Optimization Algorithm
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
Two Level and Multi level Minimization
ES 244: Digital Logic Design Chapter 3 Chapter 3: Karnaugh Maps Uchechukwu Ofoegbu Temple University.
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
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.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 4: October 5, 2005 Two-Level Logic-Synthesis.
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 4: Logic Optimization Chapter 4.
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.
Chapter3: Gate-Level Minimization Part 1 Origionally By Reham S. Al-Majed Imam Muhammad Bin Saud University.
07 KM Page 1 ECEn/CS 224 Karnaugh Maps. 07 KM Page 2 ECEn/CS 224 What are Karnaugh Maps? A simpler way to handle most (but not all) jobs of manipulating.
Test Slide SAT MCAT GRE. CSE 370 Spring 2006 Introduction to Digital Design Lecture 5: Canonical Forms Last Lecture Logic Gates Different Implementations.
05 BA2 Page 1 ECEn/CS 224 Boolean Algebra – Part 2.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 15: March 4, 2002 Two-Level Logic-Synthesis.
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 Example: Groupings on 3-Variable K-Maps BC F(A,B,C) = A ’ B ’ A BC F(A,B,C) = B ’ A
CSE 140: Components and Design Techniques for Digital Systems Lecture 3: Incompletely Specified Functions and K Maps CK Cheng Dept. of Computer Science.
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 Topic 4: Cost of Logic Circuits and Karnaugh Maps José Nelson Amaral.
Karnaugh Maps (K maps).
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
ICS 252 Introduction to Computer Design Lecture 8 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
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 4 Ahmed Ezzat Multi-level Gate Circuits and Combinational Circuit Design Ch-7 + Ch-8.
©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.
Lecture 3: Incompletely Specified Functions and K Maps
CSC205 Jeffrey N. Denenberg Lecture #5
DeMorgan’s Theorem DeMorgan’s 2nd Theorem
Lecture 3: Incompletely Specified Functions and K Maps
CHAPTER 5 KARNAUGH MAPS 5.1 Minimum Forms of Switching Functions
CSE 370 – Winter 2002 – Logic minimization - 1
Optimization Algorithm
EECS150 - Digital Design Lecture 7 - Boolean Algebra II
Overview Part 2 – Circuit Optimization
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Laws & Rules of Boolean Algebra
Lecture 3: Incompletely Specified Functions and K Maps
Presentation transcript:

Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand logic optimization problem From Hank Walker

Logic Synthesis Problem Map from logic equations to gate-level combinational logic –will consider FSM synthesis later Goals –maximize speed –minimize power –minimize chip/board area Constraints –target technology –CAD tool CPU time a’bc + abc + dbc + d b c d b c d

Logic Specification.i 3.o 3.p 4 10x101 x x010.e Two-level logic equations –sum of products –“PLA format” –“ESPRESSO format” Multiple-level logic equations –Berkeley Logic Intermediate Format (BLIF) –arbitrary set of equations –generated in converting directly from RTL »e.g. logic equations for ALU –generated from gate-level netlist x = ab’ + b’c + abc’ y = abc’ + ab z = ab’ literaloperand x = abc’ + def + ghi + jkl +... y = bc + e’ + ghi + jk +... x = (a(b+c)d + ef(i+j))(k + l)

Logic Specification Logic equations are flattened to two levels –AND-OR, NAND-NAND, NOR-NOR –common starting point for most tools –eliminates any input bias –causes exponential explosion in equation size in worst case »does not occur in practice

Logic Synthesis Problem 1. logic equation simplification –reduce literal and operand count »less “stuff” to implement –generally reduces chip area –does not always minimize delay 2. logic synthesis –map equations to generic gates »AND, OR, NOT 3. gate-level optimization –“local” transformations for speed, area, power »e.g. AND-NOT => NAND –need estimate of technology costs 4. technology mapping –map from gates to component library »FPGAs, standard cells, TTL, etc.

Karnaugh Maps - Two-Level Minimization A B C D F = A’BC’D + A’BCD + ABC’D’ + ABC’D + ABCD + ABCD’ + AB’C’D’ + AB’C’D F = AB + AC’ + BD Build map - 2 N entries –label entries »0 - F = 0 »1 - F = 1 »X - F = don’t care Find minimum prime cover –cover - set of terms whose union is true for all entries that are 1 »can also cover all 0 entries instead and complement F –prime - terms are simplest (largest cover) they can be »AB vs. ABC + ABC’ –minimum - fewest terms F’ = A’B’ + B’C + A’D’

Examples A B C D F = AC’ + BD + ABCD’ ABCD’ is not prime A B C D F = AC’ + BD F is not a cover

Examples A B C D F’ = A’B’ + A’D’ + B’C A B C D 00 X X1 F = A + BD Use don’t care terms when determining if term is prime Solve for complement

Can Get Into Local Minima A B C D A B C D A B C D A B C D

Local Minima A B C D A B C D A B C D A B C D

A B C D Result is not minimal A B C D F = BD’ + A’D’ + A’B’F = A’B’ + BD’ Result is minimal Solution –try different cover sequences Minimum cover is NP-complete –exponential time in worst case Usually many minima

Problems with Karnaugh Maps Exponential space in number of inputs –e.g. 100 input function needs cells –very inefficient if number of 1 or 0 cells is small Needs of two-level minimization –efficient data structure »ideally linear in size of function –efficient means of searching for minimal prime cover »get close to optimal in reasonable time –serve as a building-block for multi-level minimization

Logic Optimization Definitions N-dimensional boolean space - 2 N points, each associated with a unique set of N literals –e.g. entries in a Karnaugh map or truth table –each point is a minterm –e.g. abcd, ab’cd, in space cube - conjunction (AND) of literals in N-dim boolean space –points on N-dim hypercube that are 1 –examples: a’bc, acd expression - disjunction (OR) of cubes, i.e. equation –example: a’bc + def don’t cares - missing literals from cube –example: abc in space of, d is don’t care –result is cube covering larger part of space –abc = abcd’ + abcd a’b’ a’bab ab’ cube: a’ DC: b space:

Two-Level Logic Optimization Approach –find minimal set of cubes to cover ON-set (1 minterms) –each cube = AND gate »minimal cubes => minimal AND gates –each expression = cubes + OR gate »one expression (OR gate) per output –exploit don’t cares to increase cube sizes »each DC doubles cube size »cube must only cover 1 or DC vertices »or cover OFF-set (0 minterms) instead a’b’ a’bab ab’ a’ + b redundancy in cube cover ON DC OFF

Two-Level Logic Optimization Minimal set of cubes –minimum graph covering problem –NP-complete - exponential in worst case –must use heuristic search Complications –solve simultaneously for each expression (output) »minimize total number of unique cubes –consider ON vs. OFF vs. DON’T CARE set x = ab’ + b’c + abc’ y = abc’ + ab z = ab’.i 3.o 3.p 4 10x101 x x010.e.i 3.o 3.p e x = b’c + ac’ y = ab z = ab’ ESPRESSO outputESPRESSO input

Two-Level Logic Optimization Approach –minimize cover of ON-set of function »ON-set is set of vertices for which expression is TRUE »minimum set of cubes –exploit don’t cares to increase cube sizes Algorithm –start with cubes covering the ON-set »this is just sum-of-products form –iteratively expand, shrink, add, remove cubes –remove redundant (covered) cubes –result is irredundant cover a’b’ a’bab ab’a’b’ a’bab ab’ x = a’b + ab + a’b’ x = a’ + b

ESPRESSO Algorithm Forig = ON-set; /* vertices with expression TRUE */ R = OFF-set; /* vertices with expression FALSE */ D = DC-set; /* vertices with expression DC */ F = expand(Forig, R); /* expand cubes against OFF-set */ F = irredundant(F, D); /* remove redundant cubes */ do { F = reduce(F, D); /* shrink cubes against ON-set */ F = expand(F, R); F = irredundant(F, D); } until cost is “stable”; /* perturb solution */ G = reduce_gasp(F, D); /* add cubes that can be reduced */ G = expand_gasp(G, R); /* expand cubes that cover another */ F = irredundant(F+G, D); } until time is up; ok = verify(F, Forig, D); /* check that result is correct */

Cube Operations Expand –expand essential cubes in F in decreasing size to a prime cube –prime cube - fully expanded against OFF-set –essential cube - contains essential vertex –essential vertex - minterm no other cube covers –remove any covered cubes Expand ON DC OFF

Cube Operations Irredundant ON DC OFF Irredundant –find minimal cover with each cube containing an essential vertex –find relatively essential cubes E »removing them violates cover - keep them –redundant cubes R = F - E »can be individually removed »totally redundant R t - covered by E+D »remove R t »partially redundant R p - R - R t –new F = E + minimal set of R p E RpRp RpRp RtRt

Cube Operations Reduce ON DC OFF Reduce –shrink cubes in descending order of size while maintaining cover –smaller cubes can expand in more directions –smaller cubes more likely to be covered by other cubes during expansion

Cube Operations Expand Gasp Reduce Gasp ON DC OFF Reduce Gasp –for each cube add a subcube not covered by other cubes Expand Gasp –expand subcubes and add them if they cover another cube –later use Irredundant to discard redundant cubes –this is a “last gasp” heuristic for exploration »no ordering by cube size

Example a’b’ a’bab ab’a’b’ a’bab ab’ x = a’b + ab + a’b’ Expand a’b’ a’bab ab’ Irredundant a’b’ a’bab ab’ Reduce a’b’ a’bab ab’ Expand Irredundant a’b’ a’bab ab’ Cost Stable x = a’ + b

Examples Essential and Redundant Cubes Prime & Irredundant Cover RpRp RpRp E E Initial CoverReduceExpand in right direction

Conclusions Experimental Results –ESPRESSO algorithm gets minimum or close to minimum cover where cover is known –up to input literals, 100 inputs, 100 outputs tested –CPU time < 12 min on high-speed workstation Application –PLA minimization –use as subroutine in multi-level logic minimization »minimize pieces of larger circuit