EE4271 VLSI Design Logic Synthesis EE 4271 VLSI Design.

Slides:



Advertisements
Similar presentations
Techniques for Combinational Logic Optimization
Advertisements

Minimization of Circuits
1 EECS 219B Spring 2001 Node minimization Andreas Kuehlmann.
FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
1 EE5900 Advanced Embedded System For Smart Infrastructure Advanced Theory.
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Gate-Level Minimization
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
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.
4.2 Strategy for minimization So far, we used an intuitive approach to decide how the 1s in the K-map should be grouped together to obtain the minimum-cost.
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.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
EDA (CS286.5b) Day 17 Sequential Logic Synthesis (FSM Optimization)
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Gate Logic: Two Level Canonical Forms
ECE 667 Synthesis and Verification of Digital Systems
ENEE244-02xx Digital Logic Design Lecture 10. Announcements HW4 assigned, due 10/9.
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’,
The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Valued Logic.
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.
ECE 2110: Introduction to Digital Systems PoS minimization Don’t care conditions.
Karnaugh map covering Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)
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.
Simplification of incompletely specified functions using QM Tech.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect15: Heuristic Two Level Logic.
Copied with Permission from prof. Mark PSU ECE
C.S.Choy39 TERMINOLOGY Minterm –product term containing all input variables of a function in either true or complementary form Maxterm – sum term containing.
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.
Karnaugh Maps (K maps).
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.
ECE 301 – Digital Electronics Minimizing Boolean Expressions using K-maps, The Minimal Cover, and Incompletely Specified Boolean Functions (Lecture #6)
ICS 252 Introduction to Computer Design Lecture 8 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Lecture 3: Incompletely Specified Functions and K Maps
ELEC Digital Logic Circuits Fall 2014 Logic Minimization (Chapter 3)
CSC205 Jeffrey N. Denenberg Lecture #5
ECE 2110: Introduction to Digital Systems
Computer Organisation
Lecture 5 Topics Canonical or Standard Forms of Functions
Lecture #6 EGR 277 – Digital Logic
ECE 3110: Introduction to Digital Systems
QUINE-McCLUSKEY METHOD
Plotting functions not in canonical form
EEL 3705 / 3705L Digital Logic Design
Lecture 3: Incompletely Specified Functions and K Maps
ICS 252 Introduction to Computer Design
Synthesis of Two Level Circuits
ECE 331 – Digital System Design
CHAPTER 5 KARNAUGH MAPS 5.1 Minimum Forms of Switching Functions
CSE 370 – Winter 2002 – Logic minimization - 1
Karnaugh Maps Introduction Venn Diagrams 2-variable K-maps
Quine-McClusky Minimization Method
332:437 Lecture 3 Hardware Design Methodology and Advanced Logic Design Hardware design.
Lecture 15 — CS 2603 Applied Logic for Hardware and Software
ECB2212-Digital Electronics
Minimization of Switching Functions
Heuristic Minimization of Two Level Circuits
ICS 252 Introduction to Computer Design
ESE535: Electronic Design Automation
CHAPTER 6 QUINE-McCLUSKEY METHOD
Lecture 3: Incompletely Specified Functions and K Maps
ECE 331 – Digital System Design
Presentation transcript:

EE4271 VLSI Design Logic Synthesis EE 4271 VLSI Design

Logic Synthesis Starts from RTL description in HDL or Boolean expressions Outputs a standard cell netlist EE 4271 VLSI Design

Boolean Function f: Bm Yn B = {‘0’, ‘1’}, Y = {‘0’, ‘1’, ‘-’} The function is incompletely specified, don’t care ‘-’ For each output, space of Bm can be partitioned into on-set: all inputs leading to output ‘1’ off-set: all inputs leading to output ‘0’ dc-set: all inputs leading to output ‘-’ EE 4271 VLSI Design

Points in Input Space Assigning ‘1’ or ‘0’ to each of the m Boolean variables x1, x2, …, xm specifies a point in input space Bm Example (‘1’, ‘0’, ‘1’) in B3 x1=‘1’ Λ x2=‘0’ Λ x3=‘1’ x1•x2•x3 EE 4271 VLSI Design

Terminology Literal: a Boolean variable or its complement Minterm: a product of all input variables or their complements – a point in Bm Cube: a product of input variables or their complements The fewer number of variables, the bigger space covered EE 4271 VLSI Design

Boolean Function Representation A Boolean function can be specified by a sum of minterms The expression has a minterm for each point in the on-set EE 4271 VLSI Design

Implicant and Cover An implicant is a cube whose points are either in the on-set or the dc-set A prime implicant is an implicant that is not included in any other implicant A set of prime implicants that together cover all points in the on-set (and some or all points of the dc-set) is called a prime cover EE 4271 VLSI Design

Irredundant Cover An prime cover is irredundant when none of its prime implicants can be removed from the cover An irredundant prime cover is minimal when the cover has the minimal number of prime implicants EE 4271 VLSI Design

Goal of Logic Synthesis Find a minimum irredundant prime cover An irredundant prime cover is not necessarily a minimum EE 4271 VLSI Design

Quine-McCluskey Algorithm Calculate all prime implicants of the union of the on-set and dc-set, omitting prime implicants that only cover points of dc-set Finds the minimum cost cover of all minterms in the on-set by the obtained prime implicants EE 4271 VLSI Design

Set Covering Problem Given a universe U={e1, …, en}, a collection of subsets {S1, …, Sm} where each subset contains some elements in universe cost wi is associated with each subset Si find a subcollection C (cover) such that C covers the entire universe Famous NP-complete problem On-set U, a prime implicant an S EE 4271 VLSI Design

Example of Set Cover U={1,2,3,4} S1={1,2}, w=2 S2={1,3,4}, w=3 C={S3,S6} is the optimal solution S3 is redundant in C={S1,S2,S3} , and C={S1,S2} is not optimal EE 4271 VLSI Design

Greedy Algorithm C = empty [the cover] E= empty [record elements which have been covered] While there is uncovered element Find the subset Si which is most cost effective, that is, the Si with smallest w(Si)/|Si-E|. [weight of subset over the elements in the subset but not covered so far] For each e in Si-E, set price(e)=w(Si)/|Si-E| Put all e in Si to E Put Si in the current partial cover C EE 4271 VLSI Design

Running Example (Iter 1) S1={1,2}, w=10 S2={1,3,4}, w=9 S3={3}, w=7 S4={2,4}, w=4 S5={2,3}, w=2 Iteration 1, E = empty w(S1)/|S1-E|=10/2=5 w(S2)/|S2-E|=9/3=3 w(S3)/|S3-E|=7/1=7 w(S4)/|S4-E|=4/2=2 w(S5)/|S5-E|=2/2=1 Pick S5 E = {2,3} C = {S5} EE 4271 VLSI Design

Running Example (Iter 2) S1={1,2}, w=10 S2={1,3,4}, w=9 S3={3}, w=7 S4={2,4}, w=4 S5={2,3}, w=2 Iteration 2, E={2,3}, C = {S5} w(S1)/|S1-E|=10/1=10 w(S2)/|S2-E|=9/2=4.5 w(S3)/|S3-E|=7/0=+infty w(S4)/|S4-E|=4/1=4 Pick S4 E = {2,3,4} C = {S5,S4} EE 4271 VLSI Design

Running Example (Iter 3) S1={1,2}, w=10 S2={1,3,4}, w=9 S3={3}, w=7 S4={2,4}, w=4 S5={2,3}, w=2 Iteration 3, E={2,3,4}, C={S5,S4} w(S1)/|S1-E|=10/1=10 w(S2)/|S2-E|=9/1=9 w(S3)/|S3-E|=7/0=+infty Pick S2 E = {2,3,4,1} C = {S5,S4,S2} EE 4271 VLSI Design

The Other Example n elements and a collection of m=n+1 subsets U={1,2,…n} S1={1}, w(S1)=1/n S2={2}, w(S2)=1/(n-1) S3={3}, w(S3)=1/(n-2) … Sn={n}, w(Sn)=1 Sn+1={1,2,…,n}, w(Sn+1)=1.0001 Our solution {S1,S2,…,Sn}, weight = ln n Optimal solution {Sn+1}, weight = 1.0001 EE 4271 VLSI Design

Summary Logic synthesis Primary implicant Minimum cost irredundant prime cover Set Cover Greedy Algorithm EE 4271 VLSI Design 18