Beruflich Dokumente
Kultur Dokumente
DESIGN, VOLUME II
DIGITAL SYSTEMS
DESIGN, VOLUME II
Developmental Methods and
Combinational Logic Circuits
LARRY MASSENGALE
Digital Systems Design, Volume II: Developmental Methods and
Combinational Logic Circuits
10 9 8 7 6 5 4 3 2 1
KEYWORDS
List of Figures ix
Acknowledgments xv
I would like to thank my wife for providing inspiration and motivation while
writing this book. My children Michael and Holly were very instrumental
in keeping me on track to finish the text. Robert Solis, Bob Valencia, Sean
Tijerina, Mike Ormonde, Ming Ho, and Anthony Vernon, all engineers
who are employed by various organizations, provided excitement in get-
ting me started with this project. Two people get my overwhelming thanks
for coaching me on. One is a brilliant engineer who works with cyber
operations, Christy Vera, and the other is my long-time professor friend,
Dr. Wei-Ming Lin, who reviewed the book with his insightful comments
as always. Additionally, Dr. Margaret Wesner has been one of my greatest
supporters, giving me clarity, encouragement, and compassion when times
were rough for me during the writing of this book. Most of all, I give the
Lord Jesus Christ thanks for giving me the ability and knowledge to com-
prehend engineering subject matters.
CHAPTER 1
Karnaugh Maps
1.1. INTRODUCTION
This chapter will introduce the Karnaugh map and show another method
to simplify Boolean Algebra expressions. The Karnaugh map, also known
as the K-map, was first presented by Maurice Karnaugh in 1953 as a re-
finement of Edward Veitch’s 1952 Veitch diagram. The K-map reduces the
need for extensive calculations by using visual recognition capabilities. It
also allows for rapid identification and elimination of potential race con-
ditions. A race condition or race hazard is the behavior of a logic circuit
where the output is dependent on the sequence or timing of other, uncon-
trollable events. A hazard occurs when events do not happen in the exact
order the programmer is expecting.
The Boolean expression is transferred from a truth table to a
two-dimensional grid where the cells are ordered in gray code. Each cell
represents one combination of an input condition. Gray code is often used
to allow for adjacent numbers to differ only by one digit during the encod-
ing process. The cell value of the dimensional grid corresponds to the out-
put value. Optimal groups of 1s or 0s are identified to represent the terms
in the original truth table. The terms can also be used to write the Boolean
expression for the logical representation.
The basic purpose of K-maps is to minimize the number of physical
logic gates. As mentioned in Chapter 3, Volume I, the sum of products
(SOP) expression can be implemented by using AND gates feeding to an
OR gate and the product of sums (POS) expression can be implemented by
using OR gates feeding to an AND gate. K-maps are also used to simplify
software logical expressions. Conditions in Boolean expressions can be
complicated to read and maintain in software programming and design.
Once minimized, the SOP and POS expressions can be implemented di-
rectly using AND and OR logic operators.
2 • DIGITAL SYSTEMS DESIGN, VOLUME II
K-maps that use more than four-variables should utilize the Quine–
McCluskey method for minimizing a Boolean expression. While discuss-
ing the Quine–McCluskey method, we will deal with prime implicants and
essential prime implicants. A prime implicant of a function is an implicant
that cannot be covered by a more general, more reduced implicant. W. V.
Quine defined a prime implicant of F to be an implicant that is minimal;
that is, the removal of any literal from P results in a nonimplicant for F.
Essential prime implicants are prime implicants that cover an output of the
function that no combination of other prime implicants is able to cover.
F(a,b,c) = m(0,1, 2, 5, 6, 7)
Not minimum
= a´b´ + bc´ + ac
Minimum expression.
Karnaugh Maps • 3
K-maps are similar to truth tables: They specify the value of the func-
tion for every combination of values of the independent variables. An ex-
ample of the two-variable K-map is shown in Figure 1.1. Since this is a
two-variable K-map, variables a and b will be used. One of the variables
will be shown across the top of the K-map while the other variable will
be shown on the left side of the K-map as shown in the following figure.
A
B 0 1
0
A = 1, B = 0
A = 0, B = 0 1
A = 1, B = 1
A = 0, B = 1
Figure 1.2a shows the truth table for a function F, and the correspond-
ing K-map is shown in Figure 1.2b, where the value of F for A = 1 and
B = 0. This value is plotted in the upper right corner of the K-map. The
other value of F for A = B = 1. Each 1 on the K-map corresponds to a min-
term of F. So A = 1, B = 0 indicates minterm AB′, while A = B = 1 indi-
cates minterm AB. The function of F = AB′ + AB is shown in Figure 1.2c.
The minimum minterm of F = AB′ + AB = A is identified in Figure 1.2d.
INPUTS OUTPUT
A A A
A B F
B 0 1 B 0 1 B 0 1
0 0 0
0 1 0 0 0 1 0 0 1 0 0 1
1 0 1 AB´
1 0 1 1 0 1 1 0 1
1 1 1 AB
F = AB´ + AB = A
F = AB´ + AB F=A
a: Truth Table b: Associated K-Map c: Minterms of Function d: Minimum Expression
Figure 1.3a shows the truth table for a function of F, and its corres-
ponding K-map is shown in Figure 1.3b, where the value of function F
for A = 0 and B = 1. This value is plotted in the lower left corner of the
K-map. The other value of function F for A = B = 1. This minterm is
4 • DIGITAL SYSTEMS DESIGN, VOLUME II
located in the lower right corner of the K-map. Again, each 1 on the K-map
corresponds to a minterm of the function F. When A = 0 and B = 1, the
indicated minterm is A′B and when A = B = 1, the indicated minterm is
AB. The function of F = A′B + AB, which is shown in Figure 1.3c. The
minimum minterm of F = A′B + AB = B, which is shown in Figure 1.3d.
INPUTS OUTPUT
A A A
A B F
B 0 1 B 0 1 B 0 1
0 0 0
0 1 1 0 0 0 0 0 0 0 0 0
1 0 0 1 1 1 1 1 1 1 1 1
1 1 1 A’B AB
F = A´B + AB F=B F = A´B + AB = B
Figure 1.4a shows the truth table for a function of F, and its corres-
ponding K-map is shown in Figure 1.4b, where the value of function F
for A = B = 0 and B = 1. This value is plotted in the lower left corner of
the K-map. The other value of function F for A = B = 1. This minterm
is located in the lower right corner of the K-map. Again, each 1 on the
K-map corresponds to a minterm of the function F. When A = B = 0, the
indicated minterm is A′B′ and when A = B = 1, the indicated minterm is
AB. The function of F = A′B′ + AB, which is shown in Figure 1.4c. The
minimum minterm of F = A′B′ + AB, which is shown in Figure 1.4d.
INPUTS OUTPUT
A A A
A B F
B 0 1 B 0 1 B 0 1
0 0 1
0 1 0 0 1 0 0 1 0 0 1 0
1 0 0 A´B´
1 0 1 1 0 1 1 0 1
1 1 1 AB
F = A´B´ + AB F = A´B´ + AB F = A´B + AB
a: Truth Table b: Associated K-Map c: Minterms of Function d: Minimum Expression
Figure 1.4. Truth table and K-map processes for function F = A′B′ + AB
Figure 1.5 shows a three-variable truth table and its associated K-map.
Across the top of the K-map identifies the A-position either 0 or 1. The
left side of the K-map will identify the BC positions with 00, 01, 11, or 10.
Again, as stated earlier, the reason for the sequence of numbers is because
of the number of bit positions changing. Gray code allows only one bit
position to be changed in it ordering of numbers. At minterm A′B′C′ or
Karnaugh Maps • 5
INPUTS OUTPUT
A B C F
0 0 0 1 A
0 0 1 0 BC 0 1
0 1 0 0 00 1 1
0 1 1 1
A´B´C´ = 000, F = 1 01 0 1
1 0 0 1
1 0 1 1 11 1 0
1 1 0 0
1 1 1 1 10 0 1 ABC = 111, F = 0
Figure 1.6 shows both the binary and decimal notations of the
three-variable K-map. Minterms in adjacent K-map cells differ only in
one variable and therefore can be combined using the XY′ + XY = X
theorem. Minterm 001 (A′B′C) is adjacent to minterms 000 (A′B′C′), 101
(AB′C), and 011 (A′BC). Additionally, sides are adjacent to each other, as
well as top and bottom rows. This is shown in Figure 1.6a where minterm
100 is adjacent to 110. Figure 1.6b shows the decimal sequencing of each
minterm K-map cell.
A A
BC 0 1 BC 0 1
00 000 100 00 0 4
10 010 110 10 2 6
Figure 1.7 shows the original truth table and associated K-map from
Figure 1.5. The minterm expansion can be plotted on the following K-map
by placing 1s in the cells that correspond to the functional output of the
truth table. Figure 1.7b shows the plot of F(a,b,c) = m0 + m3 + m4 + m5 + m7.
6 • DIGITAL SYSTEMS DESIGN, VOLUME II
INPUTS OUTPUT
A B C F
0 0 0 1 A
0 0 1 0 BC 0 1
0 1 0 0 00 1 1
0 1 1 1
1 0 0 1 01 0 1
1 0 1 1 11 1 0
1 1 0 0
1 1 1 1 10 0 1
Figure 1.8 shows how product terms are plotted on K-maps. To plot
the term b′, 1s are entered into the four cells of the map when b = 0. The
term b′c′ is plotted with 1s when b = 0 and c = 0; two cells in b′c′ have 1s
in bc = 00. The term a′c′ is 1 when a = 0 and c = 0; 1s are entered into
the a = 0 column in the rows where c = 0.
A = 0 in
this column
A A A
BC 0 1 BC 0 BC 0 1
00 1 1 00 1 1 00 1
B = 0 in
these rows 01 1 1 01 C = 0 in 01
these rows
11 11 11
10 10 10 1
a: F = b´ b: F = b´c´ c: F = a´c´
A A
BC 0 1 BC 0 1
00 0 0 00 0 0
01 1 1 T1 = a´b´c + a´bc 01 1 1
= a´c
11 1 0 11 1 0 T2 = a´b´c + ab´c
= b´c
10 0 0 10 0 0
The K-map can explain the basic theorems used in Boolean Algebra.
For instance, we can use the consensus theorem to prove the following:
Consensus Theorem for XY + X′Z + YZ:
x x
yz 0 1 yz 0 1
00 0 0 00 0 0
yz (consensus term)
01 1 0 01 1 0
x´z x´z
11 1 1 11 1 1
xy+ x´z+ yz= xy+ x´z xy
10 0 1 10 0 1
xy
a: 3-Term Expression of F b: Simplified two-terms of F
A function can have two or more solutions and these can be illus-
trated on a K-map. Figure 1.11 shows this situation, where the function
of F = Σm(0,1,2,5,6,7). Place the 1s in the cells and determine the terms
and solutions.
8 • DIGITAL SYSTEMS DESIGN, VOLUME II
A A A
BC 0 1 BC 0 1 BC 0 1
00 1 0 00 1 0 00 1 0
01 1 1 01 1 1 01 1 1
11 0 1 11 0 1 11 0 1
10 1 1 10 1 1 10 1 1
F= Σm (0,1,2,5,6,7) F= a´b´ + bc´ + ac F= a´c´ + b´c + ab
a: Plot of minterms b: First Solution of F c: Second Solution of F
Figure 1.12 shows the minterms for the four-variable K-map. Each cell is
adjacent to the next cell on the K-map. For instance, m13 (1101) is adjacent
and could combine with m12 (1100), m5 (0101), m15 (1111), or m9 (1001)
because of differing only by one variable from each of the other minterms.
Not only are the cells at the top and bottom rows adjacent to each other, the
first and last columns are adjacent too. This is shown with minterms 0 and
8, 1 and 9, 3 and 11, and 2 and 10 being adjacent to each other.
AB
CD 00 01 11 10
00 0 4 12 8
01 1 5 13 9
11 3 7 15 11
10 2 6 14 10
AB
CD 00 01 11 10
00 1 1 1 1
01 1 ab
d´
11 1 1 1
a´cd 10 1 1 1 1
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 1 1 00 1 1 bc´
01 1 1 1 01 1 1 1
11 1 11 1
10 1 a´b´d 10 1 ab´cd´
AB AB Four corner
CD 00 01 11 10 CD 00 01 11 10 terms combine
to give b´d´
00 1 1 00 1 1
c
01 1 01 1 a´bd
11 1 1 1 1 11 1 1 1 1
10 1 1 1 1 10 1 1 1 1
The K-map can also possess don’t cares on the map. The required Xs are
plotted as 1s, and the don’t cares are plotted as Xs. When terms represent a
minimum SOP all 1s must be annotated on the K-map, while only those Xs
that simplify the resulting expression are listed on the K-map. An example of
this process is shown in Figure 1.16 with F = Σm(1,3,5,7,9) + Σd(6,12,13).
The minterm 13 is the only don’t care that is part of the simplified expression.
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 X 00 X
01 1 1 X 1 01 1 1 X 1
11 1 1 11 1 1
10 X 10 X
Figure 1.17 shows the 1s of Function F that will be plotted on the K-map.
Expand the function as F(w,x,y,z) and determine the minterms for the SOP.
(w,x,y,z) = x´z´(w + w´)(y + y´) + wyz(x + x´) + w´y´z´(x + x´) + x´y(w + w´)(z +z´)
= m10 + m2 + m8 + m0
+ m15 + m11+ m4 + m0
+ m11 + m3 + m10 + m2
and
Plotting the minterms (SOP) and maxterms (POS) will allow us to de-
termine a minimum solution for the function’s expression. The minterms
are shown in Figure 1.17 and the maxterms are shown in Figure 1.18.
wx wx
yz 00 01 11 10 yz 00 01 11 10
x´z´
00 1 1 0 1 00 1 1 0 1
01 0 0 0 0 01 0 0 0 0
11 1 0 1 1 w´y´z´ 11 1 0 1 1 wyz
10 1 0 0 1 x´y 10 1 0 0 1
wx wx
yz 00 01 11 10 yz 00 01 11 10
00 1 1 0 1 00 1 1 0 1
01 0 0 0 0 01 0 0 0 0 y´z
11 1 0 1 1 11 1 0 1 1
10 1 0 0 1 10 1 0 0 1
w´xy wxz´
DeMorgan’s Theorem:
a´b´c´ a´bc´
ab
cd 00 01 11 10 ab´c´d´
00 1 1 1
acd
01 1 1
11 1 1
a´c´
10 1 ab´c
F
bc´ ac´d
ab
cd 00 01 11 10
00 1 1
01 1 1 1
11 1 1 1 b´cd
10 1 1
F
a´c a´b ab´d
ab ab
cd 00 01 11 10 cd 00 01 11 10
bd bd
00 00
a´c a´c
01 1 1 01 1 1
11 1 1 1 1 cd 11 1 1 1 1
10 1 1 1 b´c 10 1 1 1 b´c
ab
cd 00 01 11 10
m5
00
m7
01 1 1
11 1 1 1 1
10 1 1 1 m10
m6
f = a´c + b´c + bd+ cd
a´b
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 X0 14 18 00 X0 14 18
01 15 113 19 01 15 113 19 ac´d
11 X7 X15 11 X7 X15
10 16 110 10 16 110
ab´d´
BC
DE 00 01 11 10
16 20 28 24
00 0 4 12 8
17 21 29 25
A 01 1 5 13 9
19 23 31 27
1/0 11 3 7 15 11
18 22 30 26
10 2 6 14 10
A= 0 A= 1
BC BC
DE 00 01 11 10 DE 00 01 11 10
00 0 4 12 8 00 16 20 28 24
01 1 5 13 9 01 17 21 29 25
11 3 7 15 11 11 19 23 31 27
10 2 6 14 10 10 18 22 30 26
As you can see from Figure 1.25 and Figure 1.27, minterms 0 and 16
are adjacent while minterms 17 and 5 are not adjacent because they appear
Karnaugh Maps • 17
in a different column and a different layer. Each minterm has five adjacent
terms: four on the same layer and one on the adjacent layer. This is appar-
ent by the adjacencies identified in Figure 1.27.
We will minimize the following five-variable K-map function:
F(A,B,C,D,E) = ∑m(0,1,4,5,13,15,20,21,22,23,24,26,28,30,31)
BC
BC DE 00 01 11 10
DE 00 01 11 10 16 20 28 24
1 1 1
00
16 20
1 28
1 24
1 P1 00 1 0 1 4 12 8
1 0 1 4 12 8 17 21
1
29 25
17 21
1
29 25 A 01 1 1 1 1 13 9
A 01 1 1 13 19 23
5
31 27
1 1 5 9
1/0 11 1 1 P4
1/0 19 23
1
31
1
27
3 7 1 15 11
11 3 7 1 15 11 18 22
1 30
1
26
1
18 22
1 30
1
26
1
10 2 6 14 10
P2
10 2 6 14 10
P3
A= 0 A= 1
BC BC
DE 00 01 11 10 DE 00 01 11 10
0 4 12 8 16 20 28 24
P1 00 00
1 1 1 1 1
b´cd´ b´cd´
1 5 13 9 17 21 29 25
01 1 1 1 01 1
3 7 15 19 23 31 27
ab´c
11
11 1
P4 11 1 1
2 6 14 10 18 22 30 26
10 10 1 1 1 P2
P3
For the A = 0 layer, we see that P1 and P4 implicants are easily iden-
tified. When we go to the A = 1 layer we identify P2 and P3 implicants.
18 • DIGITAL SYSTEMS DESIGN, VOLUME II
Additionally, we see that two other implicants are identified: ab′c and
b′cd′. However, as we can observe, both of these implicants are partially
covered by P1 and P3 implicants. It is not necessary to be covered by both
to minimize the expression. So either ab′c or b′cd′ could be used to min-
imize our expression. The minimum solution can be written as follows:
or
F(A,B,C,D,E) = ∑m(0,1,3,8.9,14,15,16,17,19,25,27,31)
BC BC
DE 00 01 11 10 DE 00 01 11 10
16 20 28 24 16 20 28 24
1 1
00 1 0 4 12 1 8 P1 00 1 0 4 12 1 8
17 21 29 25 17 21 29 25
A 01
1
1
1
1
A 01 1
1
1
1
P3
1 5 13 9 1 5 13 9
1/0 11 19
1
23 31 27
1
1/0 19
1
23 31 27
1
11 1 1 P5
1 3 7 1 15 11 P2 1 3 7 115 11
18 22 30 26 18 22 30 26
10 2 6 114 10
10 2 6 114 10
P4
A=0 A=1
BC BC
00 01 11 10 P3 00 01 11 10
DE DE
0 4 12 16 20 28 24
ac´e
8
P1 00 1 1
P1
00 1 c´d´e
1 5 13 9 17 21 29 25
01 1 1 01 1 1
19 23 27
P2 7 15 11 P2 31
11 3 1 1 11 1 1 1 P5
2 6 14 10 18 22 30 26
10 1 10
P4
or
Figures 1.32 and 1.33 show how the standard six-variable K-map is ori-
ented. Each cell or square is arranged with each minterm for that se-
quenced location layer; each square showing the four layers (AB = 00,
AB = 01, AB = 11, AB = 10). The six-variable K-map is constructed
with a three-dimensional orientation with four stacked layers. Layers are
valued with AB variables, while the individual layer is mapped with values
of CD and EF for rows and columns. AB is assigned values of 00 for the
first layer, 01 for second layer, 11 for the top layer, and 10 for the third
layer. Individual layer minterms are numbered as 0 through 15 for the first
20 • DIGITAL SYSTEMS DESIGN, VOLUME II
layer, 16 through 31 for the second layer, 32 through 47 for the top layer,
and 48 through 63 for the third layer. Figure 1.33 shows a six-variable
K-map layers with all four layers; minterms from 0 through 63, Method 1.
Figure 1.34 shows four individual K-map layers with 16 square grids each.
Figure 1.35 shows how the layers are stacked from top to bottom: AB = 10
(top), AB = 11 (third), AB = 01 (second), and AB = 00 (bottom).
Third Layer
63
15
Bottom Layer
cd
ef
48 52 60 56
32 16 36 20 44 28 40 24
0 4 12 8
49 53 61 57
33 17 37 21 45 29 41 25
1 5 13 9
51 55 63 59
35 19 39 23 47 31 43 27
3 7 15 11
50 54 62 58
34 18 38 22 46 30 42 26
2 6 14 10
AB = 00 (1st) AB = 01 (2nd)
CD CD
EF 00 01 11 10 EF 00 01 11 10
0 4 12 8 16 20 28 24
00 00
1 5 13 9 17 21 29 25
01 01
3 7 15 11 19 23 31 27
11 11
2 6 14 10 18 22 30 26
10 10
AB = 10 (top) AB = 11 (3rd)
CD CD
EF 00 01 11 10 EF 00 01 11 10
32 36 44 40 48 52 60 56
00 00
33 37 45 41 49 53 61 57
01 01
35 39 47 43 51 55 63 59
11 11
34 38 46 42 50 54 62 58
10 10
cd
ef
Adj
Adj Term Adj
Adj AB = 10
cd
ef
Adj
AB = 11
cd
ef
Adj
Adj Term Adj
Adj AB = 01
cd
ef
Adj
AB = 00
cd
ef 00 01 11 10
48 52 60 56
1 1
00 32 1 16 36 1 20 44 1 28 40 1 24
0 4 12 8
49 53 61 57
AB 01 33 1 17 37 21 45 29 41 25
1
11 1 5
55
13
63
9
10 01 51
1 1 1
59
1
00 11 35 19 39 23 47 31 43 27
3 7 15 11
50 54 62 58
1 1
10 34 1 1 18 38 22 46 30 42 1 1 26
1 1
2 6 14 10
cd a´bc´d´e´ bce´f´
ef 00 01 11 10
48 52 60 56
1 1
00 32 1 16 36 1 20 44 1 28 40 1 24
0 4 12 8
49 53 61 57
01 1 abef
AB 33 17 37 21 45
1
29 41 25
11 1 5
55
13
63
9
10 01 51
1 1 1
59
1 d´ef´
00 11 35 19 39 23 47 31 43 27
3 7 15 11
50 54 62 58
1 1
10 34 1 1 18 38 22 46 30 42 1 1 26
1 1
2 6 14 10
A´BC´D´E´
BCE´F´
1 1 1
1 1
1 1 1 1
BCE´F´
ABEF
1 1 1
D´EF´
1 1 1 1
1 1 1 1
From Figures 1.37 and 1.38 we show the same resultant expression:
F(ABCDEF) = A′BC′D′E′ + BCE′F′ + ABEF + D′EF′. Term 1 (A′BC′D′E′)
is shown on layer two (AB = 01) only. This term has two combining 1s
in column CD = 00 and rows EF = 00 and 01. Since this term is only in
layer AB = 01, our layer portion of the term will be A′B. Since CD = 00,
then the next portion will be C′D′. And the final portion of this term shows
EF = 00 and 01, which will give us E′. Our Term 1 will be A′BC′D′E′. All
others will be derived in a similar fashion. Term 2 (BCE′F′) is shown in
both layers two and three. Since AB = 01 on layer two and AB = 11 on
layer three, only B variable will be in the term, giving us the final term of
BCE′F′. Term 3 is only seen on layer three, with AB = 11, so both A and
B variables will be in the term, resulting in ABEF term. Term 4 is shown
on all layers so no A or B variable will be in the term expression, resulting
in a term of D′EF′.
and maxterm expansions of F and F′. From the figures we derived the
minterm expansion of f as
Σm(0,2,3,4,8,10,11,15)
∏M(1,5,6,7,9,12,13,14).
AB
CD 00 01 11 10
0 4 12 8
00 1
1 5 13 9
01 1
3 7 15 11
11 1 1
2 6 14 10
10 1 1
The two terms in the first column are A′B′C′ and A′B′D. We could
minimize these two terms to be A′B′(C′ + D). The two terms in the right
bottom corner are ABC and ACD′. These two term can be minimized to
AC(B + D′).
When we simplify a function algebraically, the K-map can be used
as a guide to determine what steps to take. Remember the procedures
in Section 1.5 for K-map development and the K-map flow diagram in
Figure 1.23. This information can be very helpful in determining what
steps to take in minimizing your K-map expressions.
Looking at the consensus theorem when simplifying algebraic ex-
pressions can be somewhat tricky at times. For instance, we consider the
following expression:
Figure 1.40 shows the K-map for this function capturing the algebraic
expression.
Karnaugh Maps • 25
BC
DE 00 01 11 10
16 20 28 24
1
00 1 0 1 4 1 12 8
17 21 29 25
A 01 1 1 1 5 13 9
1/0 11 19 23
1
31
1
27
ABCD
1 3 1 7 15 11
18 22 30 26
1
10 1 2 1 6 114 10
BCE´
A´B´ B´CDE
We now can eliminate the first two terms, ABCD and B′CDE, using
the consensus theorem and now F reduces to the following:
If we look at the K-map in Figures 1.41 and 1.42 we can quickly identify
the terms and see which terms need to be eliminated from our expression
to prevent redundancy of minterms and to minimize the functional expres-
sion. Figure 1.41 shows the five terms after the inclusion of the ACDE term.
Figure 1.42 shows the reduced, minimized terms of our function F.
BC BC
DE 00 01 11 10 DE 00 01 11 10
16 20 28 24 16 20 28 24
1 1
00 1 0 1 4 1 12 8
00 1 0 1 4 1 12 8
17 21 29 25 17 21 29 25
A 01 1 1 1 5 13 9 A 01 1 1 1 5 13 9
ACDE (added)
1/0 11 19 23
1
31
1
27
ABCD 1/0 11 19 23
1
31
1
27
18
1 3
22
1 7
30
15
26
11
18
1 3
22
1 7
30
15
26
11
ABCD
1 1
10 1 2 1 6 114 10
BCE´ 10 1 2 1 6 114 10
BCE´
BC BC
DE 00 01 11 10 DE 00 01 11 10
16 20 28 24 16 20 28 24
1 1
00 1 0 1 4 1 12 8
00 1 0 1 4 1 12 8
17 21 29 25 ACDE 17 21 29 25
A 01 1 1 1 5 13 9 (added) A 01 1 1 1 5 13 9
19 23 31 27 19 23 31 27
1/0 11 1 1 1/0 11 1 1 ACDE
1 3 1 7 15 11
ABCD 1 3 1 7 15 11
18 22 30 26 18 22 30 26
1 1
10 1 2 1 6 114 10
BCE´ 10 1 2 1 6 114 10
BCE´
Function: ___________________
4. Function F (a,b,c) is plotted on the following K-map. From the
information given by the K-map, provide the function outputs for
the truth table.
INPUTS OUTPUTS
a b c F
A 0 0 0
BC 0 1 0 0 1
0 1 0
00 0 1
0 1 1
01 1 0 1 0 0
11 1 1 1 0 1
1 1 0
10 1 0 1 1 1
a. K-Map of Function F b. Truth Table of Function F
28 • DIGITAL SYSTEMS DESIGN, VOLUME II
a a
bc 0 1 bc 0 1
00 00
01 01
11 11
10 10
F1 F2
6. What is the difference in a minterm verses a maxterm, and how are
they plotted on a K-map?
7. Plot function F(x,y,z) = z + xz′ + y′z′ on the K-map.
x
yz 0 1
00
01
11
10
F
a
bc 0 1
00 1 1
01 1
11 1 1
10 1
F
Karnaugh Maps • 29
10. Given the K-map, write the minterm and maxterm expansions for F.
AB
CD 00 01 11 10
00 1 1 1
01 1 1
11 1
10 1 1
00 00
01 01
11 11
10 10
a b
12. For a four-variable K-map, which squares are adjacent to minterms
5, 9, and 13?
13. What is the functional expression for the given K-map?
ab
cd 00 01 11 10
00 1 1 1
01 1 1 1
11 1
10 1
14. For the given K-maps, find the minimum number of terms that will
cover all the 1s and write the minimum SOP for each function.
ab ab
cd 00 01 11 10 cd 00 01 11 10
00 1 1 00 1
01 1 1 1 01 1
11 1 1 11 1 1 1 1
10 1 10 1 1
F1 F2
*Note: Each function should have two groups of four 1s and two
groups of two 1s.
30 • DIGITAL SYSTEMS DESIGN, VOLUME II
15. Find three implicants that are not identified on the given K-map.
What is the minimum expression for the function?
ab
cd 00 01 11 10
00 1
01 1 1 1
11 1 1
10 1 1
ab
cd 00 01 11 10
00 1 1 1
01 1 1
11 1 1
10 1 1 1
ab
cd 00 01 11 10
00 1 1 1
01 1 1 1
11 1 1
10 1 1 1
ab
cd 00 01 11 10
00 10 14 112 18
01 X1 15 X13 19
11 X3 X7 X15 111
10 X2 16 114 110
Karnaugh Maps • 31
BC
DE 00 01 11 10
16 20 28 24
00 0 4 12 8
17 21 29 25
A 01 1 5 13 9
1/0 19 23 31 27
11 3 7 15 11
18 22 30 26
10 2 6 14 10
BC
DE 00 01 11 10
16 20 28 24
00 0 4 12 8
17 21 29 25
A 01 1 5 13 9
1/0 19 23 31 27
11 3 7 15 11
18 22 30 26
10 2 6 14 10
22. Plot the outputs from the truth table onto a K-map and simplify
the expression by using looping. Draw the logic gates for this
expression.
23. Plot the outputs from the truth table onto a K-map and simplify the
expression by using looping. Draw the logic gates for this expression.
INPUTS OUTPUTS
P Q F P A
0 0 1 Q 0 1 B 0 1
0 1 1 0 0 1 1
1 0 1
1 1 0 1 1 1 0
a a
bc 0 1 bc 0 1
00 00
01 01
11 11
10 10
F1 F2
A
BC 0 1
00 1 0
01 1 1 Minterms
11 1 0
10 0 0
a.
A
BC 0 1
00 1 0
01 1 1
11 1 0 Maxterms
10 0 0
b.
6. What is the difference in a minterm verses a maxterm, and how are
they plotted on a K-map?
Minterms deal with SOP expressions while maxterms deal with
POS expressions. Minterms are plotted using 1s. Maxterms are
plotted using 0s.
36 • DIGITAL SYSTEMS DESIGN, VOLUME II
x
yz 0 1
00 x xz´
yz 0 1
01
00 1 1 y´z´
11
01 1 1 z
10
11 1 1
F
10 0 1
a. K-Map
INPUTS OUTPUTS
a b c F
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Truth Table
8. For a three-variable K-map, what are the adjacent squares to square 3?
A
BC 0 1
00 0 4
01 1 5
11 3 7
10 2 6
a: Decimal Notation
Adjacent squares to square 3 are minterms 1, 2, and 7.
Karnaugh Maps • 37
a
bc 0 1
00 1 1 a
bc 0 1
01 1
00 1 1 ac´
11 1 1
01 1 a´b´
10 1
11 1 1 bc
F
10 1
F = a´b + ac´ + bc
10. Given the K-map, write the minterm and maxterm expansions for F.
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 1 1 1 00 0 4 12 8
01 1 1 01 1 5 13 9
11 1 11 3 7 15 11
10 1 1 10 2 6 14 10
K-Map of Minterms
F(A,B,C,D) = ∑m(0,4,6,7,9,12,13,14) − minterms (1s in K-map)
F(A,B,C,D) = ∏M(1,2,3,5,8,10,11,15) − maxterms (0s in K-map)
11. Plot the following functions on the given K-maps:
a. f(a,b,c,d) = ∑m(0,2,3,5,8,10,11,13,15)
b. f(a,b,c,d) = b′d′ + c′d + a′bd + acd′
ab ab
cd 00 01 11 10 cd 00 01 11 10
00 00 1 0 0 1
01 01 0 1 1 0
11 11 1 0 1 1
10 10 1 0 0 1
a.
ab ab 00 01 11 10
cd 00 01 11 10 cd
00 00 1 0 0 1 b´d´
01 01 1 1 1 1 c´d
a´bd
11 11 1 1 0 0
10 10 1 0 1 1 acd´
b.
38 • DIGITAL SYSTEMS DESIGN, VOLUME II
Adjacent to 5: ∑m(1,4,7,13)
Adjacent to 9: ∑m(1,8,11,13)
Adjacent to 13: ∑m(5,9,12,15)
13. What is the functional expression for the given K-map?
ab ab
cd 00 01 11 10 cd 00 01 11 10
00 1 1 1 00 1 1 1 b´c´
01 1 1 1 01 1 1 1
11 1 11 1 ab
10 1 10 1
*Note: Each function should have two groups of four 1s and two
groups of two 1s.
ab bc´ ab 00 01 11 10
cd 00 01 11 10 cd
00 1 1 00 1 ab´d´
01 1 1 1 ac´d 01 1 a´bd
11 1 1 a´cd 11 1 1 1 1
10 1 a´b 10 1 1
b´c cd
f1 f2
Karnaugh Maps • 39
15. Find three implicants that are not identified on the given K-map.
What is the minimum expression for the function?
ab 00 01 11 10
cd
00 1
01 1 1 1
11 1 1
10 1 1
ab 00 01 11 10
cd
00 1
01 1 1 1
11 1 1 bd
10 1 1 bc
bc´d
ab
cd 00 01 11 10
00 1 1 1
01 1 1
11 1 1
10 1 1 1
ab ab a´b´
cd 00 01 11 10 cd 00 01 11 10
00 1 1 1 00 1 1 1 bc´
01 1 1 1 01 1 1 1
11 1 1 11 1 1 b´cd
10 1 1 1 10 1 1 1 bcd´
AB
CD 00 01 11 10
00 10 14 112 18
01 X1 15 X13 19
11 X3 X7 X15 111
10 X2 16 X14 110
All 1s and Xs that are adjacent to 15 are X1, 14, X7, and X13.
20. Give the minterms of a SOP expression for the function
f(a,b,c,d,e) = ∑m(0,4,11,15,16,17,20,21) for the following K-map.
BC
DE 00 01 11 10
16 20 28 24
00 0 4 12 8
17 21 29 25
A 01 1 5 13 9
1/0 11 19 23 31 27
3 7 15 11
18 22 30 26
10 2 6 14 10
Karnaugh Maps • 41
BC
DE 00 01 11 10
16 1 201 28 24
00 1 0 14 12 8 a´b´d´e
21 29 25
17
1 1 ab´d´
A 01 1 5 13 9
1/0 11 19 23 31 27
a´bde
3 7 1 15 111
18 22 30 26
10 2 6 14 10
BC
DE 00 01 11 10
16 20 28 24
00 0 4 12 8
17 21 29 25
A 01 1 5 13 9
1/0 11 19 23 31 27
3 7 15 11
18 22 30 26
10 2 6 14 10
BC
DE 00 01 11 10
16 20 28 24
X X 1
00 0 4 12 8
17 21 29 25
A 01
X 1
1 1 5 13 9
1/0 11 19 23
X
31
1
27
1 3 1 7 1 15 X 11
18 1 22 1 30 X 26 X
10 2 6 14 10
b. Find the three 1s and Xs adjacent to 118. Can these all be looped
with a single loop?
A=1 → 122, X16, X26 → non on A = 0 layer
c. Find the 1s and Xs adjacent to 124. Loop the essential prime
implicants that cover 124.
A=1 → X16, X26 → non on A = 0 layer
d. Find the 1s and Xs adjacent to 13. Loop the essential prime im-
plicants that cover 13.
A = 0 → 17, X11 → non on A = 1 layer
42 • DIGITAL SYSTEMS DESIGN, VOLUME II
BC
DE 00 01 11 10
16 20 28 24
X X 1
00 0 4 12 8
17 21 29 25
X
A 01
1
1 15 13 9
1/0 11 19 23
X
31
1
27
1 3 17 1 15 X 11
18 1 221 30 X 26 X
10 2 6 14 10
INPUTS OUTPUTS
a b c X
0 0 0 1 a
0 0 1 1 bc 0 1
0 1 0 1 00 1
0 1 1 0
01 1 a´b´
1 0 0 0
1 0 1 0 11
1 1 0 0 a´c´
10 1
1 1 1 0
a.
Truth Table K-Map
U3 U1
2 1 U4 2
a 1
3 U12
2 1
b NOT 2
1
AND2 3 a´b´ + a´c´
NOT U2
U5
2 OR2
1
2 1 3
c
NOT AND2
Logic Diagram
Karnaugh Maps • 43
INPUTS OUTPUTS
a b c X
0 0 0 1 a
0 0 1 1 bc 0 1
0 1 0 1 00 1 ac´
0 1 1 0
01 1 1 b´c
1 0 0 0
1 0 1 0 11
1 1 0 0
10
1 1 1 0
b.
Truth Table K-Map
U7
U8 2
a 1
3 U11
2 1
c ac´ 2
1
U10 AND2 3 ac´ + b´c
NOT U9 b´c
2 1 2 OR2
b 1
3
NOT AND2
Logic Diagram
INPUTS OUTPUTS
a b c X
0 0 0 1 a
0 0 1 1 bc 0 1
0 1 0 0 00 1 a´c´
0 1 1 1
01 1 X
1 0 0 0
1 0 1 X 11 1 1 c
1 1 0 0
10
1 1 1 1
c.
Truth Table K-Map
U13 U14
2 1 U15 2
a 1
3 U16
2 1
c NOT 2
1
AND2 3 a´c´ + c
NOT
OR2
Logic Diagram
44 • DIGITAL SYSTEMS DESIGN, VOLUME II
INPUTS OUTPUTS
a b c X
0 0 0 1 a
0 0 1 1 bc 0 1
0 1 0 0 00 1 X b´
0 1 1 0
01 1 X
1 0 0 X
1 0 1 X 11
1 1 0 0
10
1 1 1 0
d.
Truth Table K-Map
U5 U1
2 1 U6 2
a 3 1
4
2 1 U7
b NOT
AND3
2 1
c NOT
U2
NOT
2
3 1
4
U8
2
AND3 3
1
b´
4
U3 5
OR4
2
3 1
4
AND3
U4
2
3 1
4
AND3
Logic Diagram
Karnaugh Maps • 45
23. Plot the outputs from the truth table onto a K-map and simplify the
expression by using looping. Draw the logic gates for this expression.
INPUTS OUTPUTS
a b c d X
0 0 0 0 1
0 0 0 1 1
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0 AB
1 0 1 0 0 CD 00 01 11 10
1 0 1 1 0 00 1 a´b´c
1 1 0 0 0 01 1
1 1 0 1 0
11 1 abc
1 1 1 0 1
1 1 1 1 1 10 1
a.
Truth Table K-Map
U3 U1
2 1 U4 2 a´b´c´
a 3 1
4
2 1 U5 U6
b NOT
AND3 2
2 1 1
c NOT 3 a´b´c´ + abc
NOT U2 OR2
2 abc
3 1
4
AND3
Logic Diagram
46 • DIGITAL SYSTEMS DESIGN, VOLUME II
INPUTS OUTPUTS
a b c d X
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0 AB
1 0 1 0 1 CD 00 01 11 10
1 0 1 1 1 00 1 ab
1 1 0 0 1 01 1
1 1 0 1 1
11 1 1 ab´c
1 1 1 0 1
1 1 1 1 1 10 1 1
b.
Truth Table K-Map
a
U10 U7
2 1 1 a´b´c´
b
U9
AND3 2
NOT 1
c 3 ab´c´ + ab
U8 OR2
2 ab
1
3
AND2
Logic Diagram
INPUTS OUTPUTS
a b c d X
0 0 0 0 1
0 0 0 1 1
0 0 1 0 X
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 1
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0 AB
1 0 1 0 1 CD 00 01 11 10
1 0 1 1 1 00 1 1 abc´
1 1 0 0 1 a´b´c´ 01 1 1
1 1 0 1 1
11 1 1 acd
1 1 1 0 1
1 1 1 1 1 10 x 1 1 1 cd´
c.
Truth Table K-Map
Karnaugh Maps • 47
U3 U1
2 1 U4 2
a 1 a´b´c´
3
4
2 1 U5
b NOT
AND3
2 1
c NOT
NOT U2
2
3 1 abc´
4
AND3 U9
2 a´b´c´ +
3
1 abc´ +
4
U6 5 acd+
OR4 cd´
2
3 1 acd
d 4
AND3
U7
2
1 cd´
U8 3
2 1
AND2
NOT
Logic Diagram
INPUTS OUTPUTS
a b c d X
0 0 0 0 X
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0 AB
1 0 1 0 1 CD 00 01 11 10
1 0 1 1 0 00 1 1 ab
a´b´c´d´
1 1 0 0 1 01 1 1
1 1 0 1 1
11 1
1 1 1 0 1
1 1 1 1 1 10 1 1 acd
d.
Truth Table K-Map
48 • DIGITAL SYSTEMS DESIGN, VOLUME II
U5
U1
2 1 2
a 3
U6 1 a´b´c´d´
1 4
2 NOT 5
b
U7
1 AND4
2 NOT
c
U8
1
2 NOT
d
U4
NOT U2
2 2 a´b´c´d´ +
3 1 acd´ 3 1 acd´ +
4 4
ab
AND3 OR3
U3
2
1 ab
3
AND2
Logic Diagram
Index
A E
American Standard Code for Exclusive-NOR circuits, 80–83
Information Interchange Exclusive-OR circuits, 80–83
(ASCII), 84
Analog-to-digital converter (ADC)
F
circuits, 83
Five-variable K maps, 15–19
ASCII. See American Standard
Four-bit binary down-count
Code for Information
operation, 97
Interchange
Four-bit binary up-count operation,
96
B 4-bit parity generator, 85
BCD up-count operation, 98 Four-variable K maps, 8–11
C
G
Carry out circuits, 93–99
Gray code, 1
Cascaded BCD counters, 95
Combinational logic circuits
carry out circuits, 93–99 I
data selection/distribution circuits, Implicants, using essential prime,
91–93 11–15
exclusive-OR and exclusive-NOR Incomplete specified function
circuits, 80–83 simplification, 57–58
introduction, 79 Input/output memory (IO/M′), 100
parity circuits, 83–91 Input/Output read operation
ROM address decoder circuits, (IOR′), 100
99–101 Input/Output write operation
Consensus theorem, 7 (IOW′), 100
D K
Data selection circuits, 91–93 Karnaugh maps
Digital-to-analog converter (DAC) five-variable, 15–19
circuits, 83 four-variable, 8–11
Distribution circuits, 91–93 introduction, 1–2
130 • Index
P T
Parity circuits, 83–91 Terminal count, 93
Prime implicant Three-variable K maps, 4–8
chart, 53–57 Two-variable K maps, 3–4
determination, 49–53
W
Q Write (WR′), 100
Quadruple exclusive-OR
circuit, 82 X
Quine, W. V., 2 X-NOR expression, 82
Quine–McCluskey method, 2 X-OR expression, 81
OTHER TITLE FROM OUR ENGINEERING
TECHNOLOGY COLLECTION
Kenneth Reid, Editor
• A Simple Guide to Understanding Compressors by James M. Watterson
FORTHCOMING TITLES
• Rotating Equipment: Maintenance and Troubleshooting by James M. Watterson
• Tribology: A Simple Guide To The Study of Friction by James M. Watterson
• Digital Systems Design, Volume I: Numbering Systems and Logical Operations
by Larry Massengale
• Digital Systems Design, Volume III: Latch–Flip-Flop Circuits and Characteristics
of Digital Circuits by Larry Massengale
Momentum Press is one of the leading book publishers in the field of engineering,
mathematics, health, and applied sciences. Momentum Press offers over 30 collections,
including Aerospace, Biomedical, Civil, Environmental, Nanomaterials, Geotechnical,
and many others.
Momentum Press is actively seeking collection editors as well as authors. For more
information about becoming an MP author or collection editor, please visit
http://www.momentumpress.net/contact
The Momentum Press digital library is very affordable, with no obligation to buy in future years.