1 / 47

Karnaugh Maps

Karnaugh Maps. References: Chapters 4 and 5 in Digital Principles (Tokheim) Chapter 3 in Introduction to Digital Systems (Palmer and Perlman). Review: Expressing truth tables. Every truth table can be expressed in terms of the basic Boolean operators AND , OR and NOT operators.

milton
Télécharger la présentation

Karnaugh Maps

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. Karnaugh Maps References: Chapters 4 and 5 in Digital Principles (Tokheim) Chapter 3 in Introduction to Digital Systems (Palmer and Perlman)

  2. Review: Expressing truth tables • Every truth table can be expressed in terms of the basic Boolean operators AND, OR and NOT operators. • E.g. using sum of products or product of sums. • The circuits corresponding to those truth tables can be build using AND, OR and NOTgates, which can be made out of transistors. • In the sum of products approach, the input in each line of a truth table can be expressed in terms of AND’s and NOT’s (though we will only need the rows that have 1 as an output).

  3. Algebra  Gate • A’ means NOT A Red probe indicator high input high low low output

  4. Algebra  Gates • AB means A AND B

  5. Algebra  Gates • A+B means A OR B

  6. Review: Line by Line This is not yet a truth table. It has no outputs.

  7. Writing the expression • To express a truth table as a sum of products (minterm expression), take the input lines that correspond to true (high, 1) outputs. • Write the expressions for each of those input lines (as shown on the previous slide). • This step will involve NOTs and ANDs • Then feed all of those expressions into an OR gate.

  8. Example 1

  9. Example 1 (Cont.) • A’B’C’ + A’BC’ + AB’C + ABC • The expression one arrives at in this way is known as the sum of products. • You take the product (the AND operation) first to represent a given line. • Then you sum (the OR operation) together those expressions. • It’s also called the minterm expression.

  10. Simplifying Boolean algebra expressions • Recall that (A’B’C + A’BC’ + A’BC + AB’C’ + AB’C + ABC’ + ABC) and (A+B+C) correspond to the same truth table. • Before building a circuit that realizes a Boolean expression, we would like to simplify that expression as much as possible. • Fewer gates means • Fewer transistors • Less space required • Less power required (less heat generated) • More money made

  11. A + 1 = 1 A + 0 = A A·1 = A A·0= 0 A + A = A A·A = A A + A’ = 1 A·A’ = 0 A few fundamental theorems

  12. A Trivial Simplification Example

  13. Simplifying a trivial example • A´BC´ + A´BC + ABC´ + ABC • A´B (C´ + C) + AB (C´ + C) • A´B + AB • (A´ + A) B • B C+C’ means C OR (NOT C) In other words, we don’t care about C

  14. How simplification occurs • Note that simplification occurs when two terms differ by only one factor. • For example, the terms A´BC´ and A´BC have A’B in common and differ only in the C factor. • A’BC’ + A’BC  A’B(C’+C)  A’B • If the two terms differ by more than one factor, there is no simplification • For example, the terms A’BC’ and A’B’C have A’ in common and differ in the B and C factors • A’BC’ + A’B’C  A’(BC’ + B’C)  no simplification

  15. Majority Rules Example

  16. Row Expressions

  17. Majority rules (sum of products) without simplification • A´BC + AB´C + ABC´ + ABC NOTs OR ANDs

  18. Majority Rules: Boolean Algebra Simplification • A´BC + AB´C + ABC´ + ABC • The term A’BC can be combined with ABC since they differ by one and only one term • Same for AB’C and ABC • Same for ABC’ and ABC • In logic, ABC = ABC + ABC + ABC • A´BC+AB´C+ABC´+ABC+ABC+ABC • A´BC+ABC + AB´C+ABC + ABC´+ABC • (A´+A)BC + A(B´+B)C + AB(C´+C) • BC + AC + AB

  19. Majority rules after simplification

  20. Majority Rules Comparison Gates: 3 NOTs, 4 3-input ANDs, 1 4-input OR Gates: 0 NOTs, 3 2-input ANDs, 1 3-input OR

  21. Simplifying made easy • Simplifying Boolean expressions is not always easy. • So we introduce next a method (a Karnaugh or K map) that is supposed to make simplification more visual. • The first step is to rearrange the inputs into what is called “Gray code” order. • Here, Gray is a guy not a color.

  22. Frank Gray in Wikipedia

  23. Gray code • In addition to binary numbers, there is another way of representing numbers using 1’s and 0’s. • Put another way, there is another useful ordering of the combinations of 1’s and 0’s. • It is not useful for doing arithmetic, but has other purposes. • In gray code the numbers are ordered such that consecutive numbers differ by one bit only.

  24. Gray code (Cont.) Each row different by one bit only

  25. Constructing Gray code (a.k.a. reflected binary code)

  26. Reflect lower bits and add 0’s in front of the original rows and 1’s in front of the new rows Lower bits Add 0’s Reflect lower bits through red line Add 1’s

  27. Reflect lower bits and 0’s then 1’s in front (again) Add 0’s Reflect lower bits through red line Add 1’s

  28. An important property • In gray-code order, two consecutive rows of a truth table differ by one bit only. • Thus if a truth table is put in gray code order and if two consecutive rows contain a 1, then a simplification of the Boolean expression is possible. • A term like X + X’ can be factored out.

  29. Trivial Example in Gray code Note: Gray code ordered inputs

  30. Improving • Some combinations that differ only by a single bit are not in consecutive rows. • Thus there may be a simplification associated with such a combination and we might miss it. • So we put some of the inputs in as columns.

  31. Two rows that differ by one bit but are not consecutive

  32. A row-column version This output corresponds to the input A=0, B=1 and C=0 Place the C inputs across the top. All inputs are filled in with light blue. In this version, more inputs differing by one bit only are in adjacent positions.

  33. Karnaugh-map • This way of arranging truth tables combined with the rules for simplifying Boolean expressions goes by the name Karnaugh map or K map. • Named for Maurice Karnaugh.

  34. Maurice Karnaugh

  35. The rules • Put the truth table into a form with inputs in Gray code order. • Then one identifies output “blocks” (as large as possible). • A block must be a rectangle containing 1’s and only 1’s. • The simplification rules require that the number of 1’s in a block should be a power of 2 (1, 2, 4, 8, …). • However, a given output 1 can belong to more than one block.

  36. Wrapping • There are still cases in which inputs differing by only one bit are not adjacent (e.g. the first and last row). • Imagine that the rows wrap around, so for instance, a block can include the top and bottom rows (without intermediate rows). • Similarly for columns.

  37. Karnaugh Example

  38. Karnaugh Example (Unsimplified Boolean algebra expression) • WXY’Z + W’XY’Z + WX’Y’Z’ + W’X’Y’Z’ + WXYZ’ + WXY’Z’ + W’XY’Z’ + W’XYZ’

  39. Example in Karnaugh (identifying block in gray code truth table)

  40. For Yellow Group: W and X inputs change; Y and Z inputs don’t change from zeros. Group represented by Y’Z’

  41. For Red Group: W and Z inputs change; X input does not change from 1; Y input does not change from 0. Group represented by XY’

  42. For Green group: W and Y inputs change; X input does not change from 1; Z input does not change from 0. Group represented by XZ’

  43. Result • Y’Z’ + XY’ + X Z’ • A block of size two eliminates one Boolean variable; a block of four eliminates two Boolean variables; and so on. • To find the expression for a block, identify the inputs for that block that don’t change, AND them together, that’s your expression for the block. • Obtain an expression for each block and OR them together. Every 1 must belong to at least one block (even if it is a block onto itself).

  44. From Binary order to Gray code order

  45. From Binary order to Gray code order

  46. Online References • http://www.facstaff.bucknell.edu/mastascu/eLessonsHTML/Logic/Logic3.html • http://www.cs.usm.maine.edu/~welty/karnaugh.htm • http://en.wikipedia.org/wiki/Frank_Gray_(researcher) • http://en.wikipedia.org/wiki/Maurice_Karnaugh

More Related