Author: M Abo Bakar Aslam

Karnaugh Map - 2 Variables

A Karnaugh Map (K-Map) is a visual method used to simplify Boolean expressions in combinational logic circuits. It reduces complex logic functions into minimal forms, helping designers create efficient digital circuits. For beginners, the 2-variable Karnaugh Map is the foundation of logic minimization, involving only two inputs, usually labeled A and B. It is widely used in digital electronics, computer engineering, and logic circuit optimization.

Structure of 2-Variable Karnaugh Map

A 2-variable K-Map consists of 4 cells, representing all possible combinations of inputs A and B. Each cell corresponds to a minterm of the Boolean function. The map is arranged in Gray code order so that only one variable changes between adjacent cells, enabling easy grouping and simplification of logic terms.

  1. Number of Input Variables = n = 2
  2. Total Number of Cells in K-map = 2^n = 2^2 = 4
Cell Arrangement for K-Map having 2 Variables Boolean Expression
Figure 1: Cell Arrangement for K-Map having 2 Variables Boolean Expression

Rules for Construction of K-Map and Grouping

  1. Allowed number of 1's in a group are 1, 2, 4, 8, 16. These number of power of 2 i.e., 2^0(1), 2^1(2), 2^2(4), 2^3(8), 2^4(16)
  2. Increase number of 1's in a group
  3. Decrease number of groups
  4. Only adjacent-cells can be in a group. Diagonal cells are not allowed to be in a group.

1. Example - 1

Reduce F = A’B + A’B’ to minimum number of literals

Step 1:

Placing 1 for respective box according to above structure.

Step 1 - Placing 1s according to map
Figure 2: Step 1 - Placing 1s according to map

Step 2:

Make groups of join-boxes containing values

Step 2 - Making Groups
Figure 3: Step 2 - Making Groups

Step 3:

For each group, select variable whose is not changed. And then create respective literal
For G1: A=0 → A’

Step 4:

Create minterm for each group
For G1: A’

Step 5:

Create final function by adding for all minterms
F = A’

2. Example - 2

Reduce F = AB’ + A’B’ to minimum number of literals

Step 1:

Placing 1 for respective box according to above structure.

Step 1 - Placing 1s according to map
Figure 3: Step 1 - Placing 1s according to map

Step 2:

Make groups of join-boxes containing values

Step 2 - Making Groups
Figure 4: Step 2 - Making Groups

Step 3:

For each group, select variable whose is not changed. And then create respective literal
For G1: B=0 → B’

Step 4:

Create minterm for each group
For G1: B’

Step 5:

Create final function by adding for all minterms
F = B’

3. Example - 3

Reduce F=AB’ + AB to minimum number of literals

Step 1:

Placing 1 for respective box according to above structure.

Step 1 - Placing 1s according to map
Figure 5: Step 1 - Placing 1s according to map

Step 2:

Make groups of join-boxes containing values

Step 2 - Making Groups
Figure 6: Step 2 - Making Groups

Step 3:

For each group, select variable whose is not changed. And then create respective literal
For G1: A=1 → A

Step 4:

Create minterm for each group
For G1: A

Step 5:

Create final function by adding for all minterms
F = A

4. Example - 4

Reduce F = A’B + AB to minimum number of literals

Step 1:

Placing 1 for respective box according to above structure.

Step 1 - Placing 1s according to map
Figure 7: Step 1 - Placing 1s according to map

Step 2:

Make groups of join-boxes containing values

Step 2 - Making Groups
Figure 8: Step 2 - Making Groups

Step 3:

For each group, select variable whose is not changed. And then create respective literal
For G1: B=1 → B

Step 4:

Create minterm for each group
For G1: B

Step 5:

Create final function by adding for all minterms
F = B

5. Example - 5

Reduce F = A’B to minimum number of literals

Step 1:

Placing 1 for respective box according to above structure.

Step 1 - Placing 1s according to map
Figure 9: Step 1 - Placing 1s according to map

Step 2:

Make groups of join-boxes containing values

Step 2 - Making Groups
Figure 10: Step 2 - Making Groups

Step 3:

For each group, select variable whose is not changed. And then create respective literal
For G1: A=0,B=1 → A’, B

Step 4:

Create minterm for each group
For G1: A’B

Step 5:

Create final function by adding for all minterms
F = A’B

6. Example - 6

Reduce F = A’B + AB’ to minimum number of literals

Step 1:

Placing 1 for respective box according to above structure.

Step 1 - Placing 1s according to map
Figure 11: Step 1 - Placing 1s according to map

Step 2:

Make groups of join-boxes containing values

Step 2 - Making Groups
Figure 12: Step 2 - Making Groups

Step 3:

For each group, select variable whose is not changed. And then create respective literal
For G1: A=0, B=1 → A’, B
For G2: A=1, B=0 → A,B’

Step 4:

Create minterm for each group
For G1: A’B
For G2: AB’

Step 5:

Create final function by adding for all minterms
F = A’B + AB’

7. Example - 7

Reduce F = A’B + AB’ + A’B’ to minimum number of literals

Step 1:

Placing 1 for respective box according to above structure.

Step 1 - Placing 1s according to map
Figure 13: Step 1 - Placing 1s according to map

Step 2:

Make groups of join-boxes containing values

Step 2 - Making Groups
Figure 14: Step 2 - Making Groups

Step 3:

For each group, select variable whose is not changed. And then create respective literal
For G1: A=0 → A’
For G2: B=0 → B’

Step 4:

Create minterm for each group
For G1: A’
For G2: B’

Step 5:

Create final function by adding for all minterms
F = A’ + B’

8. Example - 8

Reduce F = A’B + AB’ + AB to minimum number of literals

Step 1:

Placing 1 for respective box according to above structure.

Step 1 - Placing 1s according to map
Figure 15: Step 1 - Placing 1s according to map

Step 2:

Make groups of join-boxes containing values

Step 2 - Making Groups
Figure 16: Step 2 - Making Groups

Step 3:

For each group, select variable whose is not changed. And then create respective literal
For G1: B=1 → B
For G2: A=1 → A

Step 4:

Create minterm for each group
For G1: B
For G2: A

Step 5:

Create final function by adding for all minterms
F = A + B

9. Example - 9

Reduce F = A’B + AB’ + A’B’ to minimum number of literals

Step 1:

Placing 1 for respective box according to above structure.

Step 1 - Placing 1s according to map
Figure 17: Step 1 - Placing 1s according to map

Step 2:

Make groups of join-boxes containing values

Step 2 - Making Groups
Figure 18: Step 2 - Making Groups

Step 3:

For each group, select variable whose is not changed. And then create respective literal
For G1: A=0 → A’
For G2: B=0 → B’

Step 4:

Create minterm for each group
For G1: A’
For G2: B’

Step 5:

Create final function by adding for all minterms
F = A’ + B’

10. Example - 10

Reduce F = A’B + AB’ + A’B’ + AB to minimum number of literals

Step 1:

Placing 1 for respective box according to above structure.

Step 1 - Placing 1s according to map
Figure 19: Step 1 - Placing 1s according to map

Step 2:

Make groups of join-boxes containing values

Step 2 - Making Groups
Figure 20: Step 2 - Making Groups

Step 3:

For each group, select variable whose is not changed. And then create respective literal
For G1: no such variable

Step 4:

Create minterm for each group
For G1: 1

Step 5:

Create final function by adding for all minterms
F = 1