You are on page 1of 67

DIGITAL SYSTEMS

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

Copyright © Momentum Press®, LLC, 2019.

All rights reserved. No part of this publication may be reproduced, stored


in a retrieval system, or transmitted in any form or by any means—­
electronic, mechanical, photocopy, recording, or any other—except for
brief quotations, not to exceed 250 words, without the prior permission
of the publisher.

First published in 2019 by


Momentum Press®, LLC
222 East 46th Street, New York, NY 10017
www.momentumpress.net

ISBN-13: 978-1-94944-913-6 (print)


ISBN-13: 978-1-94944-914-3 (e-book)

Momentum Press Engineering Technology Collection

Cover and interior design by S4Carlisle Publishing Services Private Ltd.,


Chennai, India

First edition: 2019

10 9 8 7 6 5 4 3 2 1

Printed in the United States of America


Abstract

Working as an engineer with advanced weapon systems for more than


25 years, it was crucial to understand the fundamentals of digital systems
design development methods and combinational logic circuits. Whether as
a technician or engineer, these fundamentals are the basics of engineering
and are essential in interpreting logic gate functionality. The intent of this
book is to provide much more information than most commercial engi-
neering references currently offer. In Chapter 1, Karnaugh Maps (K-Maps)
with two, three, four, five, and six variables are discussed along with using
essential prime implicants, switching functions, and other uses and forms
of K-Maps. Chapter 2 discusses an introduction to the Quine-McCluskey
Method, Prime Implicant Determination, the Prime Implicant Chart, and
the Incomplete Specific Function Simplification. Chapter 3 provides a
broad array of Combinational Logic Circuitry, discussing topics such as
Exclusive-OR, Exclusive-NOR, Parity, Data Selection/Distribution, Carry
Out, and ROM Address Decoder circuits. The chapter review and chapter
answer sections provide an extensive number of questions with compre-
hensive insight to showing how to attain the answers. This book will be an
extremely valuable asset for technical and engineering students studying
digital system design.

KEYWORDS

combinational logic circuits; Karnaugh maps; prime implicant;


Quine-McCluskey method; switching function
Contents

List of Figures  ix

List of Tables xiii

Acknowledgments xv

Chapter 1 Karnaugh Maps 1


1.1. Introduction 1
1.2. Minimum Forms of Switching Functions 2
1.3. Two-Variable K-Maps 3
1.4. Three-Variable K-Maps 4
1.5. Four-Variable K-Maps 8
1.6. Using Essential Prime Implicants 11
1.7. Five-Variable K-Maps 15
1.8. Six-Variable K-Maps 19
1.9. Other Uses and Forms of K-Maps 23
1.10. Chapter 1 Review Questions 27
1.11. Chapter 1 Review Answers 34
Chapter 2 Quine–McCluskey Method 49
2.1. Introduction 49
2.2. Prime Implicant Determination 49
2.3. Prime Implicant Chart 53
2.4. Incomplete Specified Function Simplification 57
2.5. Chapter 2 Review Questions 59
2.6. Chapter 2 Review Answers 60
Chapter 3 Combinational Logic Circuits 79
3.1. Introduction 79
3.2. Exclusive-OR and Exclusive-NOR Circuits 80
3.3. Parity Circuits 83
3.4. Data Selection/Distribution Circuits 91
3.5. Carry Out Circuits 93
viii  •  CONTENTS

3.6. ROM Address Decoder Circuits 99


3.7. Chapter 3 Review Questions 102
3.8. Chapter 3 Review Answers 111
Bibliography 125
About the Author 127
Index 129
List of Figures

Figure 1.1. Two-variable K-map template 3


Figure 1.2. Truth table and K-map processes for function F = A 3
Figure 1.3. Truth table and K-map processes for function F = B 4
Figure 1.4. Truth table and K-map processes for function
F = A′B′ + AB 4
Figure 1.5. Three-variable truth table and K-map 5
Figure 1.6. Binary and decimal notations of three-variable K-map 5
Figure 1.7. Truth Table and Minterms and maxterms of K-map 6
Figure 1.8. Product terms plotted on K-map 6
Figure 1.9. Simplification of three-variable function 7
Figure 1.10. Simplification of three-term function 7
Figure 1.11. Two or more solutions to a given function 8
Figure 1.12. Minterms of a four-variable K-map 8
Figure 1.13. Plot of a′cd + ab + d′ 8
Figure 1.14. Function F1 = Σm(1,3,4,5,10,12,13) 9
Figure 1.15. Function F2 = Σm(0,2,3,5,6,7,8,10,11,14,15) 9
Figure 1.16. Function F = Σm(1,3,5,7,9) + Σd(6,12,13) 9
Figure 1.17. Identifying minterms in SOP expression 10
Figure 1.18. Identifying maxterms in POS expression 11
Figure 1.19. Implicants of function F 12
Figure 1.20. Minimum solution of prime implicants 12
Figure 1.21. Systematic approach in selecting prime implicants 13
Figure 1.22. Minterm coverage by prime implicants 13
Figure 1.23. K- map flow diagram 14
Figure 1.24. Utilizing the K-map flow diagram procedure 15
x  •   List of Figures

Figure 1.25. Five-variable K-map method 1 16


Figure 1.26. Five-variable K-map method 2 16
Figure 1.27. Five-variable K-map adjacency 16
Figure 1.28. Five-variable K-map
F(A,B,C,D,E) = ∑m(0,1,4,5,13,15,20,21,22,
23,24,26,28,30,31) 17
Figure 1.29. Five-variable K-map determined by layer for
F(A,B,C,D,E) = ∑m(0,1,4,5,13,15,20,
21,22,23,24,26,28,30,31) 17
Figure 1.30. Five-variable K-map for
F(A,B,C,D,E) = ∑m(0,1,3,8.9,14,15,16,17,
19,25,27,31) 18
Figure 1.31. Five-variable K-map determined by layer for
F(A,B,C,D,E) = ∑m(0,1,3,8.9,14,15,16,17,
19,25,27,31) 19
Figure 1.32. Six-variable K-map layer orientation 20
Figure 1.33. Six-variable K-map minterm layer
orientation method 1 20
Figure 1.34. Six-variable K-map minterm layer
orientation method 2 21
Figure 1.35. Six-variable K-map top
(A = 10) to bottom (A = 00) layer 21
Figure 1.36. Six-variable K-map
F(A,B,C,D,E) = ∑m(2,10,13,16,17,18,24,26,28,
34,36,42,50,51,55,56,58,59,60,63) Method 1 22
Figure 1.37. Minimizing the six-variable K-map expression using
method 1 − F(ABCDEF) = A′BC′D′E′ + BCE′F′ +
ABEF + D′EF′ 22
Figure 1.38. Minimizing the six-variable K-map expression using
method 2 − F(ABCDEF) = A′BC′D′E′ + BCE′F′ +
ABEF + D′EF′ 23
Figure 1.39. Common terms in a K-map 24
Figure 1.40. K-map of F = ABCD + B′CDE + A′B′ + BCE′ 25
Figure 1.41. K-map of F = ABCD + B′CDE + A′B′ + BCE′ + ACDE 25
Figure 1.42. Reducing to F = A′B′ + BCE′ + ACDE 26
List of Figures  •   xi

Figure 2.1. Quine–McCluskey groups arrangement of minterms 50


Figure 2.2. Quine–McCluskey method solution confirmed
by K-maps expressions 53
Figure 2.3. K-map representation for f = ∑m(2,3,7,9,11,13,14)
+ ∑d(1,4,8,10,15) 58
Figure 3.1. Exclusive-OR gate 80
Figure 3.2. Half adder 80
Figure 3.3. X-OR Gate and Inverter 81
Figure 3.4. Exclusive-NOR gate 81
Figure 3.5. Quadruple exclusive-OR gate 82
Figure 3.6. Parity system simplified block diagram 84
Figure 3.7. 4-Bit parity generator 85
Figure 3.8. 9-Bit odd/even parity generator/checker 87
Figure 3.9. Parity generator—odd parity 87
Figure 3.10. Parity checker—odd parity 87
Figure 3.11. Parity system block diagram 91
Figure 3.12. Parity checker—odd parity with bit error 91
Figure 3.13. Data selector logic circuit 92
Figure 3.14. Data distributor logic circuit 93
Figure 3.15. Cascaded binary counters 94
Figure 3.16. Cascaded BCD counters 95
Figure 3.17. Carry out control circuit—four-bit binary up-count
operation 96
Figure 3.18. Carry out control circuit—four-bit binary down-count
operation 97
Figure 3.19. Carry out control circuit—BCD up-count operation 98
Figure 3.20. ROM address decoder logic circuit 100
Figure 3.21. Memory and IO read/write signals 101
List of Tables

Table 2.1. Quinn-McCluskey procedure 52


Table 2.2. Quine–McCluskey chart of Table 2.1 54
Table 2.3. Selecting prime implicant for minimum solution 54
Table 2.4. Quine–McCluskey procedure for
f = ∑m(0,1,2,5,6,7,8,9,10,13,14,15) 55
Table 2.5. Prime implicant chart for
f = ∑m(0,1,2,5,6,7,8,9,10,13,14,15) 56
Table 2.6. First crossed out prime implicant solution for
f = ∑m(0,1,2,5,6,7,8,9,10,13,14,15) 56
Table 2.7. Second crossed out prime implicant solution for
f = ∑m(0,1,2,5,6,7,8,9,10,13,14,15) 57
Table 2.8. Prime implicant solution for f = ∑m(2,3,7,9,11,13,14) 58
Table 2.9. Crossed out prime implicant solution for
f = ∑m(2,3,7,9,11,13,14) 58
Table 3.1. Combinational circuit type and functionality 79
Table 3.2. Inputs and outputs for X-OR and X-NOR functionality 83
Table 3.3. Final summation of D0 − D3 data stream 86
Table 3.4. Function table for parity checker
(diagram in Figure 3.10) 88
Table 3.5. Data distribution truth table 92
Table 3.6. Sequence count of carry out control circuit—binary
up-counter 97
Table 3.7. Sequence count of carry out control circuit—binary
down-counter 98
xiv  •   List of Tables

Table 3.8. Sequence count of carry out control circuit—BCD


up-counter 99
Table 3.9. ROM address decoder logic circuit functionality 99
Table 3.10. Combinational circuit type and functionality 102
Table 3.11. XOR and X-NOR Function Table 103
Table 3.12. Final summation of D0 − D3 data stream 104
Table 3.13. Data distribution truth table 106
Acknowledgments

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.

1.2. MINIMUM FORMS OF SWITCHING FUNCTIONS

When logic functionality is realized through either SOP or POS or other


gate expression options, the cost of the gate realization must be taken into
account. K-map techniques help to limit the cost by minimizing two-level
network AND and OR gate designs. The key to finding two-level gate
networks is minimizing the gate expressions.
Either SOP minterm or POS maxterm expansions can often be ob-
tained by combining terms to eliminate as many literals as possible. Ad-
ditionally, the reduction of redundant terms by using applicable theorems
can also reduce the expressions. However, the result of these two processes
sometimes does not lead to a reduction in terms depending on the order
in which the terms might have been combined. The following shows an
example of how the first reduction of terms does not lead to minimum
terms; however, reducing the terms in a different order could result in the
minimum reduction of terms.
Find the minimum SOP expression:

F(a,b,c) = m(0,1, 2, 5, 6, 7)

F = a´b´c´+ a´b´c + a´bc´ + ab´c + abc´ + abc

= a´b´ + b´c + bc´ + ab

Not minimum

F = a´b´c´+ a´b´c + a´bc´ + ab´c + abc´ + abc

= a´b´ + bc´ + ac

Minimum expression.
Karnaugh Maps  •   3

1.3. TWO-VARIABLE K-MAPS

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.1.  Two-variable K-map template

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.2.  Truth table and K-map processes for function F = A

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

a: Truth Table b: Associated K-Map c: Minterms of Function d: Minimum Expression

Figure 1.3.  Truth table and K-map processes for function F = 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

1.4. THREE-VARIABLE K-MAPS

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

000 K-map cell location our function of F = 1. Similarly, at minterm ABC


or 111 K-map cell location our function of F = 0.

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

a: Truth Table b: Associated K-Map

Figure 1.5.  Three-variable truth table and K-map

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

01 001 101 100 is 01 1 5


Adjacent
11 011 111 To 110 11 3 7

10 010 110 10 2 6

a: Binary Notation b: Decimal Notation

Figure 1.6.  Binary and decimal notations of three-variable K-map

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

The maxterm expansion can be plotted on the K-map by placing 0s in


the cells and filling in the remaining cells with 1s. Figure 1.7b shows the
maxterms of F(a,b,c) = M1M2M6.

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

a: Truth Table b: Minterms/Maxterms of K-Map

Figure 1.7.  Truth Table and Minterms and maxterms of K-map

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´

Figure 1.8.  Product terms plotted on K-map

Figure 1.9 explains how a value of a function can be simplified using


a K-map. First plot the function on the K-map as shown in Figure 1.9a.
Terms in the K-map are adjacent to each other and differ only by one vari-
able. They can be combined using the XY′ + XY = X theorem. As shown
in Figure 1.9b, terms a′b′c and a′bc can be combined as a′c and terms a′b′c
and ab′c combine as b′c.
Karnaugh Maps  •   7

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

F = Σm (1,3,5) F = a´c + b´c


a: Plot of minterms b: Simplified terms of F

Figure 1.9.  Simplification of three-variable function

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:

XY + X′Z + YZ = XY + X′Z + (X + X′)YZ


= (XY + XYZ) + (X′Z + X′YZ)
= XY(1 + Z) + X′Z (1 + Y)
= XY + X′Z

Figure 1.10 shows the consensus theorem: XY + X′Z + YZ = XY +


X′Z.

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

Figure 1.10.  Simplification of three-term function

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.11.  Two or more solutions to a given function

1.5. FOUR-VARIABLE K-MAPS

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

Figure 1.12  Minterms of a four-variable K-map

We will plot the following function F(a,b,c,d) = a′cd + ab + d′ in


Figure 1.13 as follows:

AB
CD 00 01 11 10
00 1 1 1 1
01 1 ab

11 1 1 1
a´cd 10 1 1 1 1

Figure 1.13.  Plot of a′cd + ab + d′


Karnaugh Maps  •   9

Given the function F1 = Σm(1,3,4,5,10,12,13) plot the minterms and


solution for the function. See Figure 1.14.

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´

Solution: F1 = bc′ + a′b′d + ab′cd′

Figure 1.14. Function F1 = Σm(1,3,4,5,10,12,13)

Given the function F2 = Σm(0,2,3,5,6,7,8,10,11,14,15) plot the mint-


erms and solution for the function. See Figure 1.15.

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

Solution: F2 = c + b′d′ + a′bd

Figure 1.15. Function F2 = Σm(0,2,3,5,6,7,8,10,11,14,15)

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.16. Function F = Σm(1,3,5,7,9) + Σd(6,12,13)


10  •   DIGITAL SYSTEMS DESIGN, VOLUME II

We have explained the use of four-variable K-maps with SOP expres-


sions. We will also show how the four-variable K-maps can be used with
POS expressions. Since the 0s of F are 1s of F1, the minimum SOP for F1
can be determined by looping the 0s on a map of F. The complement of
the minimum SOP for F1 is then the minimum POS for F. The following
explains the procedure for

F = x′z′+ wyz + w′y′z′ + x′y.

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´)

= (wx´z´ + w´x´z´)(y + y´) + wxyz + wx´yz + w´xy´z´ + w´x´y´z´

+ (wx´y + w´x´y)(z + z´)

= wx´yz´ + w´x´yz´ + wx´y´z´ + w´x´y´z´

+ wxyz + wx´yz + w´xy´z´ + w´x´y´z´

+ wx´yz + w´x´yz + wx´yz´ + w´x´yz´

= m10 + m2 + m8 + m0

+ m15 + m11+ m4 + m0

+ m11 + m3 + m10 + m2

Σm(0,2,3,4,8,10,11,15) All these will be 1s on the K-Map

and

∏M(1,5,6,7,9,12,13,14) All these will be 0s on the K-Map

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

Σm(0,2,3,4,8,10,11,15) − F(w,x,y,z) = x′z′ + wyz + w′y′z′ + x′y

Figure 1.17.  Identifying minterms in SOP expression


Karnaugh Maps  •   11

∏M(1,5,6,7,9,12,13,14) − F′(w,x,y,z) = y′z + wxz′ + w′xy

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´

Figure 1.18.  Identifying maxterms in POS expression

The minimum POS expression for F would be as follows:

DeMorgan’s Theorem:

F ′ = y′z + wxz′ + w′xy SOP f ′(0’s) expression


(y′ + z)(w + x + z′)(w′ + x + y) Change the sign
(y′′ + z′)(w′ + x′ + z′′)(w′′ + x′ + y′) NOT the individual variable
((y′′ + z′)(w′ + x′ + z′′)(w′′ + x′ + y′))′ NOT the entire expression
((y + z′)(w′ + x′ + z)(w + x′ + y′))′ Cancel all double NOTs

1.6. USING ESSENTIAL PRIME IMPLICANTS

Any single 1 or group of 1s that can be combined on a K-map as a func-


tion can be represented as a product term, which is called an implicant
of that function. Figure 1.19 shows several implicants of function F.
A product term implicant is called a prime implicant if it cannot be com-
bined with another term to eliminate a variable. Figure 1.19 shows acd,
ab′c, and a′c′ as prime implicants—they cannot be combined with an-
other term to eliminate a variable. However, implicant ab′c′d′ is not a
prime implicant because it can be combined with ab′cd′. Additionally,
a′b′c′ and a′bc′ are not prime implicants because they are combined to
form a′c′.
12  •   DIGITAL SYSTEMS DESIGN, VOLUME II

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

Figure 1.19.  Implicants of function F

As shown in Figure 1.19, all of the prime implicants can be obtained


from the K-map. A single 1 such as ab′c′d′ could represent a prime impli-
cant if it does not have any adjacent 1s next to it on the map. Two adjacent
1s could be a prime implicant if they are not contained in a group of four
1s, four adjacent 1s could be a prime implicant if they are not contained in
a group of eight 1s, and so on.
A SOP expression containing a term that is not a prime implicant
cannot be a minimum SOP. This is due to a nonprime term being identified
with a function on the K-map. The expression could be simplified by com-
bining the identified term with additional minterms. In order to find the
minimum SOP on a map, we must find a minimum number of prime im-
plicants that cover all the 1s on the map. As we can see from Figure 1.20,
there are six prime implicants. We can minimize the solution of the SOP
by selecting only three of these prime implicants, which will cover all of
the 1s on the map.
Minimum Solution: a′c + bc′+ ab′d
All Prime Implicants: a′c + bc′+ ab′d + a′b + b′cd + ac′d

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

Figure 1.20.  Minimum solution of prime implicants


Karnaugh Maps  •   13

A systematic approach to selecting prime implicants is required. If


prime implicants are selected in the wrong order, the minimum solution
might not be achieved. Figure 1.21 shows an example of selecting impli-
cants that led to two different results. In Figure 1.21a implicant cd is se-
lected, which is not needed since all 1s have been covered by the other prime
implicants. Figure 1.21b shows the correct selection of prime implicants.

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

f = a´c + b´c+ bd + cd f = a´c + b´c + bd


a: Wrong Selection Order b: Correct Selection Order

Figure 1.21.  Systematic approach in selecting prime implicants

It is important to mention that some of the minterms are covered only by


one prime implicant, but other minterms are covered by two or more impli-
cants. For example, minterms m5, m6, and m10 are covered only by one prime
implicant. If there is only one prime implicant that covers the 1, that prime
implicant is essential. Minterm m7 is covered by three prime implicants.
If there are two or more prime implicants that cover the 1, we cannot say
whether these prime implicants are essential or not without further checking.
For simple map orientation we can locate essential prime implicants by in-
spection. For more complicated map orientation a more systematic approach
is needed to find essential prime implicants, particularly in five- and six-
variable K-maps. These minterms and implicants are shown in Figure 1.22.

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

Figure 1.22.  Minterm coverage by prime implicants


14  •   DIGITAL SYSTEMS DESIGN, VOLUME II

The following procedure should be used to obtain a minimum SOP


from a K-map:
1. Choose a minterm (a 1) that has not yet been covered.
2. Find all 1s and Xs adjacent to that minterm. (Check the n adjacent
squares on an n-variable map.)
3. If a single term covers the minterm and all of the adjacent 1s and Xs,
then that term is an essential prime implicant, so select that term. (Note
that don’t cares are treated like 1s in Steps 2 and 3 but not in Step 1.)
4. Repeat Steps 1, 2, and 3 until all essential prime implicants have
been chosen.
5. Find a minimum set of prime implicants that cover the remaining 1s
on the map. (If there is more than one such set, choose a set with a
minimum number of literals.)
Figure 1.23 shows a flow diagram for this procedure:

Figure 1.23.  K-map flow diagram


Karnaugh Maps  •   15

We applied the aforementioned flow diagram procedure to the K-map


in Figure 1.24. Starting with 14 , the adjacent 1s and Xs are X0, 15, and 16.
None of these squares are covered by any single term, so there is no es-
sential prime implicant. However, looking at 16, 14 and X7 are adjacent
squares covered by the a′b term and is an essential prime implicant. 113
is adjacent to 15, X15, and 19, which are not covered by a single term and
are not considered to be an essential prime implicant. 18 and 19 are not an
essential prime implicant. However, 110 has 18 adjacent to it, so ab′d′ is an
essential prime implicant that covers both 110 and 18. We have chosen two
essential prime implicants so far of a′b and ab′d′. With these chosen we
observe the remaining minterms of 113 and 19, which becomes the essential
prime implicant of ac′d.

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´

Figure 1.24.  Utilizing the K-map flow diagram procedure

1.7. FIVE-VARIABLE K-MAPS

A five-variable K-map can be displayed with two four-variable K-maps,


one layer on top of the other. The bottom layer would have minterms 0
through 15 while the top layer would have minterms 16 through 31. The
bottom layer would be labeled as A while the top layer would be labeled
as - A. Figure 1.25 shows the K-map represented in two dimensions, where
each cell is divided diagonally, with the bottom layer below the diagonal
and the top layer above the diagonal. The minterms in the top and bottom
layers will be in the same format as a four-variable K-map. However, the
two minterms in each cell will differ in only one variable and can be com-
bined. Another method of representation of the lower and upper is shown
in Figure 1.26. This figure shows two four-variable K-maps with either A
layer or -A representation. Both methods derive the same minterms for
five-variable K-maps. Figure 1.27 shows how each minterm from the bot-
tom layer is adjacent to the top layer.
16  •   DIGITAL SYSTEMS DESIGN, VOLUME II

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

Figure 1.25.  Five-variable K-map method 1

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

Figure 1.26.  Five-variable K-map method 2

Adjacency Between Layers


Bottom Layer Top Layer
Minterm Minterm
00000 10000
00001 10001
00010 10010
00011 10011
00100 10100
00101 10101 bc
de
00110 10110
00111 10111 Adj
01000 11000 Adj Term Adj
01001 11001 Adj A=1
bc
01010 11010 de
01011 11011
01100 11100
01101 11101 Adj
01110 11110 A=0
01111 11111

Figure 1.27.  Five-variable K-map adjacency

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)

Find all prime implicants.

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

Figure 1.28  Five-variable K-map F(A,B,C,D,E) = ∑m(0,1,4,5,13,15,20,21,22,


23,24,26,28,30,31)

Figure 1.28 shows four prime implicants can be identified easily.


However, the fifth prime implicant is not recognized as easily. This prime
implicant is b′cd′ on both layers A = 0 and A = 1. This prime implicant
might be easier to identify using Figure 1.29.

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

Figure 1.29  Five-variable K-map determined by layer for F(A,B,C,D,E) =


∑m(0,1,4,5,13,15,20,21,22,23,24,26,28,30,31)

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:

F = a′b′d′ + abe′ +acd +a′bce + ab′c

F = P1 + P2 + P3 + P4 + plus last term

or

F = a′b′d′ + abe′ +acd +a′bce + b′cd′

F = P1 + P2 + P3 + P4 + plus last term

We will minimize the following five-variable K-map function as


shown in Figure 1.30.

F(A,B,C,D,E) = ∑m(0,1,3,8.9,14,15,16,17,19,25,27,31)

Find all prime implicants.

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

Figure 1.30  Five-variable K-map for F(A,B,C,D,E) = ∑m(0,1,3,8.9,14,15,16,17,


19,25,27,31)

Figure 1.30 shows five prime implicants can be identified easily.


However, the sixth prime implicant is not recognized as easily. This impli-
cant involves either 1-9-17-25 or 17-19-25-27. We will look at both layers
A = 0 and A = 1 in Figure 1.31 to determine if visual recognition is easier
for the identification of these two implicants.
Karnaugh Maps  •   19

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

Figure 1.31  Five-variable K-map determined by layer for F(A,B,C,D,E) =


∑m(0,1,3,8.9,14,15,16,17,19,25,27,31)

Figure 1.31 allows a better visual representation of this function.


Minterms 1-9-17-25 produce a term of ac′e while minterms 17-19-25-27
produce a term of c′d′e. Either of these terms could be used to derive
the minimum SOP expression. The minimum solution can be written as
follows:

F = b′c′d′ + b′c′e + a′c′d′ + a′bcd + abde + ac′e

F = P1 + P2 + P3 + P4 + P5 + plus last term

or

F = b′c′d′ + b′c′e + a′c′d′ + a′bcd + abde + c′d′e

F = P1 + P2 + P3 + P4 + P5 + plus last term

1.8. SIX-VARIABLE K-MAPS

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

Top Layer 47 31 Second Layer

15
Bottom Layer

Figure 1.32  Six-variable K-map layer orientation

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

Figure 1.33  Six-variable K-map minterm layer orientation method 1


Karnaugh Maps  •   21

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

Figure 1.34  Six-variable K-map minterm layer orientation method 2

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

Figure 1.35  Six-variable K-map top (A = 10) to bottom (A = 00) layer

Figure 1.36 shows a six-variable K-map with the following minterms:


F(A,B,C,D,E) = ∑m(2,10,13,16,17,18,24,26,28,34,36,42,50,51,55,56,58,
59,60,63).
22  •   DIGITAL SYSTEMS DESIGN, VOLUME II

Plot on the six-variable K-map using Method 1.

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

Figure 1.36  Six-variable K-map F(A,B,C,D,E) = ∑m(2,10,13,16,17,18,24,26,28,


34,36,42,50,51,55,56,58,59,60,63) Method 1

Simplified and minimized expression:

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

Figure 1.37  Minimizing the six-variable K-map expression using method 1 −


F(ABCDEF) = A′BC′D′E′ + BCE′F′ + ABEF + D′EF′
Karnaugh Maps  •   23

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

Figure 1.38  Minimizing the six-variable K-map expression using method 2 −


F(ABCDEF) = A′BC′D′E′ + BCE′F′ + ABEF + D′EF′

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′.

1.9. OTHER USES AND FORMS OF K-MAPS

In digital systems design, numerous operations can be determined by the


use of K-maps. As seen from Figures 1.17 and 1.18, we found the minterm
24  •   DIGITAL SYSTEMS DESIGN, VOLUME II

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)

and the maxterm expansion of f to be

∏M(1,5,6,7,9,12,13,14).

K-maps are very useful in factoring expressions. An analysis of the


K-map can disclose terms that have one or more variables in common. In
Figure 1.39 the K-map reveals that two terms in the first column have A′B′
in common and two terms in the lower right corner have AC in common.

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

Figure 1.39  Common terms in a K-map

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:

F = ABCD + B′CDE + A′B′ + BCE′

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

Figure 1.40  K-map of F = ABCD + B′CDE + A′B′ + BCE′

When we compare each pair of terms to see if a consensus term can be


formed, we discover that the only consensus terms are ACDE from ABCD
and B′CDE and A′CE′ from A′B′ and BCE′. Since neither of the two terms
(ACDE and A′CE′) appears in the original expression, we cannot use the
consensus theorem to eliminate terms. However, if we add ACDE to F we
derive the following:

F = ABCD + B′CDE + A′B′ + BCE′ + ACDE

We now can eliminate the first two terms, ABCD and B′CDE, using
the consensus theorem and now F reduces to the following:

F = A′B′ + BCE′ + ACDE

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´

A´B´ B´CDE A´B´ B´CDE

Figure 1.41  K-map of F = ABCD + B′CDE + A′B′ + BCE′ + ACDE


26  •   DIGITAL SYSTEMS DESIGN, VOLUME II

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´

A´B´ B´CDE A´B´

Figure 1.42  Reducing to F = A′B′ + BCE′ + ACDE


Karnaugh Maps  •   27

1.10. CHAPTER 1 REVIEW QUESTIONS

Note:This chapter review will incorporate previous chapters’(Chapter 1)


information.
1. Provide a definition of a minimum sum of products (SOP).
2. Provide a definition of a minimum product of sums (POS).
3. From the information given in the truth table plot the function on
the K-map. Loop the two pairs of 1s on the map and write the sim-
plified form of the function.
INPUTS OUTPUTS
P Q F P
0 0 1 Q 0 1
0 1 1 0
1 0 1
1 1 0 1

a. Truth Table b. K-Map of Function

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

5. Plot the following minterms and maxterms of the function on the


K-map.

F1(a,b,c) = ∑m(0,1,3,5) F2(a,b,c) = ∏M(2,4,6,7)

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

After plotting this function, determine the minterm expansion and


create the function’s truth table.
8. For a three-variable K-map, what are the adjacent squares to square 3?
9. For the given K-map identify two minimum SOP expressions.

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

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
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

16. For the given K-map answer the following questions:

ab
cd 00 01 11 10
00 1 1 1
01 1 1
11 1 1
10 1 1 1

a. How many 1s are adjacent to m2?


b. Are all of the 1s covered by a single prime implicant?
c. From your answer in Question b, can you determine if b′c′ is
essential?
17. How do you determine if a prime implicant is essential using a
K-map?
18. Find the minimum SOP for the given K-map.

ab
cd 00 01 11 10
00 1 1 1
01 1 1 1
11 1 1
10 1 1 1

19. List all the 1s and Xs that are adjacent to 15.

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

20. Give the minimum 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 19 23 31 27
11 3 7 15 11
18 22 30 26
10 2 6 14 10

a. Plot the minterms on the K-map.


b. Determine the minimum SOP expression.
21. Give the minimum SOP expression for the function f(a,b,c,d,e) =
∑m(3,5,7,15,18,22,24,29,31) + ∑d(11,16,20,21,23,26,30) 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 19 23 31 27
11 3 7 15 11
18 22 30 26
10 2 6 14 10

a. Plot the minterms and don’t cares for the K-map.


b. Find the three 1s and Xs adjacent to 118. Can these all be looped
with a single loop?
c. Find the 1s and Xs adjacent to 124. Loop the essential prime
implicants that cover 124.
d. Find the 1s and Xs adjacent to 13. Loop the essential prime im-
plicants that cover 13.
e. Can you find an essential prime implicant that covers 122?
Explain.
f. Find and loop two more essential prime implicants.
g. Find three ways to cover the remaining 1 on the map and give
the corresponding minimum solutions.
32  •   DIGITAL SYSTEMS DESIGN, VOLUME II

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.

INPUTS OUTPUTS INPUTS OUTPUTS


a b c X a b c X
0 0 0 1 0 0 0 0
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 0
0 1 1 0 0 1 1 0
1 0 0 0 1 0 0 1
1 0 1 0 1 0 1 1
1 1 0 0 1 1 0 0
1 1 1 0 1 1 1 0
a.   b.
INPUTS OUTPUTS INPUTS OUTPUTS
a b c X a b c X
0 0 0 1 0 0 0 1
0 0 1 1 0 0 1 1
0 1 0 0 0 1 0 0
0 1 1 1 0 1 1 0
1 0 0 0 1 0 0 X
1 0 1 X 1 0 1 X
1 1 0 0 1 1 0 0
1 1 1 1 1 1 1 0
c.   d.
Karnaugh Maps  •   33

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 INPUTS OUTPUTS


a b c d X a b c d X
0 0 0 0 1 0 0 0 0 0
0 0 0 1 1 0 0 0 1 0
0 0 1 0 0 0 0 1 0 0
0 0 1 1 0 0 0 1 1 0
0 1 0 0 0 0 1 0 0 0
0 1 0 1 0 0 1 0 1 0
0 1 1 0 0 0 1 1 0 0
0 1 1 1 0 0 1 1 1 0
1 0 0 0 0 1 0 0 0 0
1 0 0 1 0 1 0 0 1 0
1 0 1 0 0 1 0 1 0 1
1 0 1 1 0 1 0 1 1 1
1 1 0 0 0 1 1 0 0 1
1 1 0 1 0 1 1 0 1 1
1 1 1 0 1 1 1 1 0 1
1 1 1 1 1 1 1 1 1 1
a.    b.
INPUTS OUTPUTS INPUTS OUTPUTS
a b c d X a b c d X
0 0 0 0 1 0 0 0 0 X
0 0 0 1 1 0 0 0 1 0
0 0 1 0 X 0 0 1 0 0
0 0 1 1 0 0 0 1 1 0
0 1 0 0 0 0 1 0 0 0
0 1 0 1 0 0 1 0 1 0
0 1 1 0 1 0 1 1 0 0
0 1 1 1 0 0 1 1 1 0
1 0 0 0 0 1 0 0 0 0
1 0 0 1 0 1 0 0 1 0
1 0 1 0 1 1 0 1 0 1
1 0 1 1 1 1 0 1 1 0
1 1 0 0 1 1 1 0 0 1
1 1 0 1 1 1 1 0 1 1
1 1 1 0 1 1 1 1 0 1
1 1 1 1 1 1 1 1 1 1
c.   d.
34  •   DIGITAL SYSTEMS DESIGN, VOLUME II

1.11. CHAPTER 1 REVIEW ANSWERS

1. Provide a definition of a minimum sum of products (SOP).


Sum of products: an expression corresponding directly to a
two-level network composed of a group of AND gates feeding to
a single OR gate
2. Provide a definition of a minimum product of sums (POS).
Product of sums: an expression corresponding directly to a two-level
network composed of a group of OR gates feeding to a single AND
gate
3. From the information given in the truth table plot the function on
the K-map. Loop the two pairs of 1s on the map and write the sim-
plified form of the function.

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. Truth Table b. K-Map of Function


Function: A′ + B′
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 INPUTS OUTPUTS


a b c F a b c F
A 0 0 0 0 0 0 1
BC 0 1 0 0 1 0 0 1 1
00 0 1 0 1 0 0 1 0 1
0 1 1 0 1 1 1
01 1 0 1 0 0 1 0 0 1
11 1 1 1 0 1 1 0 1 0
1 1 0 1 1 0 0
10 1 0 1 1 1 1 1 1 1

a. K-Map b. Truth Table             c. Truth Table Result


Karnaugh Maps  •   35

5. Plot the following minterms and maxterms of the function on the


K-map provided.
F1(a,b,c) = ∑m(0,1,3,5) F2(a,b,c) = ∏M(2,4,6,7)

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

7. Plot function F(x,y,z) = z + xz′ + y′z′ on the K-map.

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

After plotting this function, determine the minterm expansion and


create the function’s truth table.
Minterm expansion = ∑m(0,1,3,4,5,6,7)

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

9. For the given K-map identify two minimum SOP expressions.

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

12. For a four-variable K-map, which squares are adjacent to minterms


5, 9, and 13?
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

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

Function Expression → F(a,b,c,d) = ab + b′c′


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.
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

One of the Minimum Expressions: bd + ab′c′ + bcd′


16. For the given K-map answer the following questions:

ab
cd 00 01 11 10
00 1 1 1
01 1 1
11 1 1
10 1 1 1

a. How many 1s are adjacent to m2?


Four adjacent 1s: m1, m3, m6, and m10.
b. Are all of the 1s covered by a single prime implicant?
No, all of the 1s are not covered by a single prime implicant.
c. From your answer in Question b, can you determine if b′c′ is
essential?
Yes, b′c′ is an essential implicant because no other prime impli-
cant covers those 1s.
40  •   DIGITAL SYSTEMS DESIGN, VOLUME II

17. How do you determine if a prime implicant is essential using a


K-map?
A prime implicant is essential when no other prime implicant cov-
ers those 1s in the K-map.
18. Find the minimum SOP for the given K-map.

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´

Minimum SOP: a′b′ + bc′ + b′cd + bcd′


19. List all the 1s and Xs that are adjacent to 15.

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

a. Plot the minterms on the K-map.

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

b. Determine the minimum SOP expression.


Minimum SOP: f(a,b,c,d,e) = a′b′d′e′ + ab′d′ + a′bde
21. Give the minimum SOP expression for the function f(a,b,c,d,e) =
∑m(3,5,7,15,18,22,24,29,31) + ∑d(11,16,20,21,23,26,30) for the fol-
lowing 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

a. Plot the minterms and don’t cares for the K-map.

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

e. Can you find an essential prime implicant that covers 122?


Explain.

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

This is not an essential implicant because two prime implicants


cover 122 with don’t cares included on K-map. If don’t cares are
not used, the implicant would be an essential implicant.
f. Find and loop two more essential prime implicants.
If don’t cares are not used, then 115 and 131 and 118 and 122 are
considered essential implicants
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.

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

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

minimum forms of switching incomplete specified function


functions, 2 simplification, 57–58
other uses and forms of, introduction, 49
23–26 prime implicant
six-variable, 19–23 chart, 53–57
three-variable, 4–8 determination, 49–53
two-variable, 3–4
using essential prime implicants, R
11–15 Read (RD′), 100
Karnaugh, Maurice, 1 ROM address decoder circuits,
99–101
M
Memory read operation S
(MEMR′), 100 Six-variable K maps, 19–23
Memory write operation Switching functions, minimum
(MEMW′), 100 forms of, 2

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

Announcing Digital Content Crafted by Librarians


Concise e-books business students need for classroom and research

Momentum Press offers digital content as authoritative treatments of advanced engineering


topics by leaders in their field. Hosted on ebrary, MP provides practitioners, researchers,
faculty, and students in engineering, science, and industry with innovative electronic content
in sensors and controls engineering, advanced energy engineering, manufacturing, and
materials science.

Momentum Press offers library-friendly terms:


• perpetual access for a one-time fee
• no subscriptions or access fees required
• unlimited concurrent usage permitted
• downloadable PDFs provided
• free MARC records included
• free trials

The Momentum Press digital library is very affordable, with no obligation to buy in future years.

For more information, please visit www.momentumpress.net/library or to set up a trial in the


US, please contact mpsales@globalepress.com.

You might also like