1 / 52

ELEC 2200-001 Digital Logic Circuits Fall 2010 Logic Minimization (Chapter 3)

ELEC 2200-001 Digital Logic Circuits Fall 2010 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.

toki
Download Presentation

ELEC 2200-001 Digital Logic Circuits Fall 2010 Logic Minimization (Chapter 3)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ELEC 2200-001Digital Logic CircuitsFall 2010Logic 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 ELEC2200-001 Lecture 5

  2. Understanding Minimization • Logic function: a AND b NOT AND OR F AND c AND d ELEC2200-001 Lecture 5

  3. Understanding Minimization • Reducing products: Distributivity Complementation Identity Complementation Distribitivity Consensus theorem Distributivity Complement, identity ELEC2200-001 Lecture 5

  4. Understanding Minimization • Reduced SOP: b NOT OR F AND d ELEC2200-001 Lecture 5

  5. Understanding Minimization b d • Reducing literals: bd Absorption theorem b NOT OR F d ELEC2200-001 Lecture 5

  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) ELEC2200-001 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 ELEC2200-001 Lecture 5

  8. Cubes (Implicants) of 4 Variables A Minterm or 0-implicant or 0-cube AB CD 1 1 What is this? 1 D 1 C 1 1-implicant or 1-cube ABD B ELEC2200-001 Lecture 5

  9. Growing Cubes, Reducing Products 1-implicant or 1-cube AB D A 2-implicant or 2-cube BD 1 1 D 1 1 C 1-implicant or 1-cube ABD B What is this? ELEC2200-001 Lecture 5

  10. Largest Cubes or Smallest Products A 1 1 1 1 What is this? D 1 1 C 1 1 3-implicant or 3-cube B B ELEC2200-001 Lecture 5

  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. ELEC2200-001 Lecture 5

  12. Implicants of a Function • Minterms, products, cubes that imply the function. A 1 1 1 1 D 1 1 1 C 1 B ELEC2200-001 Lecture 5

  13. Prime Implicant (PI) • A cube or implicant of a function that cannot grow larger by expanding into other cubes. A A PI 1 1 1 1 1 1 1 1 1 1 1 1 D D 1 1 1 1 1 1 1 1 C C 1 1 1 1 B B ELEC2200-001 Lecture 5

  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). A EPI C Why not this? B ELEC2200-001 Lecture 5

  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). A EPI C RPI B ELEC2200-001 Lecture 5

  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. A EPI C B SPI ELEC2200-001 Lecture 5

  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 (RPI) • Use cheaper selective prime implicants (SPI) • A good heuristic – Choose EPI in ascending order, starting from 0-implicant, then 1-implicant, 2-implicant, . . . ELEC2200-001 Lecture 5

  18. Example: F=m(1,3,4,5,8,9,13,15) A MSOP: F = AB D +A BC + A B D + ABC D C B RPI ELEC2200-001 Lecture 5

  19. Example: F=m(1,3,5,7,8,10,12,13,14) SPI A MSOP: F = A D + A D + A BC D C B ELEC2200-001 Lecture 5

  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. A A C C B B F = B C +ABC F = B C +BC ELEC2200-001 Lecture 5

  21. 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) A = 0 B A = 1 B E E D D C C F = ABD + A BD+ B C E + C DE ELEC2200-001 Lecture 5

  22. Multiple-Output Minimization ELEC2200-001 Lecture 5

  23. Individual Output Minimization Need five products. F1 A F2 A D D C C B B ELEC2200-001 Lecture 5

  24. Global Minimization Need four products. F1 A F2 A D D C C B B ELEC2200-001 Lecture 5

  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) A A D D C C B B F = BD + CD + AC F = (B + D)(C + D)(A + C) F = BC +AD + C D ELEC2200-001 Lecture 5

  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) F = BC +AD + C D F = (B + D)(C + D)(A + C) A C B A C F F D D B Are two circuits functionally Identical? ELEC2200-001 Lecture 5

  27. How Don’t Cares Occur • Consider two roads crossing: • Highway with traffic signal, red (R), yellow (Y) or green (G). • Rural road with red (r) or green (g) signal. • Here R, Y, G, r and g are Boolean variables; 1 implies light is on, 0 means light is off. • Highway signals are controlled by a computer. • We only need to devise a digital circuit to obtain g, because r =g. ELEC2200-001 Lecture 5

  28. Traffic Signals ELEC2200-001 Lecture 5

  29. Completely Specified Function R 1 G Y g = RYG R Y G g ELEC2200-001 Lecture 5

  30. Incompletely Specified Function R Φ 1 Φ Φ Φ G Y g = R R g ELEC2200-001 Lecture 5

  31. Absorption Theorem • For two Boolean variables: A, B • A + A B = A • Proof: A B AB ELEC2200-001 Lecture 5

  32. Consensus Theorem • For three Boolean variables: A, B, C • A B +A C + B C = A B +A C • Proof: BC A B AB AC C ELEC2200-001 Lecture 5

  33. Growing Implicants to PI • F = AB +CD +ABCD initial implicants = AB +ABCD + BCD+CD consensus th. = AB + BCD +CD absorption th. = AB + BCD +CD + BD consensus th. = AB +CD + BD absorption th. A A A D D D C C C B B B ELEC2200-001 Lecture 5

  34. 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 ELEC2200-001 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. A D C AD B ELEC2200-001 Lecture 5

  36. 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) A D C B CD ELEC2200-001 Lecture 5

  37. 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. ELEC2200-001 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. ELEC2200-001 Lecture 5

  39. Example: # Operation • AD #CD = {A B C D, AB C D} • CD # AD = {A BC D,ABC D} A D C AD B CD ELEC2200-001 Lecture 5

  40. Minterms Covered by a Product • A product from which k variables have been eliminated, covers 2kminterms. • Example: For four variables, A, B, C, D Product AC covers 22 = 4 minterms: • AB CD • AB C D • A B CD • A B C D Obtained by inserting the eliminated variables in all possible ways. A D C B ELEC2200-001 Lecture 5

  41. Quine-McCluskey Willard V. O. Quine 1908 – 2000 Edward J. McCluskey b. 1929 ELEC2200-001 Lecture 5

  42. 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. ELEC2200-001 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. ELEC2200-001 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. ELEC2200-001 Lecture 5

  45. 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). ELEC2200-001 Lecture 5

  46. Step 2 Executed on Example ELEC2200-001 Lecture 5

  47. Step 3 Identify EPI’s ELEC2200-001 Lecture 5

  48. Step 4 Cover Remaining Minterms 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 constraints: x2 + x3 ≥ 1 x4 + x5 ≥ 1 x2 + x4 ≥ 1 x3 + x6 ≥ 1 A solution is x3 = x4 = 1, x2 = x5 = x6 = 0 ELEC2200-001 Lecture 5

  49. 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, 1970. • 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. ELEC2200-001 Lecture 5

  50. Q-M MSOP 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. A D EPI’s in MSOP C B Non-EPI’s not in MSOP Non-EPI’s in MSOP ELEC2200-001 Lecture 5

More Related