Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "ELEC 2200-002 Digital Logic Circuits Fall 2008 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and."— Presentation transcript:

1 ELEC 2200-002 Digital Logic Circuits Fall 2008 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849 http://www.eng.auburn.edu/~vagrawal vagrawal@eng.auburn.edu Fall 2008, Oct 13... ELEC2200-002 Lecture 5 1

2 Understanding Minimization Logic function: Fall 2008, Oct 13... ELEC2200-002 Lecture 5 2 a b c d F AND OR NOT

3 Understanding Minimization Reducing products: Fall 2008, Oct 13... ELEC2200-002 Lecture 5 3 Distributivity Complementation Identity Complementation Distribitivity Consensus theorem Distributivity Complement, identity

4 Understanding Minimization Reduced SOP: Fall 2008, Oct 13... ELEC2200-002 Lecture 5 4 b d F AND OR NOT

5 Understanding Minimization Reducing literals: Fall 2008, Oct 13... ELEC2200-002 Lecture 5 5 b d F OR NOT Absorption theorem d b bd

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 2008, Oct 13... ELEC2200-002 Lecture 5 6

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 2008, Oct 13... ELEC2200-002 Lecture 5 7

8 Cubes (Implicants) of 4 Variables 04128 15139 371511 261410 Fall 2008, Oct 13... ELEC2200-002 Lecture 5 8 A B C D 1 1 1 Minterm or 0-implicant or 0-cube A  B  C  D 1-implicant or 1-cube ABC 1 1 What is this?

9 Growing Cubes, Reducing Products 04128 15139 371511 261410 Fall 2008, Oct 13... ELEC2200-002 Lecture 5 9 A B C D 1 1 1-implicant or 1-cube  AB C 1-implicant or 1-cube ABC 1 1 2-implicant or 2-cube BC What is this?

10 Largest Cubes or Smallest Products 04128 15139 371511 261410 Fall 2008, Oct 13... ELEC2200-002 Lecture 5 10 A B C D 1 1 What is this? 3-implicant or 3-cube B 1 1 1 1 1 1

11 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 2008, Oct 13... ELEC2200-002 Lecture 5 11

12 Implicants of a Function Minterms, products, cubes that imply the function. Fall 2008, Oct 13... ELEC2200-002 Lecture 5 12 04 8 15139 371511 261410 A B C D 1 1 1 1 1 1 1 1

13 Prime Implicant (PI) A cube or implicant of a function that cannot grow larger by expanding into other cubes. Fall 2008, Oct 13... ELEC2200-002 Lecture 5 13 04128 15139 371511 261410 A B C D 1 1 1 1 1 1 1 1 04128 15139 371511 261410 A B C D 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 PI

14 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 2008, Oct 13... ELEC2200-002 Lecture 5 14 11 11 A B C EPI Why not this?

15 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 2008, Oct 13... ELEC2200-002 Lecture 5 15 11 11 A B C EPI RPI

16 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 2008, Oct 13... ELEC2200-002 Lecture 5 16 11 111 A B C EPI SPI

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

18 Example: F=  m(1,3,4,5,8,9,13,15) Fall 2008, Oct 13... ELEC2200-002 Lecture 5 18 04 1 128 1 5 1 13 1 9 1 3 1 715 1 11 261410 A B C D MSOP: F =  A  B D +  A B  C + A B D + A  B  C RPI

19 Example: F=  m(1,3,5,7,8,10,12,13,14) Fall 2008, Oct 13... ELEC2200-002 Lecture 5 19 0412 1 8 1 5 1 13 1 9 3 1 7 1 1511 2614 1 10 1 A B C D MSOP: F =  A D + A  D + A B  C SPI

20 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 2008, Oct 13... ELEC2200-002 Lecture 5 20 1  11  A B C 1  11  A B C F = B C +  A  B  CF = B C +  B  C

21 Five-Variable Functions F(A,B,C,D,E) =  m(0,1,4,5,6,13,14,15,22,24,25,28,29,30,31) Fall 2008, Oct 13... ELEC2200-002 Lecture 5 21 0 1 4 1 128 1 5 1 13 1 9 3715 1 11 26 1 14 1 10 A = 0 B C D E 16 20 28 1 24 1 17 21 29 1 25 1 192331 1 27 1822 1 30 1 26 A = 1 B C D E F =  A  B  D + A B  D + B C E + C D  E

22 Multiple-Output Minimization Fall 2008, Oct 13... ELEC2200-002 Lecture 5 22 InputsOutputs ABCDF1F2 000000 000110 001000 001100 010000 010110 011000 011111 100001 100111 101001 101101 110000 110111 111000 111111

23 0 4 12 8 1 1 5 13 1 9 1 37 1 15 1 11 1 26 14 10 1 0 4 128 1 5 1 13 1 9 1 37 1 15 1 11 26 14 10 Individual Output Minimization Need five products. Fall 2008, Oct 13... ELEC2200-002 Lecture 5 23 F1 A B C D F2 A B C D

24 0 4 12 8 1 1 5 13 1 9 1 37 1 15 1 11 1 26 14 10 1 0 4 128 1 5 1 13 1 9 1 37 1 15 1 11 26 14 10 Global Minimization Need four products. Fall 2008, Oct 13... ELEC2200-002 Lecture 5 24 F1 A B C D F2 A B C D

25 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 2008, Oct 13... ELEC2200-002 Lecture 5 25 0 4 12  8 0 1 5  13  9 0 37 15  11 2 0 6 0 14  10 0 0 4 1 12  8 1 5  13  9 3 1 7 1 15  11 1 26 14  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)

26 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 2008, Oct 13... ELEC2200-002 Lecture 5 26 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?

27 Absorption Theorem For two Boolean variables: A, B A + A B = A Proof: Fall 2008, Oct 13... ELEC2200-002 Lecture 5 27 B A AB

28 Consensus Theorem For three Boolean variables: A, B, C A B +  A C + B C = A B +  A C Proof: Fall 2008, Oct 13... ELEC2200-002 Lecture 5 28 B A C AB  AC BC

29 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 2008, Oct 13... ELEC2200-002 Lecture 5 29 A B C D A B C D A B C D

30 Identifying EPI Find all prime implicants. From primary 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 2008, Oct 13... ELEC2200-002 Lecture 5 30

31 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. Fall 2008, Oct 13... ELEC2200-002 Lecture 5 31 A B C D AD

32 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 th.) Hence  C D is not an EPI (it is an RPI) Fall 2008, Oct 13... ELEC2200-002 Lecture 5 32 A B C D  CD

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

34 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 2008, Oct 13... ELEC2200-002 Lecture 5 34

35 Example: # Operation AD #  CD = {A B C D, A  B C D}  CD # AD = {  A B  C D,  A B  C D} Fall 2008, Oct 13... ELEC2200-002 Lecture 5 35 A B C D AD  CD

36 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 2008, Oct 13... ELEC2200-002 Lecture 5 36 (4)(2) (3)(1) A B C D

37 Quine-McCluskey Fall 2008, Oct 13... Agrawal: ELEC2200-002 Lecture 5 37 Willard V. O. Quine 1908 – 2000 Edward J. McCluskey b. 1929

38 Quine-McCluskey Tabular Minimization Method W. V. Quine, “The Problem of Simplifying Truth Functions,” American Mathematical Monthly, vol. 59, no. 10, pp. 521-531, October 1952. E. J. McCluskey, “Minimization of Boolean Functions,” Bell System Technical Journal, vol. 35, no. 11, pp. 1417-1444, November 1956. Textbook, Section 3.9, pp. 211-225. Fall 2008, Oct 13... ELEC2200-002 Lecture 5 38

39 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. Fall 2008, Oct 13... ELEC2200-002 Lecture 5 39

40 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 2008, Oct 13... ELEC2200-002 Lecture 5 40 MintermABCDGroups 20010 1: single 1 40100 81000 60110 2: two 1’s 91001 101010 121100 1311013: three 1’s 1511114: four 1’s

41 Q-M Step 2 Find all implicants by combining minterms, and then products that differ in one 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. 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 2008, Oct 13... ELEC2200-002 Lecture 5 41

42 Step 2 Executed on Example Fall 2008, Oct 13... ELEC2200-002 Lecture 5 42 List 1List 2List 3 MintermABCD(X)MintermsABCD(X)MintermsABCD(X) 20010X2,60-10PI28,9,12,131-0-PI1 40100X2,10-010PI3 81000X4,601-0PI4 60110X4,12-100PI5 91001X8,9100-X 101010X8,1010-0PI6 121100X8,121-00X 131101X9,131-01X 151111X12,13110-X 13,1511-1PI7

43 Step 3 Identify EPI Covered by EPI →xxxxx Minterm →2468910121315 PI1xxxx PI2xx PI3xx PI4xx PI5xx PI6xx PI7xx Fall 2008, Oct 13... ELEC2200-002 Lecture 5 43

44 Step 4 Covering Remaining Minterms Remaining minterm →24610 PI2xx PI3xx PI4xx PI5x PI6x Fall 2008, Oct 13... ELEC2200-002 Lecture 5 44 Integer linear program (ILP), available from Matlab and other sources: Define integer {0,1} variables, xk = 1, select PIk; xk = 0, do not select PIk. Minimize  k xk, subject to following constraints: x2 + x3 ≥ 1 x4 + x5 ≥ 1 x2 + x4 ≥ 1 x3 + x6 ≥ 1 A solution is x3 = x4 = 1, x2 = x5 = x6 = 0

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

46 Q-M Solution and Verification   F(A,B,C,D) =PI1 + PI3 + PI4 + PI7 =1-0- + -010 + 01-0 + 11-1 =A  C +  B C  D +  A B  D + A B D   See Karnaugh map. Fall 2008, Oct 13... ELEC2200-002 Lecture 5 46 111 11 1 111 A B C D

47 Further Reading Incompletely specified functions: See Example 3.25, pages 218-220. Multiple outputs: See Example 3.26, pages 220-222. Fall 2008, Oct 13... ELEC2200-002 Lecture 5 47


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

Similar presentations


Ads by Google