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.

Slides:



Advertisements
Similar presentations
Digital Logic Design Gate-Level Minimization
Advertisements

Gate-Level Minimization
ECE C03 Lecture 31 Lecture 3 Two-Level Logic Minimization Algorithms Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Quine-McCluskey (Tabular) Minimization  Two step process utilizing tabular listings to:  Identify prime implicants (implicant tables)  Identify minimal.
بهينه سازي با روش Quine-McCluskey
ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
CSE 370 – Winter 2002 – Logic minimization - 1 Overview zLast lecture yExamples of Karnaugh maps, including Don’t cares zToday yDesign Examples yPrime.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
Chapter 3 Simplification of Switching Functions
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
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.

Canonical Forms and Logic Miniminization
بهينه سازي با نقشة کارنو 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
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’,
Chapter 2: Boolean Algebra and Logic Functions
Chapter #2: Two-Level Combinational Logic
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization II.
EEE324 Digital Electronics Ian McCrumRoom 5B18, Lecture 4: Boolean Algebra.
Contemporary Logic Design Multi-Level Logic © R.H. Katz Transparency No. 5-1 Chapter # 2: Two-Level Combinational Logic Section Practical Matters.
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 Chapter 5 Karnaugh Maps Mei Yang ECG Logic Design 1.
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
Digital Logic Basics Chapter 2 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 
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.
Quine-McCluskey (Tabular) Minimization Two step process utilizing tabular listings to: Identify prime implicants (implicant tables) Identify minimal PI.
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
Logic Gates Logic gates are electronic digital circuit perform logic functions. Commonly expected logic functions are already having the corresponding.
Two Level and Multi level Minimization
Combinational Logic Part 2: Karnaugh maps (quick).
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.
Copyright © 2004 by Miguel A. Marin Revised McGILL UNIVERSITY DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING COURSE ECSE DIGITAL SYSTEMS.
Converting to Minterms Form
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 4: Logic Optimization Chapter 4.
Gate-Level Minimization
Chapter 2 Two- Level Combinational Logic. Chapter Overview Logic Functions and Switches Not, AND, OR, NAND, NOR, XOR, XNOR Gate Logic Laws and Theorems.
Computer Engineering (Logic Circuits) (Karnaugh Map)
Logic Functions: XOR, XNOR
ENG241 Digital Design Week #2 Combinational Logic Circuits.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 15: March 4, 2002 Two-Level Logic-Synthesis.
Copied with Permission from prof. Mark PSU ECE
1 Example: Groupings on 3-Variable K-Maps BC F(A,B,C) = A ’ B ’ A BC F(A,B,C) = B ’ A
Key Observation Adjacencies in the K-Map
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).
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect10: Two-level Logic Minimization.
BOOLEAN ALGEBRA LOGIC GATES. Introduction British mathematician George Boole( ) was successful in finding the link between logic and mathematics.
ECE 301 – Digital Electronics Minimizing Boolean Expressions using K-maps, The Minimal Cover, and Incompletely Specified Boolean Functions (Lecture #6)
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.
Technical Seminar II Implementation of
CHAPTER 6 Quine-McCluskey Method
Lecture 3: Incompletely Specified Functions and K Maps
Gate-Level Minimization
Chapter 2: Boolean Algebra and Logic Functions
Computer Organisation
3-7 Other Two-level Implementations
Lecture #6 EGR 277 – Digital Logic
Lecture 3: Incompletely Specified Functions and K Maps
BASIC & COMBINATIONAL LOGIC CIRCUIT
CSE 370 – Winter 2002 – Logic minimization - 1
CSE 370 – Winter Combinational Implementation - 1
Karnaugh Maps Introduction Venn Diagrams 2-variable K-maps
Spring Combinational Logic - 1
Minimization of Switching Functions
Chapter #2: Two-Level Combinational Logic
Presentation transcript:

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 3 output functions

2-2 Introduction Gate Logic: Two-Level Simplification Design Example: Two Bit Comparator F1 = F2 = F3 =

2-3 Introduction Gate Logic:Two-Level Simplification Design Example: Two Bit Comparator F1 = A' B' C' D' + A' B C' D + A B C D + A B' C D' F2 = A' B' D + A' C + B' C D F3 = B C' D' + A C' + A B D'

2-4 Introduction Gate Logic: Two-Level Simplification Design Example: Two Bit Adder Block Diagram and Truth Table A 4-variable K-map for each of the 3 output functions

2-5 Introduction Gate Logic: Two-Level Simplification Design Example (Continued) X = Z = Y =

2-6 Introduction Gate Logic: Two-Level Simplification Design Example (Continued) X = A C + B C D + A B D Z = B D' + B' D = B xor D Y = A' B' C + A B' C' + A' B C' D + A' B C D' + A B C' D' + A B C D = B' (A xor C) + A' B (C xor D) + A B (C xnor D) = B' (A xor C) + B (A xor B xor C) gate count reduced if XOR available 1's on diagonal suggest XOR! Y K-Map not minimal as drawn

2-7 Introduction Gate Logic: Two-Level Simplification Design Example (Continued) Two alternative implementations of Y with and without XOR Note: XOR typically requires 4 NAND gates to implement!

2-8 Introduction Gate Logic: Two-Level Simplification Design Example: BCD Increment By 1 W = X = Y = Z =

2-9 Introduction Gate Logic: Two-Level Simplification W = B C D + A D' X = B C' + B D' + B' C D Y = A' C' D + C D' Z = D'

2-10 Introduction Gate Logic: Two Level Simplification Definition of Terms implicant: single element of the ON-set or any group of elements that can be combined together in a K-map prime implicant: implicant that cannot be combined with another implicant to eliminate a term essential prime implicant: if an element of the ON-set is covered by a single prime implicant, it is an essential prime Objective: grow implicants into prime implicants cover the ON-set with as few prime implicants as possible essential primes participate in ALL possible covers

2-11 Introduction Gate Logic: Two Level Simplication Examples to Illustrate Terms 6 Prime Implicants: A' B' D, B C', A C, A' C' D, A B, B' C D essential Minimum cover = B C' + A C + A' B' D 5 Prime Implicants: B D, A B C', A C D, A' B C, A' C' D essential Essential implicants form minimum cover

2-12 Introduction Gate Logic: Two Level Simplification More Examples Prime Implicants: B D, C D, A C, B' C essential Essential primes form the minimum cover

2-13 Introduction Gate Logic: Two-Level Simplification Algorithm: Minimum Sum of Products Expression from a K-Map Step 1: Choose an element of ON-set not already covered by an implicant Step 2:Find "maximal" groupings of 1's and X's adjacent to that element. Remember to consider top/bottom row, left/right column, and corner adjacencies. This forms prime implicants (always a power of 2 number of elements). Repeat Steps 1 and 2 to find all prime implicants Step 3: Revisit the 1's elements in the K-map. If covered by single prime implicant, it is essential, and participates in final cover. The 1's it covers do not need to be revisited Step 4:If there remain 1's not covered by essential prime implicants, then select the smallest number of prime implicants that cover the remaining 1's

2-14 Introduction Gate Logic: Two Level Simplification Example: F(A,B,C,D) =  m(4,5,6,8,9,10,13) + d(0,7,15) Initial K-map

2-15 Introduction Gate Logic: Two Level Simplification Example: F(A,B,C,D) =  m(4,5,6,8,9,10,13) + d(0,7,15) Initial K-map Primes around A' B C' D'

2-16 Introduction Gate Logic: Two Level Simplification Example: F(A,B,C,D) =  m(4,5,6,8,9,10,13) + d(0,7,15) Initial K-map Primes around A' B C' D' Primes around A B C' D

2-17 Introduction Gate Logic: Two-Level Simplification Example Continued Primes around A B' C' D

2-18 Introduction Gate Logic: Two-Level Simplification Example Continued Primes around A B' C' D' Primes around A B' C' D

2-19 Introduction Gate Logic: Two-Level Simplification Example Continued Primes around A B' C' D' Primes around A B' C' D Essential Primes with Min Cover

2-20 Introduction Gate Logic: Two-Level Simplification 5-Variable K-maps F(A,B,C,D,E) =  m(2,5,7,8,10, 13,15,17,19,21,23,24,29 31) =

2-21 Introduction Gate Logic: Two-Level Simplification 5-Variable K-maps F(A,B,C,D,E) =  m(2,5,7,8,10, 13,15,17,19,21,23,24,29 31) = C E + A B' E + B C' D' E' + A' C' D E' BC

2-22 Introduction Gate Logic: Two Level Simplification 6- Variable K-Maps F(A,B,C,D,E,F) =  m(2,8,10,18,24, 26,34,37,42,45,50, 53,58,61) =

2-23 Introduction Gate Logic: Two Level Simplification 6- Variable K-Maps F(A,B,C,D,E,F) =  m(2,8,10,18,24, 26,34,37,42,45,50, 53,58,61) = D' E F' + A D E' F + A' C D' F'

2-24 Introduction Gate Logic: CAD Tools for Simplification Quine-McCluskey Method Tabular method to systematically find all prime implicants Implication Table Column I F(A,B,C,D) =  m(4,5,6,8,9,10,13) +  d(0,7,15) Step 1: Fill Column 1 with ON-set and DC-set minterm indices. Group by number of 1's. Stage 1: Find all prime implicants

2-25 Introduction Gate Logic: CAD Tools for Simplification Quine-McCluskey Method Tabular method to systematically find all prime implicants Implication Table Column I Column II 0000   1000     1010     F(A,B,C,D) =  m(4,5,6,8,9,10,13) +  d(0,7,15) Step 1: Fill Column 1 with ON-set and DC-set minterm indices. Group by number of 1's. Step 2: Apply Uniting Theorem. Compare elements of group w/ N 1's against those with N+1 1's. Differ by one bit implies adjacent. Eliminate variable and place in next column. E.g., 0000 vs yields vs yields -000 When used in a combination, mark with a check. If cannot be combined, mark with a star. These are the prime implicants. Repeat until no further combinations can be made. Stage 1: Find all prime implicants

2-26 Introduction Gate Logic: CAD Tools for Simplification Quine-McCluskey Method Tabular method to systematically find all prime implicants Implication Table Column I Column II Column III 0000  0-00 * 01-- * -000 * 0100  -1-1 * 1000  010-  01-0  0101  100- * 0110  10-0 * 1001  1010  01-1  -101  0111  011-  1101  1-01 * 1111  -111  11-1  F(A,B,C,D) =  m(4,5,6,8,9,10,13) +  d(0,7,15) Step 1: Fill Column 1 with ON-set and DC-set minterm indices. Group by number of 1's. Step 2: Apply Uniting Theorem. Compare elements of group w/ N 1's against those with N+1 1's. Differ by one bit implies adjacent. Eliminate variable and place in next column. E.g., 0000 vs yields vs yields -000 When used in a combination, mark with a check. If cannot be combined, mark with a star. These are the prime implicants. Repeat until no further combinations can be made. Stage 1: Find all prime implicants

2-27 Introduction Gate Logic: CAD Tools for Simplification Quine-McCluskey Method Continued Prime Implicants: 0-00 = A' C' D' 100- = A B' C' 1-01 = A C' D -1-1 = B D -000 = B' C' D' 10-0 = A B' D' 01-- = A' B

2-28 Introduction Gate Logic: CAD Tools for Simplification Quine-McCluskey Method Continued Prime Implicants: 0-00 = A' C' D' 100- = A B' C' 1-01 = A C' D -1-1 = B D -000 = B' C' D' 10-0 = A B' D' 01-- = A' B Stage 2: find smallest set of prime implicants that cover the ON-set recall that essential prime implicants must be in all covers another tabular method : the prime implicant chart

2-29 Introduction Gate Logic: CAD Tools for Simplification rows = prime implicants columns = ON-set elements place an "X" if ON-set element is covered by the prime implicant Prime Implicant Chart

2-30 Introduction Gate Logic: CAD Tools for Simplification rows = prime implicants columns = ON-set elements place an "X" if ON-set element is covered by the prime implicant Prime Implicant Chart If column has a single X, than the implicant associated with the row is essential. It must appear in minimum cover

2-31 Introduction Gate Logic: CAD Tools for Simplification Prime Implicant Chart (Continued) Eliminate all columns covered by essential primes

2-32 Introduction Gate Logic: CAD Tools for Simplification Prime Implicant Chart (Continued) Eliminate all columns covered by essential primes Find minimum set of rows that cover the remaining columns F= A B' D' + A C' D + A' B

2-33 Introduction Gate Logic: CAD Tools for Simplification ESPRESSO Method Problem with Quine-McCluskey: the number of prime implicants grows rapidly with the number of inputs upper bound: 3 /n, where n is the number of inputs n finding a minimum cover is NP-complete, i.e., a computational expensive process not likely to yield to any efficient algorithm Espresso: trades solution speed for minimality of answer don't generate all prime implicants (Quine-McCluskey Stage 1) judiciously select a subset of primes that still covers the ON-set operates in a fashion not unlike a human finding primes in a K-map

2-34 Introduction Gate Logic: CAD Tools for Simplification Espresso Method: Overview 1.Expands implicants to their maximum size Implicants covered by an expanded implicant are removed from further consideration Quality of result depends on order of implicant expansion Heuristic methods used to determine order Step is called EXPAND Irredundant cover (i.e., no proper subset is also a cover) is extracted from the expanded primes Just like the Quine-McCluskey Prime Implicant Chart Step is called IRREDUNDANT COVER Solution usually pretty good, but sometimes can be improved Might exist another cover with fewer terms or fewer literals Shrink prime implicants to smallest size that still covers ON-set Step is called REDUCE Repeat sequence REDUCE/EXPAND/IRREDUNDANT COVER to find alternative prime implicants Keep doing this as long as new covers improve on last solution A number of optimizations are tried, e.g., identify and remove essential primes early in the process

2-35 Introduction Gate Logic: CAD Tools for Simplification Espresso Inputs and Outputs.i 4.o 1.ilb a b c d.ob f.p e -- # inputs -- # outputs -- input names -- output name -- number of product terms -- A'BC'D' -- A'BC'D -- A'BCD' -- AB'C'D' -- AB'C'D -- AB'CD' -- ABC'D -- A'B'C'D' don't care -- A'BCD don't care -- ABCD don't care -- end of list F(A,B,C,D) =  m(4,5,6,8,9,10,13) + d(0,7,15) Espresso Input Espresso Output.i 4.o 1.ilb a b c d.ob f.p e F= A C' D + A B' D' + A' B

2-36 Introduction Gate Logic: CAD Tools for Simplification Espresso: Why Iterate on Reduce, Irredundant Cover, Expand? Initial Set of Primes found by Steps1 and 2 of the Espresso Method 4 primes, irredundant cover, but not a minimal cover! Result of REDUCE: Shrink primes while still covering the ON-set Choice of order in which to perform shrink is important

2-37 Introduction Gate Logic: CAD Tools for Simplification Espresso Iteration (Continued) Second EXPAND generates a different set of prime implicants IRREDUNDANT COVER found by final step of espresso Only three prime implicants!

2-38 Introduction

2-39 Introduction Practical Matters TTL Packaged Logic Small and Medium Scale Integration dual in-line package (DIP) Subfamilies of TTL Components have been designed so that they can be interconnected without too much concern about proper electrical operation 74XX 74HXX : high speed 74LXX : low power 74SXX :SchottskyTTL, faster than 74HXX and same power as 74LXX 74LSXX : low powerSchottskyTTL AS TTL : 2 times faster than S TTL ALS TTL : less power than LS TTL with higher speed Speed-Power Product compare the efficiency of logic families multiply the delay through a gate by the power it consumes smaller number - reduced delay and reduced power

2-40 Introduction

2-41 Introduction Practical Matters Standard SSI gate symbols

2-42 Introduction Practical Matters MSI component schematic

2-43 Introduction Practical Matters Use of a detail letter

2-44 Introduction Practical Matters Example of polarity inversion

2-45 Introduction Practical Matters Incorrect bubble matching

2-46 Introduction Practical Matters Correct bubble matching

2-47 Introduction Practical Matters A case where polarity and bubbles don’t match

2-48 Introduction Practical Matters Wiring connection(top) and crossover(bottom)

2-49 Introduction Chapter Summary Primitive logic building blocks INVERTER, AND, OR, NAND, NOR, XOR, XNOR Canonical Forms Sum of Products, Products of Sums Incompletely specified functions/don't cares Logic Minimization Goal: two-level logic realizations with fewest gates and fewest number of gate inputs Obtained via Laws and Theorems of Boolean Algebra or Boolean Cubes and the Uniting Theorem or K-map Methods up to 6 variables or Quine-McCluskey Algorithm or Espresso CAD Tool