Author: M Abo Bakar Aslam
Karnaugh Map - 3 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.
Structure of 3-Variable Karnaugh Map
A 3-variable K-Map consists of 8 cells, representing all possible combinations of inputs x, y and z. 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.
- Number of Input Variables = n = 3
- Total Number of Cells in K-map = 2^n = 2^3 = 8

Rules for Construction of K-Map and Grouping
- 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)
- Increase number of 1's in a group
- Decrease number of groups
- Only adjacent-cells can be in a group. Diagonal cells are not allowed to be in a group.
1. Example - 1
Reduce F = x’y’z’ + x’y’z + x’yz’ to minimum number of literals
Step 1:
Placing 1 for respective box according to above structure.

Step 2:
Make groups of join-boxes containing values

Step 3:
For each group, select variable whose is not changed. And then create respective literal
For G1: x=0, z=0 → x’, z’
For G2: x=0, y=0 → x’y’
Step 4:
Create minterm for each group
For G1: x’z’
For G2: x’y’
Step 5:
Create final function by adding for all minterms
F = x’z’ + x’y’
2. Example - 2
Reduce F = x’y’z’ + xy’z + x’yz’ to minimum number of literals
Step 1:
Placing 1 for respective box according to above structure.

Step 2:
Make groups of join-boxes containing values

Step 3:
For each group, select variable whose is not changed. And then create respective literal
For G1: x=0, z=0 → x’, z’
For G2: x=1, y=0, z=1 → x, y’, z
Step 4:
Create minterm for each group
For G1: x’z’
For G2: xy’z
Step 5:
Create final function by adding for all minterms
F = x’z’ + xy’z
3. Example - 3
Reduce F = x’yz + xy’z + x’y’z’ to minimum number of literals
Step 1:
Placing 1 for respective box according to above structure.

Step 2:
Make groups of join-boxes containing values

Step 3:
For each group, select variable whose is not changed. And then create respective literal
For G1: x=0, y=1, z=1 → x’, y, z
For G2: x=1, y=0, z=1 → x, y’, z
For G3: x=0, y=0, z=0 → x’, y’, z’
Step 4:
Create minterm for each group
For G1: x’yz
For G2: xy’z
For G3: x’y’z’
Step 5:
Create final function by adding for all minterms
F = x’yz + xy’z + x’y’z’
4. Example - 4
Reduce F = x’yz + xy’z + xyz to minimum number of literals
Step 1:
Placing 1 for respective box according to above structure.

Step 2:
Make groups of join-boxes containing values

Step 3:
For each group, select variable whose is not changed. And then create respective literal
For G1: y=1, z=1 → y, z
For G2: x=1, z=1 → x, z
Step 4:
Create minterm for each group
For G1: yz
For G2: xz
Step 5:
Create final function by adding for all minterms
F = yz + xz
5. Example - 5
Reduce F = x’y’z + x’yz + xy’z + xyz to minimum number of literals
Step 1:
Placing 1 for respective box according to above structure.

Step 2:
Make groups of join-boxes containing values

Step 3:
For each group, select variable whose is not changed. And then create respective literal
For G1: z=1 → z
Step 4:
Create minterm for each group
For G1: z
Step 5:
Create final function by adding for all minterms
F = z
6. Example - 6
Reduce F = x’y’z’ + xy’z’ + x’yz’ + xyz’ to minimum number of literals
Step 1:
Placing 1 for respective box according to above structure.

Step 2:
Make groups of join-boxes containing values

Step 3:
For each group, select variable whose is not changed. And then create respective literal
For G1: z=0 → z’
Step 4:
Create minterm for each group
For G1: z’
Step 5:
Create final function by adding for all minterms
F = z’
7. Example - 7
Reduce F = x’y’z’ + xy’z’ + x’yz’ + xyz’ + x’y’z + xy’z to minimum number of literals
Step 1:
Placing 1 for respective box according to above structure.

Step 2:
Make groups of join-boxes containing values

Step 3:
For each group, select variable whose is not changed. And then create respective literal
For G1: z=0 → z’
For G2: y=0 → y’
Step 4:
Create minterm for each group
For G1: z’
For G2: y’
Step 5:
Create final function by adding for all minterms
F = y’ + z’
8. Example - 8
Reduce F = x’y’z’ + xy’z’ + x’yz’ + xyz’ + x’yz + xyz to minimum number of literals
Step 1:
Placing 1 for respective box according to above structure.

Step 2:
Make groups of join-boxes containing values

Step 3:
For each group, select variable whose is not changed. And then create respective literal
For G1: z=0 → z’
For G2: y=1 → y
Step 4:
Create minterm for each group
For G1: z’
For G2: y
Step 5:
Create final function by adding for all minterms
F = y + z’
9. Example - 9
Reduce F = x’y’z’ + xy’z’ + x’yz’ + xyz’ + x’yz + xyz + x’y’z to minimum number of literals
Step 1:
Placing 1 for respective box according to above structure.

Step 2:
Make groups of join-boxes containing values

Step 3:
For each group, select variable whose is not changed. And then create respective literal
For G1: z=0 → z’
For G2: y=1 → y
For G3: x=0 → x’
Step 4:
Create minterm for each group
For G1: z’
For G2: y
For G3: x’
Step 5:
Create final function by adding for all minterms
F = x’ + y + z’
10. Example - 10
Reduce F = x’y’z’ + xy’z’ + x’yz’ + xyz’ + x’yz + xyz + x’y’z + xy’z to minimum number of literals
Step 1:
Placing 1 for respective box according to above structure.

Step 2:
Make groups of join-boxes containing values

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