// Karnaugh Maps
In 1953, Maurice Karnaugh invented a form of logic diagram called a Karnaugh Map, which provides an alternative technique for representing Boolean functions:

| A |
B |
F |
| 0 |
0 |
0 |
| 0 |
1 |
0 |
| 1 |
0 |
0 |
| 1 |
1 |
1 |
The Karnaugh Map comprises a box for every line in the truth table.The binary values above the boxes are those associated with the a and b inputs. The Karnaugh Map's input values must be ordered such that the values for adjacent columns vary only by one bit: for example, 00
2,01
2,11
2,10
2. This ordering is known as a
Gray Code, and it is a key factor in the way in which Karnaugh Maps work.
The y column in the truth table shows all the 0 and 1 values associated with the gate's output. Similarly, all of the output values could be entered into the Karnaugh Map's boxes.However, for reasons of clarity, it is common for only a single set of values to be used, either 1's or √'s.
Similar maps can be constructed for 3-input and 4-input functions. In the case of a 4-input map, the values associated with the c and d inputs must also be orderes as a gray Code, they must be ordered in such a way that the values for adjacent rows vary by only a single bit.
3 inputs
|
z4-inputs
| |
A'B' |
A'B |
AB |
AB' |
| C'D' |
|
|
|
|
| C'D |
|
|
|
|
| CD |
|
|
|
|
| CD' |
|
|
|
|
|
// Minimization Using Karnaugh Maps
Karnaugh Maps are useful in the simplification and minimization of Boolean functions.
Starting with this truth table:
| A |
B |
C |
F |
| 0 |
0 |
0 |
0 |
| 0 |
0 |
1 |
1 |
| 0 |
1 |
0 |
0 |
| 0 |
1 |
1 |
1 |
| 1 |
0 |
0 |
1 |
| 1 |
0 |
1 |
1 |
| 1 |
1 |
0 |
0 |
| 1 |
1 |
1 |
0 |
You will end up with the following SOP expression
F=(A'B'C)+(A'BC)+(AB'C')+(AB'C)
You could apply Boolean algebra techniques to simplify the expression, or you could use a Karnaugh Map:
|
A'B' |
A'B |
AB |
AB' |
| C' |
|
|
|
√ |
| C |
√ |
√ |
|
√ |
The input values associated with each row and column in the map differ by only one bit, any pair of horizontally or vertically adjacent boxes corresponds to the minterms that differ by only a single variable. Such pairs of minterms can be grouped together and the variable that differs can be discarded:
Y=(A'C)+(AB')