ICS 252 Introduction to Computer Design Lecture 8 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.

Slides:



Advertisements
Similar presentations
Techniques for Combinational Logic Optimization
Advertisements

Chapter 3 Gate-Level Minimization
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Figure 4.1. The function f (x1, x2, x3) =  m(0, 2, 4, 5, 6).
ECE 3110: Introduction to Digital Systems
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.
ECE 3110: Introduction to Digital Systems Simplifying Sum of Products using Karnaugh Maps.
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.
ECE Synthesis & Verification 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits Introduction to Logic Synthesis.
ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
ECE 331 – Digital System Design
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
COE 561 Digital System Design & Synthesis Two-Level Logic Synthesis
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
1 Exact Two-Level Minimization of Hazard-Free Logic with Multiple Input Changes Montek Singh Tue, Oct 16, 2007.
Gate Logic: Two Level Canonical Forms
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
Canonical Forms and Logic Miniminization
ENEE244-02xx Digital Logic Design Lecture 7. Announcements Homework 3 due on Thursday. Review session will be held by Shang during class on Thursday.
ENEE244-02xx Digital Logic Design Lecture 10. Announcements HW4 assigned, due 10/9.
ICS 252 Introduction to Computer Design Multi-level Logic Optimization Fall 2006 Eli Bozorgzadeh Computer Science Department-UCI.
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’,
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.
1 Simplification of Boolean Functions:  An implementation of a Boolean Function requires the use of logic gates.  A smaller number of gates, with each.
Department of Computer Engineering
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 2 – Combinational Logic Circuits Part 2.
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.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Circuit Optimization Logic and Computer Design Fundamentals.
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.
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.
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.
CHAPTER 3: PRINCIPLES OF COMBINATIONAL LOGIC
Venn Diagram – the visual aid in verifying theorems and properties 1 E.
Test Slide SAT MCAT GRE. CSE 370 Spring 2006 Introduction to Digital Design Lecture 5: Canonical Forms Last Lecture Logic Gates Different Implementations.
Multiple Valued Logic Currently Studied for Logic Circuits with More Than 2 Logic States –Intel Flash Memory – Multiple Floating Gate Charge Levels – 2,3.
Lecture 3. Combinational Logic 1 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education & Research.
ICS 252 Introduction to Computer Design Lecture 12 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
ECE 3110: Introduction to Digital Systems Chapter #4 Review.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 15: March 4, 2002 Two-Level Logic-Synthesis.
Boolean Expressions Lecture 3 Digital Design and Computer Architecture Harris & Harris Morgan Kaufmann / Elsevier, 2007.
CSE 140: Components and Design Techniques for Digital Systems Lecture 3: Incompletely Specified Functions and K Maps CK Cheng Dept. of Computer Science.
Lecture # 5 University of Tehran
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.
Standard & Canonical Forms COE 202 Digital Logic Design Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum.
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- Heuristics for Two-level Logic Synthesis Winter 2005 Eli Bozorgzadeh Computer Science Department-UCI.
CHAPTER 3 Simplification of Boolean Functions
ICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design
ECE 2110: Introduction to Digital Systems
ECE 3110: Introduction to Digital Systems
EEL 3705 / 3705L Digital Logic Design
ICS 252 Introduction to Computer Design
EE4271 VLSI Design Logic Synthesis EE 4271 VLSI Design.
ICS 252 Introduction to Computer Design
Heuristic Minimization of Two Level Circuits
ICS 252 Introduction to Computer Design
Presentation transcript:

ICS 252 Introduction to Computer Design Lecture 8 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI

2 Winter 2004ICS 252-Intro to Computer Design Reference –Lecture note by Rajesh Gupta on resource sharing [©Gupta] –Lecture notes by Kert Keutzer on logic synthesis [©Keutzer] Administrative –Midterm 1: Feb 13, 10 a.m. in the class

3 Winter 2004ICS 252-Intro to Computer Design Hardware compilation flow HDL RTL Synthesis netlist Logic synthesis netlist Physical design layout library [©Keutzer]

4 Winter 2004ICS 252-Intro to Computer Design Optimization of modules A B C B arrival time 15 nsrequired time 15 ns [©Keutzer]

5 Winter 2004ICS 252-Intro to Computer Design Reduce to combinational optimization Flip-flops Combinational logic Input arrival time Output required time [©Keutzer]

6 Winter 2004ICS 252-Intro to Computer Design Logic optimization library netlist Logic optimization netlist Tech independent Tech dependent 2-level logic opt Multi-level logic opt library [©Keutzer]

7 Winter 2004ICS 252-Intro to Computer Design Logic Synthesis Target: –Determine microscopic structure of a circuit (gate level representation) Two classes: –combinatorial circuits (by Boolean functions) –sequential circuits (using finite state machine diagram)

8 Winter 2004ICS 252-Intro to Computer Design Logic Synthesis Two-level combinatorial logic optimization –Modeled by sum-of-products or product-of- sums expressions forms –Direct impact on macro-cell design like PLA –Benefits the overall multi-level optimization Multi-level combinatorial logic optimization Synthesis of sequential logic

9 Winter 2004ICS 252-Intro to Computer Design Two-level Logic Synthesis Input –Boolean network, either sum-of-products (SOP) or product-of-sum (POS) –Timing characterization for the module (input arrival time) –Target library Objective –Minimize the size of Boolean function either on SOP or POS [©Keutzer]

10 Winter 2004ICS 252-Intro to Computer Design B={0,1} Y={0,1,2} 2:don’t care Input variables: X1,X2,…,Xn Output Variables: Y1,Y2,…,Ym Logic function f: F: B n  Y m ON-SET i : the set of all input values for which f i (x)=1 (x i ON ) OFF-SET i : the set of all input values for which f i (x)=0 (x i OFF ) DC-SET i : the set of all input values for which f i (x)=2 (x i DC ) Basic Definitions [©Gupta]

11 Winter 2004ICS 252-Intro to Computer Design Boolean function f(x) x1x2x3f1f [©Gupta]

12 Winter 2004ICS 252-Intro to Computer Design The Boolean n-Cube x1 x3 DC-SET OFF-SET ON-SET

13 Winter 2004ICS 252-Intro to Computer Design Boolean functions f : complement of f –ON-SET of fi is OOF-SET of fi and vice versa. Intersection (or and ) of f and g (f.g or f∩g) –Intersection of ON_SET of f and g Union (or or) of f and g (fUg, f+g) –Union of ON-SET of f and g If ONSET of f is B n (i.e., OFF-SET for f is empty) then f is the tautology If ONSET of f is empty f is not satisfiable If f(x)=g(x) for all x, f and g are equivalent x1,x2,…xn: variables x1,x1,x2,…,xn,xn: literals [©Keutzer]

14 Winter 2004ICS 252-Intro to Computer Design Don’t care condition Value of the function is not immaterial. Related to its environment: –Input value assignments that never occur –Input assignments such that some output is never observed Important for logic optimization [©Gupta]

15 Winter 2004ICS 252-Intro to Computer Design Prime Implicants Cubical representation: boolean variable Boolean literals: variable or complement Product of cube: product of literals Implicant: product that does not intersect with OFF-SET of function f Prime implicant: am implicant that is not contained by any implicant of the function Minterm: product of all input variables which does not intersect with OFF-SET of function f [©Gupta]

16 Winter 2004ICS 252-Intro to Computer Design Cover A cover is a set of cubes C such that Why cover? –Minimize number of implicants –Same cost per implicant –Minimize number of literals –Literals define programming transistors –Based on finding a cover [©Gupta]

17 Winter 2004ICS 252-Intro to Computer Design Covers A set of implicants Cardinality: number of implicants Min cover: minimum cardinality An irredundant cover is a cover such that removing any cube from cover results in a set of cubes that is not a cover Prime cover is a cover whose cubes are all prime implicants [©Gupta]

18 Winter 2004ICS 252-Intro to Computer Design Covers An essential prime of f is a prime that contains some minterm not contained in any other prime, A cover is said o be single cube containment minimal if no cube if the cover is contained in another cube of cover. A cover of f is said to be minimum if there exists no other cover with fewer cubes. [©Gupta]

19 Winter 2004ICS 252-Intro to Computer Design Minimum covers A Minimum cover can always be found by restricting the search to prime and irredundant covers Exact methods –Based on Quine-McClusky method, compute prime implicants and determine min cover Heuristic methods –Find minimal cover [©Keutzer, ©Gupta]

20 Winter 2004ICS 252-Intro to Computer Design Summary Logic synthesis basics Combinations logic synthesis Two-level logic optimization Two-level forms the theoretical foundation for multi-level logic synthesis Two-level optimization directly used for PLA/PLD design Two-level optimization is used as a subroutine in multi-level logic synthesis [©Keutzer]