1 / 32

ECE2030 Introduction to Computer Engineering Lecture 7: Simplification using K-map

ECE2030 Introduction to Computer Engineering Lecture 7: Simplification using K-map. Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia Tech. Hamming Distance. The count of bits different in two binary patterns Examples: D h (1001, 0101) = 2

hovan
Download Presentation

ECE2030 Introduction to Computer Engineering Lecture 7: Simplification using K-map

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. ECE2030 Introduction to Computer EngineeringLecture 7: Simplification using K-map Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia Tech

  2. Hamming Distance • The count of bits different in two binary patterns • Examples: • Dh(1001, 0101) = 2 • Dh(0xADF4, 0x9FE3) = ?? • Unit-Distance Codes • Reduce errors during transmission such as rotary positional sensor • E.g. Gray Code

  3. Gray Code Construction 0 0 0 0 0 0 0 0 000 001 011 010 110 111 101 100 0 1 0 0 0 1 0 0 0 0 00 01 11 10 1 1 1 0 1 1 1 1 10 11 01 00 100 101 111 110 010 011 001 000 1 1 1 1 1 1 1 1

  4. Gray Code

  5. Rotary Position Sensor

  6. Karnaugh Map (K-Map) • A graphical map method to simplify Boolean function up to 6 variables • A diagram made up of squares • Each square represents one minterm (or maxterm) of a given Boolean function

  7. Karnaugh Map Examples Note that the Hamming Distance between adjacent columns or adjacent rows (including cyclic ones) must be 1 for simplification purposes

  8. Karnaugh Map Adjacent columns or rows allow grouping of minterms (maxterms) for simplification

  9. Implicant • Definition • A product term is an Implicant of a Boolean function if the function has an output 1 for all minterms of the product term. • In K-map, an Implicant is • bubble covers only 1 (bubble size must be a power of 2) CD AB

  10. Prime Implicant • Definition • If the removal of any literal from an implicant I results in a product term that is not an implicant of the Boolean function, then I is an Prime Implicant. • Examples • BCD is an implicant, but CD or BD or BC do not imply a 1 in this function; BCD is a PI • B’C’D is an implicant, but B’C’ is not an implicant, thus B’C’D is not a PI • In K-map, a Prime Implicant (PI) is • bubble that is expanded as big as possible (bubble size must be a power of 2) CD AB

  11. Essential Prime Implicant • Definition • If a minterm of a Boolean function is included in only one PI, then this PI is an Essential Prime Implicant. • In K-map, an Essential Prime Implicant is • Bubble that contains a 1 covered only by itself and no other PI bubbles CD AB

  12. Non-Essential Prime Implicant • Definition • A Non-Essential Prime Implicant is a PI that is not an Essential PI. • In K-map, an Non-Essential Prime Implicant is • A 1 covered by more than one PI bubble CD AB

  13. Simplification for SOP • Form K-Map for the given Boolean function • Identify all Essential Prime Implicants for 1’s in the K-map • Identify non-Essential Prime Implicants in the K-map for the 1’s which are not covered by the Essential Prime Implicants • Form a sum-of-products (SOP) with all Essential Prime Implicants and the necessary non-Essential Prime Implicants to cover all 1’s

  14. Example for SOP • Identify all the essential PIs for 1’s • Identify the non-essential PIs to cover 1’s • Form an SOP based on the selected PIs BC A

  15. Example for SOP • Identify all the essential PIs for 1’s • Identify the non-essential PIs to cover 1’s • Form an SOP based on the selected PIs CD AB

  16. Example for SOP • Identify all the essential PIs for 1’s • Identify the non-essential PIs to cover 1’s • Form an SOP based on the selected PIs CD AB

  17. Prime Implicants • All the prior definitions apply to ‘0’ (or maxterm) as well • Consider these implicants imply a ‘0’ output

  18. Simplification for POS • Form K-Map for the given Boolean function • Identify all Essential Prime Implicants for 0’s in the K-map • Identify non-Essential Prime Implicants in the K-map for the 0’s which are not covered by the Essential Prime Implicants • Form a product-of-sums (POS) with all Essential Prime Implicants and the necessary non-Essential Prime Implicants to cover all 0’s

  19. Example for POS • Identify all the essential PIs for 0’s • Identify the non-essential PIs to cover 0’s • Form an POS based on the selected PIs BC A

  20. Example for POS • Identify all the essential PIs for 0’s • Identify the non-essential PIs to cover 0’s • Form an POS based on the selected PIs CD AB

  21. Don’t Care Condition  X • Don’t care (X) • Those input combinations which are irrelevant to the target function (i.e. If the input combination signals can be guaranteed never occur) • Can be used to simplify Boolean equations, thus simply logic design • In K-map • Use X to express Don’t Care in the map • Don’t care can be bubbled as 1 or 0 depending on SOP or POS simplification to result into bigger bubble

  22. Don’t Care Example  BCD to Gray Code • BCD stands for Binary Coded Decimal • Each digit of a decimal number is represented by one code • BCD only encodes from 0 to 9 • Require 4 bits • Only use 10 out of 16 encoding space

  23. BCD to Gray Code (Do not use Don’ Care) • BCD stands for Binary Coded Decimal • Each digit of a decimal number is represented by one code • BCD only encodes from 0 to 9 • Require 4 bits • Only use 10 out of 16 encoding space

  24. What g2 is? • g2 = F(b3, b2, b1, b0)

  25. Example: g2 of BCD-to-Gray Without using Don’t Care Take Don’t Care into account b1b0 b1b0 b3b2 b3b2

  26. Another Example of Don’t Care (SOP) CD AB

  27. Another Example of Don’t Care (POS) CD AB

  28. Use Karnaugh Map in B5 orB6 • In B5 • 2 K-maps are to be constructed (2 submaps) • Consider one submap is on top of the other • Cells that occupy the same relative position in 2 maps are considered adjacent • Bubble can be constructed in vertical dimension when stacking up 2 maps • In B6 • 4 K-maps are to be constructed (4 submaps) • Similar to B5 , yet another dimension needs to be considered

  29. Karnaugh Map Example in B5 CD CD AB AB E = 0 E = 1

  30. Karnaugh Map Example in B6 YZ YZ WX WX U,V=0,0 U,V=0,1 YZ YZ WX WX U,V=1,0 U,V=1,1

  31. F = Ā (SOP) F = B (POS) F = Ā (POS) Minimal SOP and POS w/ Don’t care • Could lead to different function if the same x is treated as 1 in SOP but as 0 in POS. • Even though the final Boolean functions could be different, but for those ones with non-don’t care square, correct functionality was maintained. B A

  32. Use Karnaugh Map in B5 orB6 • It is getting hard and complicated • Eye-ball simplification on several submaps is error-prone, leading to sub-optimal results • Do we have a better algorithm? • Quine-McCluskey Method

More Related