ELEC 2200-002 Digital Logic Circuits Fall 2015 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.

Slides:



Advertisements
Similar presentations
FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Advertisements

CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Gate-Level Minimization
K-Map Simplification COE 202 Digital Logic Design Dr. Aiman El-Maleh
ECE C03 Lecture 31 Lecture 3 Two-Level Logic Minimization Algorithms Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
ELEC Digital Logic Circuits Fall 2008 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 6 Dr. Shi Dept. of Electrical and Computer Engineering.
Chapter 3 Simplification of Switching Functions
Give qualifications of instructors: DAP
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.

Computer Engineering (Logic Circuits) (Karnaugh Map)
ECE 331 – Digital System Design Karnaugh Maps and Determining a Minimal Cover (Lecture #7) The slides included herein were taken from the materials accompanying.
Simplifying Boolean Expressions Using K-Map Method
1 Simplification of Boolean Functions:  An implementation of a Boolean Function requires the use of logic gates.  A smaller number of gates, with each.
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.
Department of Computer Engineering
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC. K-Map (1)  Karnaugh Mapping is used to minimize the number of logic gates that are required in a digital circuit.
The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows.
1 © 2015 B. Wilkinson Modification date: January 1, 2015 Designing combinational circuits Logic circuits whose outputs are dependent upon the values placed.
Quine-McCluskey (Tabular) Minimization Two step process utilizing tabular listings to: Identify prime implicants (implicant tables) Identify minimal PI.
Optimization Algorithm
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
Examples. Examples (1/11)  Example #1: f(A,B,C,D) =  m(2,3,4,5,7,8,10,13,15) Fill in the 1’s. 1 1 C A B CD AB D 1 1.
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
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 Topic 5: Quine-McCluskey Method José Nelson Amaral.
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.
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)
Chapter3: Gate-Level Minimization Part 1 Origionally By Reham S. Al-Majed Imam Muhammad Bin Saud University.
CS2100 Computer Organisation
CHAPTER 3: PRINCIPLES OF COMBINATIONAL LOGIC
Ahmad Almulhem, KFUPM 2010 COE 202: Digital Logic Design Combinational Logic Part 3 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:
Copied with Permission from prof. Mark PSU ECE
BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC
1 Example: Groupings on 3-Variable K-Maps BC F(A,B,C) = A ’ B ’ A BC F(A,B,C) = B ’ A
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.
ECE 301 – Digital Electronics Minimizing Boolean Expressions using K-maps, The Minimal Cover, and Incompletely Specified Boolean Functions (Lecture #6)
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC. De Morgan’s Theorem De Morgan’s Theorem.
DE MORGAN’S THEOREM. De Morgan’s Theorem De Morgan’s Theorem.
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
1 EENG 2710 Chapter 3 Simplification of Switching Functions.
CHAPTER 6 Quine-McCluskey Method
Lecture 6 Quine-McCluskey Method
De Morgan’s Theorem,.
ELEC Digital Logic Circuits Fall 2014 Logic Minimization (Chapter 3)
Computer Organisation
Lecture #6 EGR 277 – Digital Logic
CS 352 Introduction to Logic Design
Optimized Implementation of Logic Function
Optimized Implementation of Logic Function
BASIC & COMBINATIONAL LOGIC CIRCUIT
ECE 331 – Digital System Design
Digital Logic & Design Dr. Waseem Ikram Lecture 12.
EECS 465: Digital Systems Lecture Notes # 2
Digital Logic & Design Dr. Waseem Ikram Lecture 13.
CHAPTER 5 KARNAUGH MAPS 5.1 Minimum Forms of Switching Functions
Combinatorial Logic Circuit
Optimization Algorithm
Optimized Implementation of Logic Function
Minimization of Switching Functions
Laws & Rules of Boolean Algebra
ECE 331 – Digital System Design
Presentation transcript:

ELEC Digital Logic Circuits Fall 2015 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL Fall 2015, Oct ELEC Lecture 5 1

Understanding Minimization... Logic function: Fall 2015, Oct ELEC Lecture 5 2 a b c d F AND OR NOT

... Understanding Minimization Reducing products: Fall 2015, Oct ELEC Lecture 5 3 Distributivity Complementation Identity Complementation Distribitivity Consensus theorem Distributivity Complement, identity

... Understanding Minimization Reduced SOP: Fall 2015, Oct ELEC Lecture 5 4 b d F AND OR NOT

... Understanding Minimization Reducing literals: Fall 2015, Oct ELEC Lecture 5 5 b d F OR NOT Absorption theorem d b bd Exercise: This circuit uses 8 transistors in CMOS technology. Can you redesign it with 6 transistors? (Hint: Use de Morgan’s Theorem.)

Or, Could Use Karnaugh Map Fall 2015, Sep ELEC Lecture 4 6

Logic Minimization Generally means – –In SOP form: Minimize number of products (reduce gates) and Minimize literals (reduce gate inputs) – –In POS form: Minimize number of sums (reduce gates) and Minimize literals (reduce gate inputs) Fall 2015, Oct ELEC Lecture 5 7

Product or Implicant or Cube Any set of literals ANDed together. Minterm is a special case where all variables are present. It is the largest product. A minterm is also called a 0-implicant of 0- cube. A 1-implicant or 1-cube is a product with one variable eliminated: Obtained by combining two adjacent 0-cubes ABCD + ABC  D = ABC(D +  D) = ABC Fall 2015, Oct ELEC Lecture 5 8

Cubes (Implicants) of 4 Variables Fall 2015, Oct ELEC Lecture 5 9 A B D C Minterm or 0-implicant or 0-cube A  B  C  D 1-implicant or 1-cube ABD 1 1 What is this?

Growing Cubes, Reducing Products Fall 2015, Oct ELEC Lecture 5 10 A B D C implicant or 1-cube  AB D 1-implicant or 1-cube ABD implicant or 2-cube BD What is this?

Largest Cubes or Smallest Products Fall 2015, Oct ELEC Lecture 5 11 A B D C 1 1 What is this? 3-implicant or 3-cube B

Implication and Covering A larger cube covers a smaller cube if all minterms of the smaller cube are included in the larger cube. A smaller cube implies (or subsumes) a larger cube if all minterms of the smaller cube are included in the larger cube. Fall 2015, Oct ELEC Lecture 5 12

Implicants of a Function Minterms, products, cubes that imply the function. Fall 2015, Oct ELEC Lecture A B D C

Prime Implicant (PI) A cube or implicant of a function that cannot grow larger by expanding into other cubes. Fall 2015, Oct ELEC Lecture A B D C A B D C PI

Essential Prime Implicant (EPI) If among the minterms subsuming a prime implicant (PI), there is at least one minterm that is covered by this and only this PI, then the PI is called an essential prime implicant (EPI). Also called essential prime cube (EPC). Fall 2015, Oct ELEC Lecture A B C EPI Why not this?

Redundant Prime Implicant (RPI) If each minterm subsuming a prime implicant (PI) is also covered by other essential prime implicants, then that PI is called a redundant prime implicant (RPI). Also called redundant prime cube (RPC). Fall 2015, Oct ELEC Lecture A B C EPI RPI

Selective Prime Implicant (SPI) A prime implicant (PI) that is neither EPI nor RPI is called a selective prime implicant (SPI). Also called selective prime cube (SPC). SPIs occur in pairs. Fall 2015, Oct ELEC Lecture A B C EPI SPI

Minimum Sum of Products (MSOP) Identify all prime implicants (PI) by letting minterms and implicants grow. Construct MSOP with PI only : Cover all minterms Use only essential prime implicants (EPI) Use no redundant prime implicant (RPI) Use cheaper selective prime implicants (SPI) A good heuristic – Choose EPI in ascending order, starting from 0-implicant, then 1-implicant, 2- implicant,... Fall 2015, Oct ELEC Lecture 5 18

Example: F=  m(1,3,4,5,8,9,13,15) Fall 2015, Oct ELEC Lecture A B C D MSOP: F =  A  B D +  A B  C + A B D + A  B  C RPI

Example: F=  m(1,3,5,7,8,10,12,13,14) Fall 2015, Oct ELEC Lecture A B C D MSOP: F =  A D + A  D + A B  C SPI

Functions with Don’t Care Minterms F(A,B,C) =  m(0,3,7) + d(4,5) Include don’t care minterms when beneficial. Fall 2015, Oct ELEC Lecture  11  A B C 1  11  A B C F = B C +  A  B  CF = B C +  B  C

Five-Variable Function F(A,B,C,D,E) =  m(0,1,4,5,6,13,14,15,22,24,25,28,29,30,31) Fall 2015, Oct ELEC Lecture A = 0 B C D E A = 1 B C D E F =  A  B  D + A B  D + B C E + C D  E

Multiple-Output Minimization Fall 2015, Oct ELEC Lecture 5 23 InputsOutputs ABCDF1F

Individual Output Minimization Need five products. Fall 2015, Oct ELEC Lecture 5 24 F1 A B C D F2 A B C D

Global Minimization Need four products. Fall 2015, Oct ELEC Lecture 5 25 F1 A B C D F2 A B C D

Minimized SOP and POS F(A,B,C,D) =  m(1,3,4,7,11) + d(5,12,13,14,15) =  M(0,2,6,8,9,10) D(5,12,13,14,15) Fall 2015, Oct ELEC Lecture   13      13    10 A B C D A B C D F = B  C +  AD + C D  F =  B  D + C  D + A  C F =(B + D)(  C + D)(  A + C)

SOP and POS Circuits F(A,B,C,D) =  m(1,3,4,7,11)+d(5,12,13,14,15) =  M(0,2,6,8,9,10) D(5,12,13,14,15) Fall 2015, Oct ELEC Lecture 5 27 F = B  C +  AD + C DF = (B + D)(  C + D)(  A + C) A B C D F A B C D F Are two circuits functionally Identical?

How Don’t Cares Occur Consider two crossroads: A highway with traffic signals, red (R), yellow (Y) and green (G), and A rural road with red (r) and green (g) signals. Here R, Y, G, r and g are Boolean variables; a 1 implies light is on, 0 means light is off. Highway signals R, Y and G are controlled by a computer. Rural traffic can cross highway (g = 1) only when R = 1, Y = G = 0, and r =  g. Fall 2015, Oct ELEC Lecture 5 28

Traffic Signals Fall 2015, Oct ELEC Lecture 5 29

Completely Specified Function Truth Table mintermRYGg Fall 2015, Oct ELEC Lecture g = R  Y  G R Y G RYGRYG g

Incompletely Specified Function Truth Table mintermRYGg 0000Φ Φ Φ 6110Φ 7111Φ Fall 2015, Oct ELEC Lecture g = R R Y G Rg Φ Φ ΦΦ Φ Additional condition: Exactly one highway light can be on. Φ or X denotes “don’t care”

Absorption Theorem For two Boolean variables: A, B A + A B = A Proof: Fall 2015, Oct ELEC Lecture 5 32 B A AB

Consensus Theorem For three Boolean variables: A, B, C A B +  A C + B C = A B +  A C Proof: Fall 2015, Oct ELEC Lecture 5 33 B A C AB  AC BC

Growing Implicants to PI F = AB +  CD +  ABCDinitial implicants =AB +  ABCD + BCD +  CDconsensus th. =AB + BCD +  CDabsorption th. =AB + BCD +  CD + BDconsensus th. =AB +  CD + BD absorption th. Fall 2015, Oct ELEC Lecture 5 34 A B C D A B C D A B C D

Identifying EPI Find all prime implicants. From prime implicant SOP, remove a PI. Apply consensus theorem to the remaining SOP. If the removed PI is generated, then it is either an RPI or an SPI. If the removed PI is not generated, then it is an EPI Fall 2015, Oct ELEC Lecture 5 35

Example PI SOP: F = A D +  A  C +  CD Is AD an EPI? F – {AD}=  A  C +  CD, no new PI can be generated Hence, AD is an EPI.Similarly, A  C is an EPI. Fall 2015, Oct ELEC Lecture 5 36 A B C D AD ACAC

Example (Cont.) PI SOP: F = A D +  A  C +  CD Is  CD an EPI? F – {  CD } = A D +  A  C = A D +  A  C +  C D(Consensus theorem) Hence  C D is not an EPI (it is an RPI) Fall 2015, Oct ELEC Lecture 5 37 A B C D  CD Minimum SOP: F = A D +  A  C

Finding MSOP Start with minterm or cube SOP representation of Boolean function Find all prime implicants (PI) Include all EPI’s in MSOP Find the set of uncovered minterms, {UC} MSOP is minimum if {UC} is empty. DONE For a minterm in {UC}, include the largest PI from remaining PI’s (non-EPI’s) in MSOP Go to step 4. Fall 2015, Oct ELEC Lecture 5 38

Finding Uncovered Minterms, {UC} {UC} = ({PI} # {PMSOP}) # {DC} Where: {PI} is set of all prime implicants of the function. {PMSOP} is any partial SOP. {DC} is set of don’t care minterms. Sharp (#) operation between Boolean expressions X and Y, X # Y, is the set of minterms covered by X that are not covered by Y. Fall 2015, Oct ELEC Lecture 5 39

Example: # (Sharp) Operation AD #  CD = {A B C D, A  B C D}  CD # AD = {  A B  C D,  A  B  C D} Fall 2015, Oct ELEC Lecture 5 40 A B C D AD  CD

Minterms Covered by a Product A product from which k variables have been eliminated, covers 2 k minterms. Example: For four variables, A, B, C, D Product AC covers 2 2 = 4 minterms: 1) 1) A  B C  D 2) 2) A  B C D 3) 3) A B C  D 4) 4) A B C D Obtained by inserting the eliminated variables in all possible ways. Fall 2015, Oct ELEC Lecture 5 41 (4)(2) (3)(1) A B C D

Quine-McCluskey Fall 2015, Oct ELEC Lecture 5 42 Willard V. O. Quine 1908 – 2000 Edward J. McCluskey b. 1929

Quine-McCluskey Tabular Minimization Method W. V. Quine, “The Problem of Simplifying Truth Functions,” American Mathematical Monthly, vol. 59, no. 10, pp , October E. J. McCluskey, “Minimization of Boolean Functions,” Bell System Technical Journal, vol. 35, no. 11, pp , November Textbook, Section 3.9, pp Fall 2015, Oct ELEC Lecture 5 43

Q-M Tabular Minimization Minimizes functions with many variables. Begin with minterms: Step 1: Tabulate minterms in groups of increasing number of true variables. Step 2: Conduct linear searches to identify all prime implicants (PI). Step 3: Tabulate PI’s vs. minterms to identify EPI’s. Step 4: Tabulate non-essential PI’s vs. minterms not covered by EPI’s. Select minimum number of PI’s to cover all minterms. MSOP contains all EPI’s and selected non-EPI’s. Fall 2015, Oct ELEC Lecture 5 44

F(A,B,C,D) =  m(2,4,6,8,9,10,12,13,15) Q-M Step 1: Group minterms with 1 true variable, 2 true variables, etc. Fall 2015, Oct ELEC Lecture 5 45 MintermABCDGroups : single : two 1’s : three 1’s : four 1’s

Q-M Step 2 Find all implicants by combining minterms, and then combining products that differ in a single variable: For example, 2 and 6, or  A  B C  D and  A B C  D →  A C  D, written as 0 – 1 0. Try combining a minterm (or product) with all minterms (or products) listed below in the table. Include resulting products in the next list. If minterm (or product) does not combine with any other, mark it as PI. Check the minterm (or product) and repeat for all other minterms (or products). Fall 2015, Oct ELEC Lecture 5 46

Step 2 Executed on Example Fall 2015, Oct ELEC Lecture 5 47 List 1List 2_List 3 MintermABCDPI?MintermsABCDPI?MintermsABCDPI? 20010X2, 60-10PI_28,9,12,131-0-PI_ X2,10-010PI_ X4,601-0PI_ X4,12-100PI_ X8,9100-X X8,1010-0PI_ X8,121-00X X9,131-01X X12,13110-X 13,1511-1PI_7

Step 3: Identify EPI’s Covered by EPI →xxxxx Minterms → PI_1 is EPIxxxx PI_2xx PI_3xx PI_4xx PI_5xx PI_6xx PI_7 is EPIxx Fall 2015, Oct ELEC Lecture 5 48

Step 4: Cover Remaining Minterms Remaining minterms →24610 PI_2xx PI_3xx PI_4xx PI_5x PI_6x Fall 2015, Oct ELEC Lecture 5 49 Integer linear program (ILP), available from Matlab and other sources: Define integer {0,1} variables, xk = 1, select PI_k; xk = 0, do not select PI_k. Minimize  k xk, subject to constraints:x2 + x3 ≥ 1 x4 + x5 ≥ 1 x2 + x4 ≥ 1 x3 + x6 ≥ 1 A solution is x3 = x4 = 1, x2 = x5 = x6 = 0, or select PI_3, PI_4

Linear Programming (LP) A mathematical optimization method for problems where some “cost” depends on a large number of variables. An easy to understand introduction is: S. I. Gass, An Illustrated Guide to Linear Programming, New York: Dover Publications, Very useful tool for a variety of engineering design problems. Available in software packages like Matlab. Courses on linear programming are available in Math, Business and Engineering departments. Fall 2015, Oct ELEC Lecture 5 50

Q-M MSOP Solution and Verification   F(A,B,C,D) =PI_1 + PI_3 + PI_4 + PI_7 = =A  C +  B C  D +  A B  D + A B D   See Karnaugh map. Fall 2015, Oct ELEC Lecture A B C D EPI’s in MSOP Non-EPI’s in MSOP Non-EPI’s not in MSOP

Minimized Circuit Fall 2015, Oct ELEC Lecture 5 52 PI1 PI3 PI4 PI7 AB A B C C D D F

QM Minimizer on the Web Fall 2015, Oct ELEC Lecture 5 53

Function with Don’t Cares F(A,B,C,D) =  m(4,6,8,9,10,12,13) +  d(2, 15) Q-M Step 1: Group “all” minterms with 1 true variable, 2 true variables, etc. Fall 2015, Oct ELEC Lecture 5 54 MintermABCDGroups : single : two 1’s : three 1’s : four 1’s

Step 2: Same As Before on “All” Minterms Fall 2015, Oct ELEC Lecture 5 55 List 1List 2List 3 MintermABCDPI?MintermsABCDPI?MintermsABCDPI? 20010X2, 60-10PI28,9,12,131-0-PI X2,10-010PI X4,601-0PI X4,12-100PI X8,9100-X X8,1010-0PI X8,121-00X X9,131-01X X12,13110-X 13,1511-1PI7

Step 3: Identify EPI’s Ignoring Don’t Cares Covered by EPI →xxxx Minterms → PI1 is EPIxxxx PI2x PI3x PI4xx PI5xx PI6xx PI7x Fall 2015, Oct ELEC Lecture 5 56

Step 4: Cover Remaining Minterms Remaining minterms →4610 PI_2x PI_3x PI_4xx PI_5x PI_6x Fall 2015, Oct ELEC Lecture 5 57 Integer linear program (ILP), available from Matlab and other sources: Define integer {0,1} variables, xk = 1, select PI_k; xk = 0, do not select PI_k. Minimize  k xk, subject to constraints:x4 + x5 ≥ 1 x2 + x4 ≥ 1 x3 + x6 ≥ 1 A solution is x3 = x4 = 1, x2 = x5 = x6 = 0, or select PI_3, PI_4

Q-M MSOP Solution and Verification   F(A,B,C,D) =PI_1 + PI_3 + PI_4 = = A  C +  B C  D +  A B  D   See Karnaugh map. Fall 2015, Oct ELEC Lecture A B C D EPI’s in MSOP Non-EPI’s in MSOP Non-EPI’s not in MSOP EPI’s not selected

Minimized Circuit Fall 2015, Oct ELEC Lecture 5 59 PI1 PI3 PI4 AB A B C C D D F

Further Reading Incompletely specified functions: See Example 3.25, pages Multiple output functions: See Example 3.26, pages Fall 2015, Oct ELEC Lecture 5 60