Lecture 04 - K-Map Method
Lecture 04 - K-Map Method
Fall 2023
We will see that the typical goal is to arrive at Boolean expressions that:
are expressible in SOP (or POS) form
involve minimal numbers of literals
involve a minimal number of gate application levels
The algebraic techniques we have developed are too slow and uncertain to
apply in cases where the numbers of variables are large.
To meet the needs of modern circuit analysis and design several methods have
been developed that
x f(x)
0 f(0) Truth Table
1 f(1)
Function Values
Binary Values
Function Values
Binary Values
x y f(x,y)
0 0 f(0,0)
0 1 f(0,1)
Truth Table
1 0 f(1,0)
1 1 f(1,1)
y
x y f(x,y) 0 1
0 0 f(0,0)
0 1 f(0,1) f(0,0) f(0,1)
Truth Table
1 0 f(1,0) 0
x
1 1 f(1,1) 1 f(1,0) f(1,1)
yz
x y z f(x,y,z)
0 0 0 f(000) 00 01 11 10
0 0 1 f(001)
0 1 0 f(010) f(000) f(001) f(011) f(010)
0 1 1 f(011) 0
1 0 0 f(100) x
1 0 1 f(101) 1 f(100) f(101) f(111) f(110)
1 1 0 f(110)
1 1 1 f(111)
yz
x y z Note
f(x) the way that
0 0 0 the column indices
f(000) 00 01 11 10
0 change by only 1
0 1 f(001)
0 bit at a time from
1 0 f(010)
left to right. f(000) f(001) f(011) f(010)
0 1 1 f(011) 0
1 0 0 f(100) x
1 0 1 f(101) 1 f(100) f(101) f(111) f(110)
1 1 0 f(110)
1 1 1 f(111)
y
x y z f(x,y,z)
0 0 0 f(000) 00 01 11 10
0 0 1 f(001)
0 1 0 f(010) f(000) f(001) f(011) f(010)
0 1 1 Anf(011)
alternative 0
1 0 0labelling
f(100) scheme is x
1 0 1 based
f(101) on which 1 f(100) f(101) f(111) f(110)
1 1 0 literal
f(110)has value 1.
1 1 1 f(111)
z
y
x y z f(x,y,z)
0 0 0 f(000) 00 01 11 10
0 0 1 f(001)
0 1 0 f(010) 0 1 3 2
0 1 1 f(011) 0
1 0 0 f(100) x
1 0 1 f(101) 1 4 5 7 6
1 1 0 f(110)
1 One final
1 1 f(111)
alternative labelling
z
scheme replaces
the function value
by the decimal 2x4 Karnaugh Map
minterm index
value.
w x y z f(w,x,y,z)
0 0 0 0 f(0000)
0 0 0 1 f(0001)
0 0 1 0 f(0010)
0 0 1 1 f(0011)
0 1 0 0 f(0100)
0 1 0 1 f(0101)
0 1 1 0 f(0110)
0 1 1 1 f(0111)
1 0 0 0 f(1000)
1 0 0 1 f(1001)
1 0 1 0 f(1010)
1 0 1 1 f(1011)
1 1 0 0 f(1100)
1 1 0 1 f(1101)
1 1 1 0 f(1110)
1 1 1 1 f(1111)
21 Dr. Tarek Abdul Hamid Digital Engineering
Karnaugh Maps
4 variable map yz
00 01 11 10
w x y z f(w,x,y,z)
f(0000) f(0001) f(0011) f(0010)
0 0 0 0 f(0000)
0 0 0 1 f(0001) 00
0 0 1 0 f(0010) f(0100) f(0101) f(0111) f(0110)
0 0 1 1 f(0011) 01
0 1 0 0 f(0100) wx
0 1 0 1 f(0101) 11 f(1100) f(1101) f(1111) f(1110)
0 1 1 0 f(0110)
0 1 1 1 f(0111) 10
1 0 0 0 f(1000)
f(1000) f(1001) f(1011) f(1010)
1 0 0 1 f(1001)
1 0 1 0 f(1010)
1 0 1 1 f(1011)
1 1 0 0 f(1100)
1 1 0 1 f(1101)
1 1 1 0 f(1110)
1 1 1 1 f(1111)
22 Digital Engineering
Dr. Tarek Abdul Hamid
Karnaugh Maps
4 variable map yz
00 01 11 10
w x y z f(w,x,y,z)
0 0 0 0 f(0000) 0 1 3 2
0 0 0 1 f(0001) 00
0 0 1 0 f(0010)
0 0 1 1 f(0011) 01 4 5 7 6
0 1 0 0 f(0100) wx
0 1 0 1 f(0101) 11 12 13 15 14
0 1Note
1 0 the
f(0110)
way that
0 1both
1 1 the
f(0111)
row and 10
1 0column
0 0 f(1000)
indices 8 9 11 10
1 0change
0 1 f(1001)
by only 1
1 0bit
1 at
0 af(1010)
time.
1 0 1 1 f(1011)
1 1 0 0 f(1100)
1 1 0 1 f(1101)
1 1 1 0 f(1110)
1 1 1 1 f(1111)
23 Dr. Tarek Abdul Hamid Digital Engineering
Karnaugh Maps
4 variable map yz
00 01 11 10
w x y z f(w,x,y,z)
0 0 0 0 f(0000) 0 1 3 2
0 0 0 1 f(0001) 00
0 0 1 0 f(0010)
0 0 1 1 f(0011) 01 4 5 7 6
0 1 0 0 f(0100) wx
0 1 0 1 f(0101) 11 12 13 15 14
0 1Note
1 0 the
f(0110)
way that
0 1both
1 1 the
f(0111)
row and 10
1 0column
0 0 f(1000)
indices 8 9 11 10
1 0change
0 1 f(1001)
by only 1
1 0bit
1 at
0 af(1010)
time.
1 0 1 1 f(1011)
1 1 0 0 f(1100)
1 1 0 1 f(1101)
1 1 1 0 f(1110) This implies that two rows, or columns,
1 1 1 1 f(1111) whose indices differ by only 1 bit value, are
24 Dr. Tarek Abdul Hamid Digital Engineering
adjacent.
Karnaugh Maps
4 variable map yz
00 01 11 10
w x y z f(w,x,y,z)
0 0 0 0 f(0000) 0 1 3 2
0 0 0 1 f(0001) 00
0 0 1 0 f(0010)
0 0 1 1 f(0011) 01 4 5 7 6
0 1 0 0 f(0100) wx
0 1 0 1 f(0101) 11 12 13 15 14
0 1Note
1 0 the
f(0110)
way that
0 1both
1 1 the
f(0111)
row and 10
1 0column
0 0 f(1000)
indices 8 9 11 10
1 0change
0 1 f(1001)
by only 1
1 0bit
1 at
0 af(1010)
time.
1 0 1 1 f(1011)
1 1 0 0 f(1100)
1 1 0 1 f(1101)
WRAP-AROUND!
1 1 1 0 f(1110) This implies that two rows, or columns,
1 1 1 1 f(1111) whose indices differ by only 1 bit value, are
25 Dr. Tarek Abdul Hamid Digital Engineering
adjacent.
Karnaugh Maps
4 variable map y
00 01 11 10
w x y z f(w,x,y,z)
0 0 0 0 f(0000) 0 1 3 2
0 0 0 1 f(0001) 00
0 0 1 0 f(0010)
0 0 1 1 f(0011) 01 4 5 7 6
0 1 0 0 f(0100) x
0 1 0 1 f(0101) 11 12 13 15 14
0 1 1 0 f(0110)
0 1 1 1 f(0111) w
10
1 0 0 0 f(1000) 8 9 11 10
1 0 0 1 f(1001)
1 0 1 0 f(1010)
1 0 1 1 f(1011) z
1 1 0 0 f(1100)
1 1 0 1 f(1101)
An alternative row/column
1 1 1 0 f(1110)
labelling, highlighting the
1 1 1 1 f(1111)
26 Dr. Tarek Abdul Hamid literal with value 1. Digital Engineering
Karnaugh Maps
Case Study: 1 variable map
x
X F(X) 0 1
Ex.
0 0 0 1
1 1
Place function
values (from the
defining function
truth table) in the
map positions.
DEFINITION:
When constructing SOP forms, a 2N -subcube is a rectangular region of a
Karnaugh map consisting of 2N adjacent cells, each containing the same
value 1 (or 0 for POS forms), and where N must be an integer greater or
equal to zero.
29 Dr. Tarek Abdul Hamid Digital Engineering
Karnaugh Maps
Case Study: 1 variable map
x
0 1
0 1
In other words, when both 0 and 1 terms appear for a literal referenced
within the cells of a subcube, that literal is removed from the implicant
corresponding to that subcube, leaving a prime implicant.
38 Dr. Tarek Abdul Hamid Digital Engineering
Karnaugh Maps
3 variable map
yz
00 01 11 10
1 1 0 0
1
39 1 1 Dr. Tarek1Abdul Hamid Digital Engineering
Karnaugh Maps
3 variable map
yz
00 01 11 10
X Y Z F(X,Y,Z) 0 1 1 0
0
0 0 0 0 x
0 0 1 1 1 1 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
•Circle all 1 entries that, taken together, form a
1 0 1 0 subcube (i.e. rectangle).
1 1 0 0 •Start with the largest subcubes, then proceed to
1 1 1 1 smaller subcubes
•Generally speaking, there will be more than one
independent subcube, each reflecting a different
prime implicant.
40 Dr. Tarek Abdul Hamid Digital Engineering
Karnaugh Maps
3 variable map y’ z’
yz
00 01 11 10
0 1 1 0
0
x
x 1 1 0 1 0
x’ 0 1 1 0
0
x
1 1 0 1 0
0 1 1 0
0
x+x’ = 1 x
1 1 0 1 0
0 1 1 0
0
x+x’ = 1 x
1 1 0 1 0
0 1 1 0
0
Each subcube (rectangle)
x
corresponds to a prime
1 1 0 1 0
implicant term.
f = xy’z’ + x’z + yz
xy’z’ ( xy’z’ )
Essential 1-cell (essential prime implicant).
Each subcube contains at least one 1-cell that can ONLY be
included within that subcube. Such 1-cells are called
essential 1-cells and their corresponding prime implicant is
called an essential prime implicant.
50 Dr. Tarek Abdul Hamid Digital Engineering
Karnaugh Maps
3 variable map
yz
00 01 11 10
f = xy’z’ + x’z + yz
0 1 1 0
0
x
1 1 0 1 0
x’y’z ( x’z )
Essential 1-cell (essential prime implicant).
Each subcube contains at least one 1-cell that can ONLY be
included within that subcube. Such 1-cells are called
essential 1-cells and their corresponding prime implicant is
called an essential prime implicant.
51 Dr. Tarek Abdul Hamid Digital Engineering
Karnaugh Maps
3 variable map
yz
00 01 11 10
f = xy’z’ + x’z + yz
0 1 1 0
0
x
1 1 0 1 0
xyz ( yz )
Essential 1-cell (essential prime implicant).
Each subcube contains at least one 1-cell that can ONLY be
included within that subcube. Such 1-cells are called
essential 1-cells and their corresponding prime implicant is
called an essential prime implicant.
52 Dr. Tarek Abdul Hamid Digital Engineering
Karnaugh Maps
3 variable map - 2nd variation
yz
00 01 11 10
1 1 1 1
0
x
1 1 0 0 1
1 1 1 1
0
x
1 1 0 0 1
1 1 1 1
0
x
1 1 0 0 1
1 1 1 1
The “wrap-around” 0
technique. x
1 1 0 0 1
1 1 1 1
0
x’[yz + y’z + yz’ + y’z’] x
= x’[(y+y’)z + (y+y’)z’] 1 1 0 0 1
= x’[z+z’]
= x’
x’y’z’+x’yz’+xy’z’+xyz’
= x’(y’+y)z’ +x(y’+y)z’ Circle all 1 entries that,
= (x’+x)(y’+y)z’ taken together, form a
= z’ subcube (i.e. rectangle) of
the largest size, but
containing 2N squares (for
Dr. Tarek Abdul Hamid
all possible N).
57 Digital Engineering
Karnaugh Maps
3 variable map - 2nd variation
yz
00 01 11 10
1 1 1 1
0
x
1 1 0 0 1
Collecting
literals into a
product Circle all 1 entries that,
gives: taken together, form a
x’ + z’ subcube (i.e. rectangle) of
the largest size, but
containing 2N squares (for
all possible N).
58 Dr. Tarek Abdul Hamid Digital Engineering
Karnaugh Maps
Case Study: 4 variable map
yz
00 01 11 10
1 0 0 1
00
01 1 1 0 0
Place function
wx values in the map
11 1 1 1 0 positions.
10
1 0 1 1
yz Identify 2N
00 01 11 10 subcubes by
decreasing
1 0 0 1 N=4,3,2,1,0; using
00 wraparound.
01 1 1 0 0
wx
11 1 1 1 0
10
1 0 1 1
10
1 0 1 1
01 1 1 0 0
Subcubes of size:
wx 22 =4.
11 1 1 1 0
10
1 0 1 1
01 1 1 0 0
Subcubes of size:
wx 22 =4.
11 1 1 1 0
10
1 0 1 1
01 1 1 0 0
wx
Subcubes of size:
11 1 1 1 0
21 =2.
10
1 0 1 1
01 1 1 0 0
wx
Subcubes of size:
11 1 1 1 0
21 =2.
10
1 0 1 1
01 1 1 0 0
wx No more subcubes!
11 1 1 1 0
10
1 0 1 1
01 1 1 0 0
wx
11 1 1 1 0
10
1 0 1 1 Now to identify the
prime implicants:
yz Identify 2N
00 01 11 10 subcubes by
decreasing
1 0 0 1 N=4,3,2,1,0; using
00 wraparound.
01 1 1 0 0
wx
11 1 1 1 0
10
1 0 1 1 Now to identify the
prime implicants:
yz Identify 2N
subcubes by
00 01 11 10
decreasing
N=4,3,2,1,0; using
1 0 0 1 wraparound.
00
01 1 1 0 0
wx
11 1 1 1 0
10
1 0 1 1 Now to identify the
prime implicants:
yz Identify 2N
subcubes by
00 01 11 10
decreasing
N=4,3,2,1,0; using
1 0 0 1 wraparound.
00
01 1 1 0 0
wx
11 1 1 1 0
10
1 0 1 1 Now to identify the
prime implicants:
yz Identify 2N
00 01 11 10 subcubes by
decreasing
N=4,3,2,1,0; using
1 0 0 1 wraparound.
00
01 1 1 0 0
wx
11 1 1 1 0
10
1 0 1 1 Now to identify the
prime implicants:
Identify 2N
yz
subcubes by
00 01 11 10 decreasing
N=4,3,2,1,0; using
1 0 0 1 wraparound.
00
01 1 1 0 0
wx
11 1 1 1 0
10
1 0 1 1 Now to identify the
prime implicants:
yz
00 01 11 10
Previously, we had
presented this
1 0 0 1
example.
00
01 1 1 0 0
wx
11 1 1 1 0
10
1 0 1 1
yz
00 01 11 10
Consider these
1 0 0 1 subcubes ...
00
01 1 1 0 0
wx
11 1 1 1 0
10
1 0 1 1
yz
00 01 11 10
Now, choose the other,
alternative subcube
1 0 0 1 containing these 1-
00 cells …
…thereby, minimizing
01 1 1 0 0 the number of
wx subcubes, hence the
11 1 1 1 0 number of product
terms in the function.
10
1 0 1 1
10
1 0 1 1
yz
00 01 11 10
1 0 0 1
00
01 1 1 0 0
wx
11 1 1 1 0
10
1 0 1 1
Identify 2N
yz
subcubes by
00 01 11 10 decreasing
N=4,3,2,1,0; using
1 0 0 1 wraparound.
00
01 1 1 0 0
No subcubes of
wx sizes 16, 8 or 4.
11 1 1 1 0
10
1 0 1 1
Identify 2N
yz subcubes by
00 01 11 10 decreasing
N=4,3,2,1,0; using
1 0 0 1 wraparound.
00
01 1 1 0 0
Subcubes of size 2.
wx
11 1 1 1 0
10
1 0 1 1
yz Identify 2N
subcubes by
00 01 11 10
decreasing
N=4,3,2,1,0; using
1 0 0 1 wraparound.
00
01 1 1 0 0
wx
11 1 1 1 0 Note the
essential 0-cells
10 that denote
1 0 1 1 essential prime
implicates.
Identify 2N
yz subcubes by
00 01 11 10 decreasing
N=4,3,2,1,0; using
1 0 0 1 wraparound.
00
01 1 1 0 0
Note there are no
wx smaller subcubes.
11 1 1 1 0 The subcube choices
reflect a minimal POS
10 expression.
1 0 1 1