Karnaugh Maps
- Minterms -
- Consider the folowing table:
-
x | y |
F0 |
F1 |
F2 |
F3 |
F4 |
F5 |
F6 |
F7 |
F8 |
F9 |
F10 |
F11 |
F12 |
F13 |
F14 |
F15 |
0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
- This table represents all possible circuits for two bits.
- The terms F1, F2, F4, and F8 are somehow interesting.
- These are called minterms
- We can build any other expression from them
- xy = F8
- x+y = F2+F4+F8
- F11 = F1+F2+ F8
- Change the notation F1 = m0, F2 = m1, F4 = m2, F8 = m3
-
- Note, that in general, the subscripts for minterm indicate
the bit pattern for that minterm.
-
- This observation holds true for minterms with more inputs.
- A full adder
a | b | Ci | s | Co |
---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
- s = m1+m2+m4+m7
- Co = m3+m5+m6+m7
- Do these results match what we got with algebraic manipulation?
- We want to make sure that our expressin is a simple as possible.
- To do this for circuits of 4 inputs or less, we can use a
Karnaugh Map.
-
- We next place a 1 on the map for each term that is in the
equation.
- For Co above
  |   |   |   |
  | 1 |   |   |
1 | 1 |   |   |
  | 1 |   |   |
- Circle the adjacient pairs
- These adjacient pairs can wrap around the top or sides.
-
- Continue to circle adjacient groups in powers of 2
(blocks or rows of 4, blocks of 8)
- Read the terms that remain constant for circled pairs.
- Starting with the largest groups, removing 1's when they
are circled only by the term you just removed.
-
- So Co = xy+yz+xz
- Prove this.
- There is more involved than this, but this will do to
illustrate the principle.