DLD Unit-2
DLD Unit-2
Unit-II
Module-IV
Gate Level Minimization
u m
Mikhail Osipovich Dolivo-Dobrovolsky (2 January 1862 –
15 November 1919) was a Russian engineer, electrician, and
t r
inventor. He was born in Gatchina near Saint Petersburg,
into a family of mixed origins, through the connection be-
tween a Polish noble of his grandfather’s family originating
c
from Mazowsze and a Russian noble family. He emigrated to
Germany because of his political view persecution after the
e
assassination of Alexander II of Russia (1881). He studied at
the Darmstadt University of Technology (TH Darmstadt) in
p
Germany. From 1887 he worked for AEG.
S
The K-map method, four-variable map, five-variable map, product of sums
simplification, don’t-care conditions, Quine-McCluskey method, NAND and
NOR implementation, Exclusive-OR function.
89
Digital System Design
2.0 OBJECTIVES
In previous, we have simplified the Boolean functions using Boolean algebra or postulates and
theorems. The postulates method becomes more complicated if the number of terms or variables
m
increased in the given function. It is a time consuming process and we have to re-write the
simplified expressions after each step. Hence another technique is needed to simplify the bool-
u
ean expression.To overcome this difficulty, Karnaugh introduced a method for simplification of
r
Boolean functions in an easy way. This method is known as Karnaugh map method or K-map
method. It is a graphical method, which consists of 2 n cells for ‘n’ variables.
2.1.1 Karnaugh Map(K-Map)
c t
Karnaugh map gives us a systematic approach for simplifying a Boolean expression. This K-map
method was first proposed by veitch and modified by Karnaugh. Hence it is also known as veitch
e
n
diagram. K-map contains boxes called cells. A ‘n’ variable K-map contains 2 boxes.The adja-
cent cells are differed only in single bit position.K-Map method is most suitable for minimizing
p
Boolean functions of 2 variables to 5 variables. Now, let us discuss about the K-Maps for 2 to 5
variables one by one.
2.1.1.1 One Variable K-map
S
A one variable K-map contains 21 2cells .
A 0
A 1
0
1
A
A 0 A
A 1 A
0
1
A
A 0
A 1
m0
m1
0
Figure-2.1: One variable k-map Figure-2.2: One variable k-map for SOP or
minterms
A A
A 0 A A 0 M0
0 0
A 1 A A 1 M1
1 1
90
Gate Level Minimization
2.1.1.2 Two-variables K-map
A two variable k-map contains 2 2 4cells .
The number of cells in 2 variable K-map is four, since the number of variables is two. The
following figure shows 2 variable K-Map.There is only one possibility of grouping 4 adjacent min
terms.The possible combinations of grouping 2 adjacent min terms are {(m0, m1), (m2, m3), (m0,
m2) and (m1, m3)}.
B B
AB 0B 1B A 1B
A
0B 0B 1B
A 0 A0 AB AB A0 m0 m1
0 1 0 1 0 1
A 1 A1 AB AB A1 m2 m3
m
2 3 2 3 2 3
Figure-2.4: Two variables k-map Figure-2.5: Two variables k-map for SOP or minterms
B
AB 0B 1B
A 0 A+B 0 A+B 1
A 0 B 1B
r
A 0 M0
0
M1
u
1
t
A 1 A+B A+B A1 M2 M3
2 3 2 3
c
Figure-2.6: Two variable k-map for POS or maxterms
2.1.1.3 Three Variable k-map
e
A three variable k-map contains 2 3 8cells. The number of cells in 3 variable K-map is eight,
since the number of variables is three. The following figure shows 3 variable K-Map.
p
There is only one possibility of grouping 8 adjacent min terms.
S
The possible combinations of grouping 4 adjacent min terms are {(m0, m1, m3, m2), (m4,
m5, m7, m6), (m0, m1, m4, m5), (m1, m3, m5, m7), (m3, m2, m7, m6) and (m2, m0, m6, m4)}.
The possible combinations of grouping 2 adjacent min terms are {(m0, m1), (m1, m3), (m3,
m2), (m2, m0), (m4, m5), (m5, m7), (m7, m6), (m6, m4), (m0, m4), (m1, m5), (m3, m7) and (m2,
m6)}.
If A=0, then 3 variable K-map becomes 2 variable K-map.
BC BC BC BC BC
A 00 01 11 10
A0 0 1 3 2
A1 4 5 7 6
m
0 1 3 2
A A+B+C A+B+C A+B+C A+B+C 1 M 4 M5 M7 M6
4 5 7 6
u
Figure-2.9: Three variable k-map for POS or maxterms
r
2.1.1.4 Four Variable k-map
A 4-variable k-map contains 2 4 16 cells . The number of cells in 4 variable K-map is sixteen,
t
since the number of variables is four. The following figure shows 4 variable K-Map.
c
There is only one possibility of grouping 16 adjacent min terms.
CD
Gray code sequence
e
AB CD CD CD CD
00 01 11 10
p
AB 00 0 1 3 2
AB 01 4 5 7 6
AB 11 12 13 15 14
AB
CD
S CD
00
CD
01
AB 10 8 9 11 10
Gray code sequence
Figure-2.10: Four variable k-map
CD
11
CD
10 AB
CD CD
00
CD
01
CD
11
CD
10
AB ABCD ABCD ABCD ABCD AB m m1 m3 m2
0
00 0 1 3 2
00 0 1 3 2
AB ABCD ABCD ABCD ABCD AB m4 m5 m7 m6
01 4 5 7 6 01 4 5 7 6
AB ABCD ABCD ABCD ABCD AB m12 m13 m15 m14
11 12 13 15 14 11 12 13 15 14
AB ABCD ABCD ABCD ABCD AB m8 m9 m11 m10
10 8 9 11 10
10 8 9 11 10
92
Gate Level Minimization
00
01
M0
M4
4
0
M1
M5
1
5
M3
M7
3
7
M2
u
M6
2
m 6
r
M12 M13 M15 M14
11 12 13 15 14
t
M8 M9 M11 M10
10 8 9 11 10
c
Figure-2.12: Four variable k-map for POS or maxterms
It is important to note that when we move from one cell to the next along any row or
e
column, only one variable in the product term or sum term changes.
2.1.2 Representing Standard SOP or Minterms or k-map
with zeros.
S p
A Boolean expression in the SOP form can be plotted on the k-map by planning a ‘l’ in each cell
corresponding to a term (Minterm) in the sum of products expression. Remaining cells are filled
BC BC BC BC BC
A 00 01 11 10
1 1 ABC
A 0 0 1 3 2
1 ABC
A 1 4 5 7 6
93
Digital System Design
CD CD CD CD CD
AB
00 01 11 10
AB 00 0 0 0 0
0 1 3 2
AB 01
AB 11
0
0
4
1
0
5
0
0
7
1
0
6
ABCD
u m
r
12 13 15 14
t
AB 10 0 0 1 1 ABCD
8 9 11 10
e c
Figure-2.14: K-map representation for given function
2.1.3 Representing Standard POS or Maxterm on k-map
A Boolean expression inthe POS form can be plotted on the k-map by placing a ‘0’ in each cell
ABCD
with 1’s.
S p
corresponding to a term (Maxterm) in the product of sum expression. Remaining cells are filled
Example-3: Plot the expression Y A B C A B C A B C A B C
Sol. The given expression can be plotted using a 3 variable k-map.
A B C M 2 A B C M3 A B C M6 A B C M 0
A 0 0 1 0 0
A+B+C
0 1 3 2
A 1 1 1 1 0 A+B+C
4 5 7 6
94
Gate Level Minimization
Example-4: Plot the expression in k map
Y ABCD ABCD A BC D ABCD ABCD
Sol. The given expression can be plotted using a 4 variable k-map.
A B C D M1 ; A B C D M7
A B C D M 2 ; A B C D M15 ; A B C D M14
We can write the given expression as, YA, B, C, D M1, 2, 7, 14, 15
(A+B+C+D)
CD
AB 00 01 11 10
00
01
1
1
0
0
1
1
1
0
3
0
1
2
u m
(A+B+C+D)
(A+B+C+D)
11 1
4
12
1
5
13
0
7
15
0
t
6
14r (A+B+C+D)
10 1
8
1
e c 9
1
11
1
(A+B+C+D)
0
1
p
2.1.4 Representing the Truth table on K-map
S A B
0 0
0 0
C
0
1 0
Z
1
A
BC BC
00
1
BC
01
0
BC
11
0
BC
10
0
A 0
0 1 3 2
2 0 1 0 0
3 0 1 1 0 A 1 0 1 1 0
4 1 0 0 0 4 5 7 6
5 1 0 1 1
6 1 1 0 0
7 1 1 1 1
Table-2.1: Truth table (3 variable) Figure-2.17: K-map for given table
95
Digital System Design
A B C D Z
0 0 0 0 0 1
CD CD CD CD CD
AB 1 0 0 0 1 0
00 01 11 10
2 0 0 1 0 0
00 1 0 0 0
AB 3 0 0 1 1 0
0 1 3 2
4 0 1 0 0 0
01 0 1 0 0
5 0 1 0 1 1
AB 4 5 7 6
6 0 1 1 0 0
11 1 0 0 0
7 0 1 1 1 0
AB 12 13 15 14
m
8 1 0 0 0 1
10 1 1 0 0
9 1 0 0 1 1
AB 8 9 11 10
u
10 0 0 0 0 0
11 1 0 1 1 0
t r
12
13 1
14
1 1
1 1
1
0
0
1
0 1
1
0 0
0
c
Figure-2.18: K-map for given truth table
e
15 1
The Z value can be easily represented on k-map, by just converting the binary equivalent
input to decimal.
1 1 1 0
Table-2.2: Truth table (4 variable)
S p
2.1.5 Grouping two Adjacent Ones (Pair)
In a K map, if 2 adjacent cells have logic 1, then those two cells are mapped and it can be called
as pair. The k-map shown in figure 2.19 contains a pair of l’s that are horizontally adjacent. The
first represents A BC and the second represents ABC . In these two terms only the variable ‘B’
appears in both normal and complement form. Thus these two terms can be combined to give a
resultant that eliminates the variable ‘B’. Let us see some examples.
BC BC BC BC
BC
A 00 01 11 10
AC
A 0 0 1 1 0
0 1 3 2
A 1 0 0 0 0
4 5 7 6
BC BC BC BC
BC
A 00 01 11 10
A 0 0 1 0 0
0 1 3 2
A 1 0 1 0 0
4 5 7 6
BC
Figure-2.20: K-map contains a pair of 1’s in vertically adjacent
Y A BC A BC A A BC BC
BC BC BC BC
BC
m
A 00 01 11 10
A 0 1 0 0 1
A 1 0 0 0
r
0
u
c
AC
t
Figure-2.21: K-map contains ia pair of 1’s at corner adjacent cells
Y A BC ABC AC B B A C
p AB
CD CD
00
e
In the k-map shown in figure 2.21 the left most column and the right most column are
considered to be adjacent because they differ by one variable.
CD
01
CD
11
CD
10
S
AB 00 0 0 1 0
0 1 3 2
AB 01 0 0 0 0
4 5 7 6
BCD
AB 11 0 0 0 0
12 13 15 16
AB 10 0 0 1 0
8 9 11 10
BC BC BC BC BC
A 00 01 11 10 AB
A 0 1 1
0 1 3 2
A 1 1
4 5 7 6
BC
Figure-2.23
Y ABC ABC ABC ABC
m
Y AB C C BC A A AB BC
BC BC BC BC BC
A 00 01 11 10
u
AB
A 0 0 0 1 1
A 1 0
0
4
1
1
5
1
3
t r 2
6
Pair
not
needed
e c
Y ABC ABC A BC ABC AB C C AC B B
AC
Figure-2.24
p
AB AC
In figure 2.24 two pairs are enough to indicate all l’s present in the k-map. In such cases
third pair is not required.
A
BC
S
Grouping Four Adjacent Ones (Quad)
BC
00
BC
01
BC
11
BC
10
AB
CD
AB
00
CD
00
0
0
CD
01
1
1
CD
11
0
3
CD
10
0
2
AB 0 1 0 0
01
A 0 1 1 1 1 4 5 7 6
0 1 3 2 AB 0 1 0 0
11 12 13 15 14
A 1
4 5 7 6 AB 0 1 0 0
10
8 9 11 10
CD
Figure-2.25 Figure-2.26: Grouping 4 adjacent ones in K-map
98
Gate Level Minimization
In k-map 4 adjacent l’s can be grouped. Then such group is known as quad (or) square.
Figure 2.25 shows the grouping of 4 adjacent horizontal l’s and figure 2.26 shows the grouping of
4 adjacent vertical l’s.
CD CD CD CD CD
AB 00 01 11 10
CD CD CD CD CD
AB 00 01 11 10 AB
1 0 0 1
AB 00 0 1 3 2
0 0 0 0
00 0 1 3 2
BD AB 1 0 0 1
AB 0 1 1 0 01 4 5 7 6
01 4 5 7 6
AB 0 0 0 0
m
AB 0 1 1 0 11 12 13 15 14
11 12 13 15 14
AB 0 0 0 0
u
AB 0 0 0 0 10
10 8 9 11 10
8 9 11 10
Figure-2.27
AD
t
Figure-2.28: Shows the grouping of four l’s in a square
r
In the k-map shown in figure 2.29, the corner terms are adjacent. Hence they can be
grouped as a square.
AB
CD CD
00
CD
01
AB
CD
11
e c
CD
10
p
1 0 0 1
00 0 1 3 2
AB
S
0 0 0 0
01 4 5 7 6
AB BD
0 0 0 0
11 12 13 15 14
AB
1 0 0 1
10
8 9 11 10
CD CD CD CD CD
AB 00 01 11 10
AB
00 0 1 3 2
AB 1 1 1 1
01 AB
4 5 7 6
AB BC
1 1 1
11 12 13 15 14
AB BD
10
8 9 11 10
Hence Y AB BC BD
2.1.6 Grouping Eight Adjacent Ones(octet)
CD CD CD CD CD CD CD
u
CD
m CD
r
CD
AB 00 01 11 10 AB 00 01 11 10
t
AB 0 0 0 0 AB 0 1 1 0
00 0 1 3 2 00 0 1 3 2
c
AB 0 0 0 0 AB 0 1 1 0
01 4 5 7 6
01 4 5 7 6
AB
11
AB
10
p
1
1
12
8
1
1
13
9
1
1 e
15
11
1
1
14
10
AB
11
AB
10
0
0
12
8
1
1
13
9
1
1
15
11
0
0
14
10
S
Y=A Y=D
Figure-2.31 Figure-2.32
CD CD CD CD CD CD CD CD CD CD
AB 00 01 11 10 AB 00 01 11 10
AB 1 1 1 1 AB 1 0 0 1
00 0 1 3 2
00 0 1 3 2
AB 0 0 0 0 AB 1 0 0 1
01 4 5 7 6
01 4 5 7 6
AB 0 0 0 0 AB 1 0 0 1
11 12 13 15 14
11 12 13 15 14
AB 1 1 1 1 AB 1 0 0 1
10 10
8 9 11 10 8 9 11 10
Y=B Y=D
Figure-2.33 Figure-2.34
100
Gate Level Minimization
u m
An octet of 1s eliminates three variables, a quad of 1’s eliminates two variables and a pair
of 1’s eliminates, 1 variable. Each group gives us a product term and summation of all
product terms gives us a simplified boolean expression.
t r
Follow these Rules for Simplifying K-maps in Order to Get Standard Sum of Products
Form
1. Select the respective K-map based on the number of variables present in the Boolean
function.
e c
2. If the Boolean function is given as sum of min terms form, then place the ones at respective
min term cells in the K-map. If the Boolean function is given as sum of products form, then
place the ones in all possible cells of K-map for which the given product terms are valid.
3. Check for the possibilities of grouping maximum number of adjacent ones. It should be
p
powers of two. Start from highest power of two and upto least power of two. Highest
power is equal to the number of variables considered in K-map and least power is zero.
4. Each grouping will give either a literal or one product term. It is known as prime implicant.
S
The prime implicant is said to be essential prime implicant, if atleast single ‘1’ is not covered
with any other groupings but only that grouping covers.
5. Note down all the prime implicants and essential prime implicants. The simplified Boolean
function contains all essential prime implicants and only the required prime implicants.
The Procedure for Simplyfying a Boolean Expression is as Follows
1. Plot the k-map and place 1’s in those cells corresponding to the 1’s in the truth table or
minterms in the sop expression. Place 0’s to other cells.
2. Encircle the 1’s which are not adjacent to any other 1’s (Encircle the isolated 1’s).
3. Check for those 1’s which are adjacent to only one other ‘1’ and encircle such pairs.
4. Check for quads and octets of adjacent 1’s even if it contains some 1’s that have already
been encircled. While doing this make sure that there is minimum number of groups.
5. Make sure that all 1’s are grouped or encircled.
6. Form the simplified expression by summing product terms of all the groups.
101
Digital System Design
Implicants: Implicant is a product/minterm term in Sum of Products (SOP) or sum/maxterm
term in Product of Sums (POS) of a Boolean function. E.g., consider a boolean function, F = AB
+ ABC + BC. Implicants are AB, ABC and BC.
Prime Implicants: Each group in k-map gives us a product term and summation of all product
terms gives us a Boolean expression. Therefore each product term implies the function and
hence such product term is an implicant of the function. All the implicants of a function is termed
as the prime implicants.
Essential Prime Implicants: These are those subcubes(groups) which cover atleast one minterm
that can’t be covered by any other prime implicant. Essential prime implicants(EPI) are those
prime implicants which always appear in final solution.While grouping the k-map, some cells may
appear in only one prime implicant group and these cells are called as essential cells and corre-
sponding prime implicants are called essential prime implicants.
Redundant Prime Implicants: The prime implicants for which each of its minterm is covered
m
by some essential prime implicant are redundant prime implicants(RPI). This prime implicant
never appears in final solution.
Selective Prime Implicants: The prime implicants for which are neither essential nor redun-
u
dant prime implicants are called selective prime implicants(SPI). These are also known as non-
essential prime implicants. They may appear in some solution or may not appear in some solution.
Example-5: Minimize the expression, Y A BC ABC ABC ABC ABC .
Sol. Y A BC ABC ABC ABC ABC
Y 001 011 010 111 110 m 1, 2, 3, 6, 7
t r
c
Step-1: Plot the k-map
A BC BC BC BC BC A BC BC BC BC BC
00 01 11 10 00 01 11 10
A 0
A 1
p
0
0
0
4
0
1
1
5
1
1 e
3
7
1
1
2
6
A 0
A 1
0
0
0
4
0
1
1
5
1
1
3
1
1
2
S
7
Figure-2.35 Figure-2.36
Step-2: There are no isolated l’s.
Step-3: ‘l’ in the cell ‘l’ is adjacent only to ‘l’ in the cell ‘3’. So this pair can be encircled as
shown in figure 2.36.
Step-4: There is no octet, but there is a quad cells 3, 2, 7 and 6 form a quad.
AC
A BC BC BC BC BC
00 01 11 10
A 0 0 1 1 1
0 1 3 2
0 0 1 1 B
A 1
4 5 7 6
Figure-2.37
102
Gate Level Minimization
Step-5: All l’s are grouped.
Step-6: The simplified expression is Y AC B
Example-6: Minimize the expression using k-map
Y A BC D ABCD ABC D ABCD ABC D A BCD AB C D
Sol. Y A BC D ABCD ABC D ABCD ABC D A BCD AB C D
Y 0000 0111 0110 1111 1110 1011 1010 m0, 7, 6, 15, 14, 11, 10
Step-1: Plot the k-map.
CD CD CD CD CD
AB CD CD CD CD CD
00 01 11 10 AB
00 01 11 10
AB 00 1 0 0 0
3 AB 00 1 0 0 0
m
0 1 2
0 1 3 2
AB 01 0 0 1 1
AB 01 0 0 1 1
4 5 7 6
u
4 5 7 6
AB 11 0 0 1 1
r
12 13 15 14 AB 11 0 0 1 1
12 13 15 14
0 0 1 1
t
AB 10
8 9 11 10 AB 10 0 0 1 1
8 9 11 10
c
Figure-2.38 Figure-2.39
Step-2: l in the cell 0 is the only isolated l. So encircle it.
AB
CD
p
CD
00
CD
01
CD
11 e
Step-3: l in the cell ll is adjacent only to l in this cell 15 so this pair can be encircled as shown in
figure 2.40.
CD
10 AB
CD CD
00
CD
01
CD
11
CD
10
S
AB 00 1 0 0 0 1 0 0 0
0 1 3 2
AB 00
0 1 3 2
AB 01 0 0 1 1 0 0 1 1
AB 01
4 5 7 6 4 5 7 6
AB 11 0 0 1 1 AB 11 0 0 1 1
12 13 15 14 12 13 15 14
0 0 1 1 AB 10 0 0 1 1
AB 10
8 9 11 10
8 9 11 10
Figure-2.40 Figure-2.41
Step-4: There is no octet, but there be a quad cells 7,6,15 and 14 form a quad.
Step-5: All 1’s are grouped.
Step-6: The simplified expression is, Y A BC D BC AC
103
Digital System Design
AB 01 1 1 0 1
AB 01 1 1 0 1
4 5 7 6
4 5 7 6
AB 11 1 1 0 0
AB 11 1 1 0 0 12 13 15 14
12 13 15 14
m
AB 10 1 1 0 0
AB 10 1 1 0 0 8 9 11 10
8 9 11 10
C
Step-2:
Step-3:
Figure-2.42
There are no isolated l’s.
There are no l’s which are adjacent to only one other ‘l’.
Figure-2.43
r u
t
Step-4: There is one octet and one quad cells 0,1,4,5,12,13,8 and 9 form a octet, where the cells
0,4,2 and 6 form a quad.
c
Step-5: All l’s are grouped.
Step-6: The simplified boolean expression is Y A D C
e
Example-8: Simplify the boolean expression
Y A BCD ABCD ABC D ABC D ABCD ABCD ABCD AB CD
AB
CD
p
Sol. Y A BCD ABCD ABCD ABC D ABCD ABCD ABCD ABCD
Y 0001 0101 0110 1100 0111 1111 1011
m1, 5, 6, 12, 13, 7, 15, 11 M 0, 2, 3, 4, 7, 8, 9, 10, 14,
S
Step-1: Plot the k-map
CD CD CD CD AB
CD CD
00
CD
01
CD
11
CD
10
00 01 11 10
ACD
AB 00 0 1 0 0
AB 00 0 1 0 0
0 1 3 2
0 1 3 2
AB 01 0 1 1 1 ABC
AB 01 0 1 1 1
4 5 7 6
4 5 7 6
AB 11 1 1 1 0
AB 11 1 1 1 0 12 13 15 14
12 13 15 14 ACD
AB 10 0 0 1 0
AB 10 0 0 1 0 8 9 11 10
8 9 11 10
ABC
Figure-2.44 Figure-2.45
104
Gate Level Minimization
m
Y ABC D ABCD A BCD A BCD A BC D ABC D A BCD A BCD
Sol. Y ABC D ABCD A BCD A BCD A BC D ABC D A BCD A BCD
Y 0010 1110 1010 1011 1000 1100 0011 0000
m 2, 14, 10, 11, 8,12, 3, 0
Step-1: Plot the K-map.
r u
t
BD
CD CD CD CD CD
AB CD CD CD CD CD
00 01 11 10
c
AB
00 01 11 10
AB 00 1 0 1 1
1 0 1 1
e
0 1 3 2 AB 00
0 1 3 2
AB 01 0 0 0 0
0 0 0 0
p
4 5 7 6 AB 01 BC
4 5 7 6
AB 11 1 0 0 1
AB 11 1 0 0 1
S
12 13 15 14 AD
12 13 15 14
AB 10 1 0 1 1
AB 10 1 0 1 1
8 9 11 10
8 9 11 10
Figure-2.46 Figure-2.47
Step-2: There are no isolated 1’s.
Step-3: There are no 1’s which are adjacent to only one other ‘1’.
Step-4: There are 3 quads. Cells 0,2,8, 10 from a quad, cells 12,8,14,10 from a quad and cells
3,2,11,10 from a quad.
Step-5: All 1’s are grouped.
105
Digital System Design
wx 00 1 1 0 0 wx 00 1 1 0 0
0 1 3 2 0 1 3 2
wx 01 1 0 0 0 wx 01 1 0 0 0
m
4 5 7 6 4 5 7 6
wx 11 0 0 0 0 wx 11 0 0 0 0
u
12 13 15 14 12 13 15 14
1 1 0 1 1 1 0 1
r
wx 10 wx 10
8 9 11 10 8 9 11 10
Figure-2.48
Step-2: There are no isolated 1’s.
c t
Step-3: ‘1’ in the cell ‘4’ is adjacent only to ‘1’ in the cell ‘0’ and ‘1’ in the cell ‘10’ is adjacent
Figure-2.49
p wx
e
only to ‘1’ in the cell ‘8’. So this two pair can be encircled as shown in figure 2.49.
Step-4: There is no octet. But there is a quad. Cells 0,1,8,9 from a quad.
yz yz yz yz yz
S
00 01 11 10
wx 00 1 1 0 0
0 1 3 2
wxy
wx 01 1 0 0 0
4 5 7 6
0 0 0 0 xy
wx 11
12 13 15 14
wxz
wx 10 1 1 0 1
8 9 11 10
Figure-2.50
Step-5: All 1’s are grouped.
Step-6: The simplified Boolean expression is Y W Y Z W X Z X Y
106
Gate Level Minimization
Example-11: Simplify the following expression using K-map method.
Y m7, 9, 10, 11, 12, 13, 14, 15
Sol. Let Y m 7, 9, 10, 11, 12, 13, 14, 15
Step-1: Plot the K-map.
CD CD CD CD CD CD CD CD CD CD
AB AB
00 01 11 10 00 01 11 10
AB 00 0 0 0 0 AB 00 0 0 0 0
0 1 3 2 0 1 3 2
AB 01 0 0 1 0 AB 01 0 0 1 0
4 5 7 6 4 5 7 6
1 1 1 1 1 1 1 1
m
AB 11 AB 11
12 13 15 14 12 13 15 14
AB 10 0 1 1 1 AB 10 0 1 1 1
u
8 9 11 10 8 9 11 10
Figure-2.51 Figure-2.52
Step-2: There are no isolated 1’s.
Step-3: ‘1’ in The cell ‘7’ is adjacent only to ‘1’ in the cell ‘15’.
CD CD CD CD
t
CDr
c
AB
00 01 11 10
0 0 0 0
e
AB 00
0 1 3 2
AB 01 0 0 1 0
p
BCD
4 5 7 6
AB 11 1 1 1 1
S
12 13 15 14
AC
AB 10 0 1 1 1
8 9 11 10
AB AD
Figure-2.53
Step-4: There is no octet. But there are theree quads. Calls 12,13,14,15 form a quad. Cells
9,11,13,15 form a quad and cells 10,11,14,15 from a quad as shown in figure 2.53.
Step-5: All 1’s are grouped.
Step-6: The simplified boolean expression Y AB AD AC BCD
2.1.8 Simplification of POS Expression or Maxterms using K- map
The simplification of POS expression using K-map is similar to simplification of SOP expression
The only difference is instead of making the groups of ones, we have to make group of zeros.
The procedure for simplifying a POS Boolean expression is as follows.
107
Digital System Design
1. Plot the k- map and place 0’s in those cells corresponding to the 0’s in the truth table or
Maxterms in the POS expression.
2. Encircle the 0’s which are not adjacent to any other 0’s. (Encircle the isolated 0’s).
3. Check for those 0’ which are adiacent to any other 0’ and encircle such pairs.
4. Check for quads and octets of adjacent 0’s even if it contains some 0’s that have already
been encircled. While doing this make sure that there are minimum number of groups.
5. Make sure that all 0’s are grouped or encircled.
6. Form the simplificd SOP expression for output by summing product terms of all the groups.
Then find output by Demogan’s theorem or we can directly write the output equation in
SOP form.
Follow these Rules for Simplifying K-maps in Order to Get Standard Product of Sums
Form
m
1) Select the respective K-map based on the number of variables present in the Boolean
function.
2) If the Boolean function is given as product of Max terms form, then place the zeroes at
u
respective Max term cells in the K-map. If the Boolean function is given as product of sums
form, then place the zeroes in all possible cells of K-map for which the given sum terms are valid.
t r
3) Check for the possibilities of grouping maximum number of adjacent zeroes. It should be
powers of two. Start from highest power of two and upto least power of two. Highest
power is equal to the number of variables considered in K-map and least power is zero.
4) Each grouping will give either a literal or one sum term. It is known as prime implicant. The
c
prime implicant is said to be essential prime implicant, if atleast single ‘0’ is not covered with
any other groupings but only that grouping covers.
5) Note down all the prime implicants and essential prime implicants. The simplified Boolean
e
function contains all essential prime implicants and only the required prime implicants.
Example-12: Minimize the below expression by using k-map,
p
Y A B C A B C A B C A B C A B C
Sol. Step-1: Plot the k-map
A
S
A B C M ; A B C M ; A B C M ;
BC BC
00
1
A B C M ; A B C M
4
BC
01
BC
11
BC
10
3
0
The given expression can also be written as Y M (0,1,3,4,7).
A
BC BC
00
7
BC
01
BC
11
BC
10
A 0 0 0 0 A 0 0 0 0
0 1 3 2 0 1 3 2
A 1 0 0 A 1 0 0
4 5 7 6 4 5 7 6
Figure-2.54 Figure-2.55
Step-2: There are no isolated 0’s.
Step-3: ‘0’ in the cell ‘7’ is adjacent only to ‘0’ in the cell ‘3’ and ‘0’ in the cell ‘4’ is adjacent
only to ‘0’ in the cell ‘0’. So this two pair can be encircled as shown in figure 2.55.
108
Gate Level Minimization
Step-4: There are no octets or quads.
Step-5: Here the ‘0’ in the ‘1’ is not yet encircled. This ‘0’ can either form a pair with cell ‘3’ or
cell ‘0’.
BC BC BC BC BC
A 00 01 11 10
A 0 0 0 0
0 1 3 2
A 1 0 0
4 5 7 6
BC AB BC
Step-6: Let Y BC A B BC
Figure-2.56
A B C D M ; A B C D M ;
14
A B C D M ; A B C D M ;
e c 6
p
15 0
A B C D M ; A B C D M ;
8 13
The expression can also be written as
AB
AB 00
S
Y M 0,6,7,8,12,13,14,15
CD CD
00
0
0
CD
01
1
CD
11
3
CD
10
2
AB
00
CD
00
0
0
01
1
11
3
10
AB 01 0 01 0 0
0
4 5 7 6 4 5 7 6
AB 11 0 0 0 0 11 0 0 0 0
12 13 15 14 12 13 15 14
AB 10 0 10 0
8 9 11 10 8 9 11 10
Figure-2.57
Figure 2.57 Figure-2.58
109
Digital System Design
AB 01 0 0 BC
AB 11 0
4
12
0
5
13
0
7
15
0
6
14
u m
AB
AB 10 0
8 9
Figure-2.59
t r 11 10
c
Step-5: All 0’s are grouped.
Step-6: Let Y BC AB BC D
e
By demorgan’s Law Y B C A B B C D
Example-14: Simplify the following function using k-map
Sol.
p
FA, B, C, D M 0,2,3,8,9,12,13,15
AB
AB 00
S
CD CD
00
0
0
CD
01
1
CD
11
0
3
CD
10
0
2
AB
AB 00
CD CD
00
0
0
CD
01
1
CD
11
0
3
CD
10
0
2
AB 01 AB 01
4 5 7 6 4 5 7 6
AB 11 0 0 0 AB 11 0 0 0
12 13 15 14 12 13 15 14
AB 10 0 0 AB 10 0 0
8 9 11 10 8 9 11 10
Figure 2.60
Figure-2.60 Figure 2.61
Figure-2.61
110
Gate Level Minimization
Step-2: There are isolated 0’s.
Step-3: The ‘0’ in cell 3 is adjacent only to ‘0’ in cell ‘2’. The ‘0’ in cell 15 is adjacent only to ‘0’
in cell 13. So this two pair can be encircled as shown in figure 2.61.
Step-4: There is no octet. But there is a quad. The cells 12, 13, 8 and 9 form a quad.
CD CD CD CD CD CD CD CD CD CD
AB AB
00 01 11 10 00 01 11 10
00 0 0 0 00 0 0 0
0 1 3 2 0 1 3 2 ABD
ABC
01 01
4 5 7 6 4 5 7 6
m
11 0 0 0 11 0 0 0 ABD
12 13 15 14 12 13 15 14
AC
10 0
8
0
Figure-2.62
9 11 10
10
Figure-2.63
0
r
8
0
9
u 11 10
t
Step-5: The ‘0’ in cell ‘0’ can either form a pair with cell ‘8’ or cell ‘2’.
Step-6: Let F A B D A BC A C ABD
F A BD A BC A C ABD
c
By Demorgan’s Law F A B D A B C A C A B D
e
Example-15: Given F = (1, 5, 6, 7, 11, 12, 13, 15), find number of implicant, PI, EPI, RPI
and SPI.
S p 2 1
1
1
1
1
5
1
1
1 4
No. of implication = 8
PI = (1, 2, 3, 4, 5)
EPI = (1, 2, 3, 4)
RPI = (5)
1
3
F= 1 + 2+ 3+ 4
Figure-2.64
No. of Implicants = 8
No. of Prime Implicants(PI) = 5
No. of Essential Prime Implicants(EPI) = 4
No. of Redundant Prime Implicants(RPI) = 1
No. of Selective Prime Implicants(SPI) = 0
111
Digital System Design
A B C D
0 0 0 0
u m
cell. Therefore, “Don’t Care” condition can help us to form a larger group of cells.
Consider the following truth table.
0
0
0
0
1
1
1
0
1
1
t
0
1 r
e c 1
1
1 1 0 X
1 1 1 X
0
0
0
1
0
X
A BC BC BC BC BC
00 01 11 10
Z=C
A 0 0 1 1 0
0 1 3 2
Don't care as X
A 1 0 X X X
4 5 7 6
112
Gate Level Minimization
Note: A don’t care can be considered as ‘0’ or ‘1’ in order to produce the most simplified output
expression.
If we consider the don’t cares present in the cell 5,6,7 and 0’s. we get the output expression
as Z AC .
If we consider the don’t cares present in the cell 5,6,7 and 1’s. We get the output expression
as Z C AB .
But if we consider the don’t cares present in cells 5,7 and ‘1’ and cell ‘6’ as ‘0’. We get the
most simplified expression Z C .
Significance of “Don’t Care” Conditions: Don’t Care conditions has the following signifi-
cance in designing of the digital circuits.
1. Simplification of the Output: These conditions denotes inputs that are invalid for a given
digital circuit. Thus, they can be used to further simplify the boolean output expression of a
m
digital circuit.
2. Reduction in Number of Gates Required: Simplification of the expression reduces the
number of gates to be used for implementing the given expression. Therefore, don’t cares
3.
make the digital circuit design more economical.
r u
Reduced Power Consumption: While grouping the terms long with don’t cares reduces
switching of the states. This decreases the memory space that is required to represent a
t
given digital circuit which in turn results in less power consumption.
4. Represent Invalid States in Code Converters: These are used in code converters. For
c
example- In design of 4-bit BCD-to-XS-3 code converter, the input combinations 1010,
1011, 1100, 1101, 1110, and 1111 are don’t cares.
e
5. Prevention of Hazards in Digital Circuits: Don’t cares also prevents hazards in digital
systems.
Example-16: Simplify the boolean expression Fw , x , y, z m 1, 3, 7.11,15 which has
‘X’.
wx
yz
S
yz
00
p
the don’t care condition d w , x , y, z 0,2,4 .
Sol. The minterms given in Fw , x , y, z are marked as 1’s and the don’t cares as marked as
yz
01
yz
11
yz
10
wx
yz yz
00
yz
01
yz
11
yz
10
wx 00 X 1 1 X wx 00 X 1 1 X wx
0 1 3 2 0 1 3 2
wx 01 X 0 1 0 wx 01 X 0 1 0
4 5 7 6 4 5 7 6
yz
wx 11 0 0 1 0 wx 11 0 0 1 0
12 13 15 14 12 13 15 14
wx 10 0 0 1 0 wx 10 0 0 1 0
8 9 11 10 8 9 11 10
Figure-2.66 Figure-2.67
113
Digital System Design
To form a quad with cells 0, 1, 3 and 2 the don’t cares in cell ‘0’ and ‘2’ are considered as
1’s. The remaining don’t cares are considered as 0’s.
The simplified expression is F w x yz
Example-17: Minimize the following function using k-map technique.
F w , x , y, z m0,7,8,9,10,12 d 2,5,13
Sol.
yz yz yz yz yz yz yz yz yz yz
wx wx
00 01 11 10 00 01 11 10
wx 00 1 0 0 X wx 00 1 0 0 X
0 1 3 2 0 1 3 2
wx 01
wx 11
0
1
4
X
X
5
1
0
7
0
0
6
wx 01
wx 11
0
1
4
X
X
5
1
u
0
m 7
0
0
6
wxz
wy
wx 10 1
12
8
1
13
9
0
15
11
1
14
10
wx 10
t r
1
12
8
1
13
9
0
15
11
1
14
10
xz
Figure 2.67
Figure-2.68
c
In this problem, all the don’t cares are considered as 1’s.
Therefore the simplified expression is
F x z w xz w y
e
Figure-2.69
Figure 2.68
Sol.
A BC BC
00
p
Example-18: Minimize the following function using k-map technique.
FA , B, C m 0,1,3,7 d 2,5
S BC
01
BC
11
BC
10
A BC BC
00
BC
01
BC
11
BC
10
A 0 1 1 1 X A 0 1 1 1 X A
0 1 3 2 0 1 3 2
C
A 1 0 X 1 0 A 1 0 X 1 0
4 5 7 6 4 5 7 6
114
Gate Level Minimization
Sol.
CD CD CD CD CD CD
AB AB CD CD CD CD
00 01 11 10 00 01 11 10
AB 00 0 0 0 0 AB 00 0 0 0 0
0 1 3 2 0 1 3 2
AB 01 X 1 1 1 AB 01 X 1 1 1
4 5 7 6 4 5 7 6
AB 11 1 1 X X AB 11 1 1 X X
12 13 15 14 12 13 15 14
m
AB 01 0 X 0 0 AB 01 0 X 0 0
8 9 11 10 8 9 11 10
Figure-2.72 Figure-2.73
To form an octet of cells 4,5,7,6,12,13,14 and 15, the don’t cares 4, 15 are considered as 1’s
and the don’t care in cell ‘9’ is considered as ‘0’.
Therefore the simplified Boolean expression is F(A, B, C, D)=B
r u
Example-20: Simply the boolean function uisng k-map techique.
Sol.
Fw , x , y, z m 0,1,4,8,9,10 which has the don’t care conditions d(2, 11).
c t
e
yz yz yz yz yz yz yz yz yz yz
wx wx
00 01 11 10 00 01 11 10
p
wx 00 1 1 0 X wx 00 1 1 0 X
0 1 3 2 0 1 3 2
wyz
S
wx 01 1 0 0 0 wx 01 1 0 0 0
4 5 7 6 4 5 7 6
wx 11 0 0 0 0 wx 11 0 0 0 0
12 13 15 14 12 13 15 14
1 1 X 1 wx 10 1 1 X 1 wx
wx 10
8 9 11 10 xy 8 9 11 10
Figure-2.74 Figure-2.75
The don’t cares in cell ‘11’ is considered as ‘1’. So that cell 8,9,10 and 11 form a quad. The
don’t care in cell ‘2’ is considered as ‘0’.
115
Digital System Design
yz yz yz yz yz yz yz
wx
yz wx yz yz
00 01 11 10 00 01 11 10
0 1 1 1 wxy
wx 00 0 1 1 1 wx 00
0 1 3 2 0 1 3 2
wyz
wx 01 X 1 0 0 wx 01 X 1 0 0
4 5 7 6 4 5 7 6
wxz
wx 11 1 0 1 1 wx 11 1 0 1 1 wxy
12 13 15 14 12 13 15 14
wx 10 X 1 X 0 wx 10 X 1 X 0
xz
8 9 11 10 8 9 11 10
Figure-2.76 Figure-2.77
The don’t care at cell ‘11’ is considered as ‘1’, so that cells 1,3,9,11 forms a quad. The
simplified expression is F w xy w yz wxy xz wx z
Example-22: Reduce FA, B, C, D m0,1,2,5,8,9,10 in sum of products and product of
u m
sum using k-map.
Sol. Given FA , B, C, D m 0,1,2,5,8,9,10
To find the sum of products group the 1’s
t r
AB
AB 00
CD CD
00
1
0
CD
01
1
1
CD
11
e
3
c CD
10
1
2
ACD
AB
AB 00
CD CD
00
1
0
CD
01
1
1
CD
11
0
3
CD
10
1
2
CD
p
BD BD
AB 01 0 1 0 0 AB 01 0 1 0 0
BC
4 5 7 6 4 5 7 6
S
0 0 0 0 0 0 0 0 AB
AB 11 AB 11
12 13 15 14 12 13 15 14
AB 10 1 1 0 1 AB 10 1 1 0 1
8 9 11 10 8 9 11 10
116
Gate Level Minimization
One k-map is used for A and other is used for A. Every cell in one map is adjacent to the
corresponding cell in the other map, because it differs by a single variable. Thus every row on
one k-map is adjacent to the corresponding row on the other k-map.
A or (A=0) A or (A=1)
DE DE DE DE DE DE DE DE DE DE
BC 00 01 11 10 BC 00 01 11 10
BC 00 BC 00
0 1 3 2 16 17 19 18
BC 01 BC 01
4 5 7 6 20 21 23 22
BC 11
12 13 15 14
BC 11
BC 10
28
u m 29 31 30
r
BC 10
8 9 11 10 24 25 27 26
t
Figure-2.80: Five variable k-map
Also each group on one k-map is adjacent to the corresponding group on other k-map.
Example-23: Simplify the Boolean function.
e c
FA, B, C, D, E m 0,2,4,6,9,11,13,15,17,21,25,27,29,31
Sol.
BC
BC 00
DE DE
S
00
1
p 0
A or (A=0)
DE
01
0
1
DE
11
0
3
DE
10
1
2
ABE
BC
DE DE
00
0
16
A or (A=1)
DE
01
1
17
DE
11
0
19
DE
10
0
18
ADE
BC 01 1 0 0 1 0 1 0 0
4 5 7 6 20 21 23 22
BE BE
BC 11 0 1 1 0 0 1 1 0
12 13 15 14 28 29 31 30
BC 10 0 1 1 0 0 1 1 0
8 9 11 10 24 25 27 26
Figure-2.81
Here the quad formed by cells 0,2,4,6 is available in k-map ‘ A ’ only. So its expression is
ABE . The quad formed by cells 17,21,29 and 25 is available in k-map ‘A’ only. So its expression
117
Digital System Design
is A DE . But the quad formed by cells 13,15,9 and 11 is available in k-map ‘ A ’. So its expression
is BE. The simplified expression is FA , B, C, D, E A BE A DE BE
Example-24: Simplify the Boolean function
FA, B, C, D, E m0, 5, 6, 8, 9,10,11,16, 20, 24, 25, 26, 27, 29, 31
Sol.
A or (A=0) A or (A=1)
DE DE DE DE DE DE DE DE DE DE
BC 00 01 11 10 BC 00 01 11 10
ABDE
BC 00 1 0 0 0 BC 00 1 0 0 0
m
0 1 3 2 16 17 19 18
ABCDE
BC 01 0 1 0 1 BC 01 1 0 0 0
u
4 5 7 6 20 21 23 22
r
BC 11 0 0 0 0 BC 11 0 1 1 0
12 13 15 14 28 29 31 30
BC 10 1
8
1
9
1
11
c
1
10
CDE
t
BC 10 1
24
BC
1
25
1
27
1
ABE
26
p
expression is BC . e Figure-2.82
Here the quad formed by cells 8,9,10 and 11 in k-map ‘ A ’ is available in k-map ‘A’. So its
There are two isolated 1’s in cell ‘5’ and cell ‘6’ and it is not available in corresponding cells
S
in k-map ‘A’. So its expression are A BC DE and A BCD E .
The pair formed by cells ‘16’ and ‘20’ is not available in corresponding cells of k-map ‘ A ’.
So its expression is A BD E .
The pair formed by cells ‘0 and 8’ in k-map ‘ A ’ is not available in corresponding cells of k-
map ‘A’. But in the corresponding cells ‘16’ and ‘24’ there are 1’s. So a pair can be formed by
the cells ‘16’ and ‘24’. Now the pair formed by cells ‘0’ and ‘8’ in k-map ‘ A ’ is available in
corresponding cells of k-map ‘A’. So its expression is C D E . The quad formed by cells 29,31,25
and 27 is not available in corresponding cells of k-map ‘ A ’. So its expression is ABE.
The simplified expression is F BC A BC DE A BCD E A BD E C D E ABE .
Example-25: Reduce the function using k-map technique
FA, B, C, D, E m1,4,8,10,11,20,22,24,25,26 d 0,12,16,17 .
Sol.
118
Gate Level Minimization
A or (A=0) A or (A=1)
BC
DE DE DE DE DE BCD BC DE DE DE DE DE
00 01 11 10 00 01 11 10
BC 00 X 1 0 0 BC 00 X X 0 0
0 1 3 2 16 17 19 18
ABCE
BC 01 1 0 0 0 BC 01 1 0 0 1
4 5 7 6 20 21 23 22
BC 11 X 0 0 0 BC 11 0 0 0 0
12 13 15 14 28 29 31 30
BC 10 1 0 1 1 BC 10 1 1 0 1
m
8 9 11 10 24 25 27 26
ADE
u
ABCD BCE ACD
Figure-2.83
t r
The quad formed by cells 0,4,12 and 8 in k-map ‘ A ’ is not available in corresponding cells
of k-map ‘A’. Its expression is A DE . The quad formed by cells 16,17,24 and 25 in k-map ‘A’ is
not available in corresponding cells of k-map ‘ A ’. Its expression is A C D . The pair formed by
c
cells 11 and 10 in k-map ‘ A ’ is not available in corresponding cells of k-map ‘A’. Its expression
is ABCD . The pair formed by cells ‘0’ and ‘1’ in k-map ‘ A ’ is not available in corresponding
e
cells of k-map ‘A’. But if we group the don’t cares ‘16’ and ‘17’. We can write the expression as
BC D . The pair formed by cells ‘8’ and ‘10’ in k-map ‘ A ’ is available in corresponding cells of
p
k-map ‘A’. So its expression is BC E . The pair formed by cells ‘20’ and ‘22’ in k-map ‘A’ is not
available in corresponding cells of k-map ‘ A ’. So its expression is A BC E . Therefore the simpli-
S
fied boolean expression is F A D E A C D ABCD BC D BC E A BC E
2.1.11 Six Variable k-map
AB or (AB=00) AB or (AB=01)
EF EF EF EF EF EF EF EF EF EF
CD 00 01 11 10 CD 00 01 11 10
CD 00 CD 00
0 1 3 2 16 17 19 18
CD 01 CD 01
4 5 7 6 20 21 23 22
CD 11 CD 11
12 13 15 14 28 29 31 30
CD 10 CD 10
8 9 11 10 24 25 27 26
119
Digital System Design
AB or (AB=10) AB or (AB=11)
EF EF EF EF EF EF EF EF EF EF
CD 00 11 10 CD 00 01 11 10
01
CD 00 CD 00
32 33 35 34 48 49 51 50
CD 01 CD 01
36 37 39 38 52 53 55 54
CD 11 CD 11 60 61 62
44 45 47 46 63
CD 10 CD 10
40 41 43 42 56 57 59 58
m
Figure-2.84: Six variable k-map
A six variable k-map contains 2 6 64 cells . If the variables are A,B,C,D,E and F, four identical
u
16 cell k-maps are constructed using the variable C,D,E and F. First k-map is used for AB
second k-map is used for AB , third k-map is used for A B and fourth k-map is used for AB.
Example-26: Simplify the Boolean function
Sol.
FA , B, C, D, E, F m 0,5,7,8,9,12,13,23,25,28,29,37,40,42,44,46,55,57 ,60,61
t r
c
AB or (AB=00) AB or (AB=01)
EF EF EF EF EF EF EF EF EF EF
CD Group 2 CD 11
00 01 11 10 00 01 10
ABCDF
CD 00
p
CD 01
CD 11
1
1
0
4
0
1
1
5
1
0
0
3
7
e 0
0
2
6
CD 00
CD 01
CD 11
0
1
16
20
0
1
17
21
0
0
19
23
0
0
18
22
S
12 13 15 14 28 29 31 30
CD 10 1 1 0 0 CD 10 1 1 0 0
8 9 11 10 24 25 27 26
Group 1
AB or (AB=10) Group4 AB or (AB=11) Group6
ABDEF ACE
EF EF EF EF EF Group3 EF EF EF EF EF BCDEF
CD 00 01 11 10 BCDEF CD 00 01 11 10
CD 00 0 0 0 0 CD 00 0 0 0 0
32 33 35 34 48 49 51 50
Group5
BCE
CD 01 0 1 0 0 CD 01 0 0 1 0
36 37 39 38 52 53 55 54
CD 11 1 0 0 1 CD 11 1 1 0 0
44 45 47 46 60 61 63 62
CD 10 1 0 0 1 CD 10 1 1 0 0
40 41 43 42 56 57 59 58
Group7 ABCF
Figure-2.85: Simplification using 6-variable k-map
120
Gate Level Minimization
Group 1 and group2 are two pairs of 1’s in the first 16 cell k-map. Group3 formed by two
isolated 1’s from first 16-cell map and third 16 cell k-map. Group4 is a combination of two quads
from first 16 cell and second 16-cell k-map. Similarly group5 is a combination of two quads form
second and fourth 16 cell k-map. Group6 is again a combination of isolated 1’s from second and
fourth 16 cell k-map. Finally group7 is a quad within the third k-map. This gives the simplification
expression as F A BD E F A BCDF BCD EF AC E BCE BCDEF A BCF
Example-27: Simplify the Boolean function FA , B, C, D, E , F m 0, 2, 3, 6, 7,18,19,
22, 23, 24, 25, 32, 34, 35, 38, 40, 41, 42, 43, 50, 51, 54, 55, 56, 57 , 58, 59
Sol.
AB or (AB=00) AB or (AB=01)
EF EF EF EF EF EF EF EF EF EF
CD
m
CD 00 01 11 10 00 01 11 10
CD 00 1 0 1 1 CD 00 0 0 1 1
u
0 1 3 2 16 17 19 18
0 0 1 1
r
CD 01 0 0 1 1 CD 01
4 5 7 6 20 21 23 22
CD 11
CD 10
0
0
12
8
0
0
13
9
0
0
15
11
0
c
14
10
CD 11
CD 10
t
0
1
28
24
0
1
29
25
0
0
31
27
0
0
30
26
e
Group4 Group1
AB or (AB=10) AB or (AB=11) Group3
BCDF CE
EF EF EF EF EF EF EF EF EF EF BCDE
p
CD 00 01 11 10 CD 00 01 11 10
CD 00 1 0 1 1 CD 00 0 0 1 1
S
32 33 35 34 Group5 48 49 51 50
(not needed)
CD 01 0 0 1 1 CD 01 0 0 1 1
36 37 39 38 52 53 55 54
CD 11 0 0 0 0 Group2 CD 11 0 0 0 0
44 45 47 46 ACD 60 61 63 62
CD 10 1 1 1 1 CD 10 1 1 1 1
40 41 43 42 56 57 59 58
Figure-2.86
Figure 2.85
The quad formed by cells 2,3,6 and 7 in k-map A B is available in corresponding cells of all
four k-map. So its expression is CE .
The quad formed by cells 40,41,42 and 43 in k-map AB is available in corresponding cells of
k-map ‘AB’. So its expression is AC D .
121
Digital System Design
The pair formed by cells 24 and 25 in k-map AB is not available in corresponding cells of k-
map ‘AB’. However if we form a pair on cell 56 and 57 the expression can be written as
BCDE .
The pair formed by cells 0 and 2 in k-map A B is not available in corresponding cells of k-
map AB . However if we form a pair on cell 32 and 34 the expression can be written as BC D F .
Since the 1’s in 32,34,40,42 have already grouped, group5 is not needed.
Therefore the simplified expression for the given function is
FA, B, C, D, E , F CE ACD BCD E BC D F
u m
In previous, we discussed K-map method, which is a convenient method for minimizing Boolean
functions up to 5 variables. But, it is difficult to simplify the Boolean functions having more than
5 variables by using this method.
t r
Quine-McCluskey tabular method is a tabular method based on the concept of prime
implicants. We know that prime implicant is a product or sum term, which can’t be further
reduced by combining with any other product or sum terms of the given Boolean function.
e c
As the number of variables increase, the k-map method becomes more complex. The tabu-
lation method overcomes this difficulty. The tabulation method was first formulated by quine and
later improved by Mc cluskey. So tabular method is also known as Quine-Mc cluskey method.
Procedure of Quine-McCluskey Tabular Method
p
Follow these steps for simplifying Boolean functions using Quine-Mc Cluskey tabular method.
Step-1: Arrange the given min terms in an ascending order and make the groups based on the
S
number of ones present in their binary representations. So, there will be at most ‘n+1’
groups if there are ‘n’ Boolean variables in a Boolean function or ‘n’ bits in the binary
equivalent of min terms.
Step-2: Compare the min terms present in successive groups. If there is a change in only one-
bit position, then take the pair of those two min terms. Place this symbol ‘_’ in the
differed bit position and keep the remaining bits as it is.
Step-3: Repeat step2 with newly formed terms till we get all prime implicants.
Step-4: Formulate the prime implicant table. It consists of set of rows and columns. Prime
implicants can be placed in row wise and min terms can be placed in column wise.
Place ‘1’ in the cells corresponding to the min terms that are covered in each prime
implicant.
Step-5: Find the essential prime implicants by observing each column. If the min term is cov-
ered only by one prime implicant, then it is essential prime implicant. Those essential
prime implicants will be part of the simplified Boolean function.
122
Gate Level Minimization
Step-6: Reduce the prime implicant table by removing the row of each essential prime implicant
and the columns corresponding to the min terms that are covered in that essential prime
implicant. Repeat step 5 for Reduced prime implicant table. Stop this process when all
min terms of given Boolean function are over.
The simplified steps to be followed in the quine-mc cluskey method are
1. List all the minterms in the binary form.
2. Arrange the minterms according to the number of 1’s.
3. Compare each binary number with every term in the adjacent next higher category and if
they differ only by one position, put a check mark and copy the term in the next column with
‘-’ in the position that they differed.
4. Apply the same process described in step 3 for the resultant column and continue these
5.
6.
List all prime implicants.
u m
cycles until a single pass through cycle yields no further elimination of literate.
Select the minimum number of prime implicants which must cover all the minterms.
method.
FA, B, C, D m0,2,3,6,7,8,10,12,13
t r
Example-28: Simplify the following Boolean function by using the quine-mc cluskey
c
Sol.
Step-1: List all the minterms in the binary form.
e
Minterm Binary representation
m0 0000
p m2 0010
m3 0011
S m6
m7
m8
m10
m12
0110
0111
1000
1010
1100
m13 1101
Step 2: Arrange the minterms according to the number of 1’s.
Number of 1’s Minterms Binary representation
0 m0 0 0 0 0
1 m2 0 0 1 0
1 0 0 0
m8
123
Digital System Design
2 m3 0 0 1 1
0 1 1 0
m6 1 0 1 0
m10 1 1 0 0
m12
3 m7 0 1 1 1
1 1 0 1
m13
Step-3: Compare each binary number with every term in the adjacent next higher category and
if they differ only by one position, put a check mark against the minterms and copy the
term in the next column with ‘-’ in the position that they differed.
m
Minterms Binary representation
A B C D
(0,2) 0 0 0
(0,8)
(2,3)
(2,6)
r
0 0 0
0 0 1
u
t
0 1 0
(2,10)
(8,10) 0 1 0
c
(8,12) 1 0 0
1 0 0
p
(3,7)
(6,7)
(12,13)
e 0
0 1 1
1 1 0
1 1
Step-4: Apply the same process described in step 3 for the resultant column and continue these
S
cycles until a single pass through cycle yields no further elimination.
Minterms
0,2, 8,10
2,3, 6,7
Binary representation
0 0
0 1
Step-5: List the prime implocants
Minterms Binary representation
A B C D
(a) (0,2,8,10) 0 0
(b) (2,3,6,7)
(c) (8,12)
0 1
1 0 0
(d) (12,13) 1 1 0
124
Gate Level Minimization
Step-6: Select the minimum number of prime implicants which must cover all the minterms.
Prime Implicants
*a 0,2,8,10
*b 2,3,6,7
C 8,12
*d 12,13
First arrange the prime implicants based on number of minterms in each group. Here we are
having 4 sets of prime implicants. Compare each set of prime implicants with other set, starting
from ‘d’ to ‘a’.
Compare ‘d’ with c, b and a. If both 12 and 13 is available in any one set c, b or a then strike
set ‘d’. Else mark it by (*). Here ‘12’ is available in ‘C’ but ‘13’ is not available. So mark ‘d’ by
u m
(*). Similarly compare ‘C’ with a, b and d. If both 8 and 12 is available in any one set a, b or d,
then strike ‘C’. Here ‘8’ and ‘12’ are available in set ‘a’ and ‘d’, so strike ‘c’. Similarly compare
‘b’ with ‘a’ and ‘d’ (no need to compare with c). Here all the minterms 2,3,6,7 are not available
in set ‘a’ and ‘d’. So mark it by (*). So set a, b and d are minimum prime implicants. So the
simplified expression can be written from table.
FA , B, C, D 0 0 0 1 110
FA , B, C, D BD AC ABC .
t r
Sol. c
Example-29: Find all the prime implicants of the function
f (a , b, c, d ) m0, 2, 3, 4, 8,10,12,13,14 using the Quine- McCluskey algorithm.
e
p
f (a , b, c, d ) m 0, 2, 3, 4, 8,10,12,13,14
Step-1: Represent each minterm in its 1/0 notation
No
0
2
3
4
S Minterm
abcd
abcd
abcd
abcd
1/0 notation
0000
0010
0011
0100
Index
0
1
2
1
8 abcd 1000 1
10 abcd 1010 2
12 abcd 1100 2
13 abcd 1101 3
14 abcd 1110 3
Step-2: List the minterms in increasing order of their index.
125
Digital System Design
a b c d
0 0 0 0 0 index 0
}
2 0 0 1 0
4 0 1 0 0 index 1
8 1 0 0 0
3 0 0 1 1
10
12
1
1
0
1
1
0
0
0
} index 2
13
14
1
1
1
1
0
1
1
0
} index 3
t r a
0
0
b
0
-
c
-
0
d
0
0
4
8
3
10
0
1
0
1
e c 1
0
0
0
0
0
1
1
0
0
1
0
(0, 8) - 0 0 0
p
12 1 1 0 0
13 1 1 0 1
S
14 1 1 1 0
Figure-2.88: After iteration i=0
Step 6: Set i= 1 pick up each term with index 1 and 2 and repeat step 5.
a b c d a b c d
0 0 0 0 0 (0, 2) 0 0 - 0
2 0 0 1 0 (0, 4) 0 - 0 0
4 0 1 0 0 (0, 8) - 0 0 0
8 1 0 0 0 (2, 3) 0 0 1 -
3 0 0 1 1 (2, 10) - 0 1 0
10 1 0 1 0 (4, 12) - 1 0 0
12 1 1 0 0 (8, 10) 1 0 - 0
13 1 1 0 1 (8, 12) 1 - 0 0
14 1 1 1 0
Figure-2.89: After iteration i=1
126
Gate Level Minimization
Set i= 2 Pick up each term with index 2 and 3 and repeat step 5.
a b c d a b c d
}
0 0 0 0 0 (0, 2) 0 0 - 0
2 0 0 1 0 (0, 4) 0 - 0 0 index = 0
4 0 1 0 0 (0, 8) - 0 0 0
(2, 3) 0 0 1 -
}
8 1 0 0 0
3 0 0 1 1 (2, 10) - 0 1 0
10 1 0 1 0 (4, 12) - 1 0 0 index = 1
12 1 1 0 0 (8, 10) 1 0 - 0
13 1 1 0 1 (8, 12) 1 - 0 0
14 1 1 1 0 (10, 14)
(12, 13)
1
1
-
1
1
0
} m0
- index = 2
u
(12, 14) 1 1 - 0
Figure-2.90: After iteration i=2
a b c d a b c d r
Step-7: Repeat steps 4, 5 and 6 on the new list. Set i =0. Pick up each term with index 0 and 1
t a b c d
0
2
4
0
0
0
0
0
1
0
1
0
0
0
0
e
(0, 2)
(0, 4)
(0, 8)
0
0
- c
0
-
0
-
0 0
0 0
0 (0, 2) (8, 10)
(0, 4) (8, 12)
(8, 10) (12, 14) 1
-
-
0
-
-
- 0
0 0
- 0
p
8 1 0 0 0 (2, 3) 0 0 1 -
3 0 0 1 1 (2, 10) - 0 1 0
10
12
13
14
1
1
1
1
S
0
1
1
1
1
0
0
1
0
0
1
0
(4, 12)
(8, 10)
(8, 12)
(10, 14)
(12, 13)
-
1
1
1
1
1
0
-
-
1
0 0
-
0 0
1 0
0
0
- *
(12, 14) 1 1 - 0
Figure-2.91: After iteration i=0 on the second list
Note that combining (0, 2) (8, 10) (or) (0, 8) (2, 10) results in the same singe term - 0 -0.
Combining (0, 4) (8, 12) or (0, 8) (4, 12) results in the same single term - 0 -0.
0 0 1 - does not pair with any other term and is left without a ‘ ’ beside it.
Set i=1. Pick up each term with index 1 and 2 in the second list and repeat step 5.
127
Digital System Design
a b c d a b c d
0 0 0 0 0 (0, 2) 0 0 - 0
2 0 0 1 0 (0, 4) 0 - 0 0
4 0 1 0 0 (0, 8) - 0 0 0
8 1 0 0 0 (2, 3) 0 0 1 -
3 0 0 1 1 (2, 10) - 0 1 0
10 1 0 1 0 (4, 12) - 1 0 0
12 1 1 0 0 (8, 10) 1 0 - 0
13 1 1 0 1 (8, 12) 1 - 0 0
14 1 1 1 0 (10, 14)
(12, 13)
(12, 14)
1
1
1
-
1
1
1
0
-
u
0
-
0
m *
t r
d
0
} index = 0
c
(0, 4) (8, 12) - - 0 0
(0, 8) (12, 14) 1 - - 0 index = 1
p e
Figure-2.92: After iteration i=1 on the second list
Note that combining (8, 10) (12, 14) (or) (8, 12) (10, 14) results in the same single term 1- -
0. Repeat steps 4, 5 and 6 on the third list. Set i = 0.
Pick up each term with index 0 and 1 in the third list and repeat step 5.
S
We see that no new list can be generated as no pairs of terms combine to form single terms.
Step-8: Terminate the process as no new lists are formed.
Step-9: The prime implicants are the terms without a ‘’ mark beside them.
a b c, a b c from second list b d, c d and a d and from the third list.
Example-30: Find all the prime implicants of the function
f (a , b, c, d ) m7, 9, 12, 13, 14, 15 d ( 4,11) using the Quine- McCluskey algo-
rithm.
Sol.
We saw in Section 2.6 that don’t care cells are considered as 1-cells to determine prime implicants.
The given function thus becomes.
f (a , b, c, d ) m 7, 9, 12, 13, 14, 15
Step-1: Represent each min terms in its 1/0 notation.
128
Gate Level Minimization
4
a
0
b
1
c
0
d
0 index 1
u m
9
12
7
1
1
0
0
1
1
0
0
1
1
0
1
}
t r
index 2
e
11
13
14
1
1
1
0
1
1
c}
1
0
1
1
1
0
index 3
S p 15 1 1 1 1 index 4
129
Digital System Design
a b c d a b c d
(4, 12) - 1 0 0 (9, 11) (13, 15) 1 - - 1
(9, 11) 1 0 - 1 (12, 13) (14, 15) 1 1 - -
(9, 13) 1 - 0 1
(12, 13) 1 1 0 -
(12, 14) 1 1 - 0
(7, 15) - 1 1 1
(11, 15) 1 - 1 1
(13, 15) 1 1 - 1
(14, 15) 1 1 1 -
Figure-2.94: The Quine-McCluskey algorithm
The terms without a besides them constitute the prime implicants.
The prime implicants are bcd , b c d ad and ab.
f abcd ab ad bcd bc d
u m
t r
The NAND and NOR gates are the universal gates. NAND and NOR gates can be used to
produce the AND, OR and NOT functions. Also, NAND and NOR gates are easier to fabricate
with electronic components and are the basic gates used in all IC digital logic families.
c
When implementing any Boolean expression, it involves various logic gates and it needs
various standard ICs. But all gates within the standard ICs are not utilized. For example to imple-
ment Boolean expression AB CD we require two AND gates, one OR gate and one NOT
e
gate. This requires 3 standard ICs. But gates utilizes from ICs are very less. To improve utilization
of ICs and reduce number of ICs required, NAND/NOR gates are used to implement Boolean
expression. For this, conversion of AND/OR/NOT gates into NAND/NOR gates is needed.
p
The graphic symbols for NAND gate are shown in figure 2.95 and the graphic symbols for
NOR gate are shown in figure 2.96. A one-input NAND or NOR gate behaves like an inverter as
S
shown in figure 2.96.
A A
B B F=A+B+C
F=ABC C = ABC
C
Figure-2.95: Graphic symbol for NAND gate
A
A
B F=ABC
B = A+B+C
C
C F=A+B+C
Figure-2.96: Graphic symbol for NOR gate
X X X X X X
u m
Step-1: Draw AND-OR circuit.
A
B
t r
C
D
E
e c F
S p
Step-2: Add bubbles on output of each AND gate and input f OR gate.
A
B
C
F
D
E
Step-3: Replace other gates by NAND gates.
A
B
C
F
D
131
Digital System Design
Step-1: Draw original logic diagram for Y A BC D
A
B
F
C
D
m
Step-2: Add bubbles on the output of the AND gates and input of the OR gate.
A
u
B
Y
r
C
D
c t
Step-3: Add inverters on each line that received a bubbles.
A
e
C
D
p
Step-4: Eliminate double inversions.
A
S B
C
D
Step-5: Replace the other gates by only NAND gates.
A
Y
B Y
C
D
Example-33: Implement NAND gates for Y AB C D EF .
Sol.
Step-1: Draw the original logic diagram for the expression.
132
Gate Level Minimization
A
B
C
Y
D
E
F
Step-2: Add bubbles on the output of the AND gates and input of the OR gates.
A
B
m
C
D Y
E
F
r
Step-3: Add inverters on each line that received a bubble.
u
t
A
B
c
C
D Y
E
F
p A
B
e
Step-4: Eliminate double inversions.
S C
D
E
F
Step-5: Draw the circuit with only NAND gates.
Y
A
B
C
D Y
E
F
133
Digital System Design
F A BC.D .
Sol.
Step-1: Draw the original logic diagram for the given Boolean expression,
A
B F
C
D
B
C
u m
Step-2: Add bubbles on output of each OR gate and add bubbles on input of each AND gate.
A
F
t r
Step-3: Add inverters on each line that received bubbles.
A
B
C
D
e c F
S p
Step-4: Eliminate double inversions.
D
A
B
C F
A
B F
134
Gate Level Minimization
An X-OR gate is a two input, one output logic circuit, whose output assumes a logic 1 state when
one and only one of its two inputs assumes a logic 1 state, Under the conditions when both the
inputs assume the logic 0 state, or when both the inputs assume the logic 1 state, the output
assumes a logic 0 state.
Since an X-OR gate produces an output 1 only when the inputs are not equal, it is called an
anti-coincide gate or inequality detector. The output of an X-OR gate is the modulo sum of its two
inputs, The name Exclusive-OR is derived from the fact that its output is a 1, only when exclu-
sively one of its inputs is a l (it excludes the condition when both the inputs are 1).
The logic symbol and truth table of a two-input X-OR gate are shown in figures 2.98 a and
m
2.120 b, respectively. If the input variables are represented by A and B and the output variable by
X the expression for the output of this gate is written as X A B AB AB and read as ‘X is
equal to A ex-or B’.
u
r
0 0 1 1 1
0 1 0
0 1 0 1
t
Truth table
Inputs Outputs
c
A X =A +B A B X =A +B Input X = Input
B 0 0 0
0 1 1 1
e
Logic symbol 1 0 1
(a) 1 1 0
(c) X-OR gate as an inverter
(b)
135
Digital System Design
2.5 OUTCOMES
u m
r
1. Define the term “gate-level minimization” in digital logic design. Provide an example of why
minimizing logic gates is important in circuit design.
2.
3.
c
Show the steps of simplification.
t
Given a boolean expression F = AB + A’C + BC, simplify it using the karnaugh map method.
What is a “don’t-care” condition in boolean logic? How does it help in simplifying logic
4.
5.
p e
expressions? Provide an example.
Explain the concept of “NAND” and “NOR” implementation of logic gates. Compare the
advantages and disadvantages of each approach.
Solve the following problem: using only NAND gates, implement the boolean expression F
6.
7.
S
= AB + C.
Define a multiplexer. Provide a scenario in which a multiplexer can be used for data selection
Explain the difference between a multiplexer and a demultiplexer. Provide an example of
their practical applications.
8. Given a truth table for a three-input multiplexer, design the circuit and provide the expression
for its output.
9. Describe the working principle of a demultiplexer. How does it differ from a decoder?
10. Solve the following problem: Design a 2-to-1 multiplexer using logic gates. Provide the truth
table and circuit diagram.
11. Define a “hazard” in digital circuits. Provide an example of how hazards can occur and how
they can be mitigated.
136
Gate Level Minimization
12. Given a four-variable boolean function F = AB’CD + AB’C’D + ABCD, simplify it using
the Quine-McCluskey method. Show the steps of simplification.
13. What is the concept of “don’t-care” conditions in karnaugh maps? How can they be used to
optimize circuit design?
14. Discuss the advantages and disadvantages of using NAND gates and NOR gates for
implementing logic functions.
15. Reduce the expression F(a,b,c)= (2,3,4,5) using mapping and implement it in A-O-I.
II. Long Answer Questions
1. Describe the process of map simplification for a five-variable boolean function. Present the
2.
m
Karnaugh map, intermediate steps, and the final simplified expression.
Solve the following problem: using the exclusive-OR (XOR) function, design a circuit that
performs binary addition for two single-bit inputs.
u
r
3. Explain the concept of a “Decoder” and its role in digital systems. Design a 3-to-8 decoder
using NAND gates and provide its truth table.
4.
5.
6.
t
Explain the NAND-NOR realization of Boolean function with example.
c
Explain in detail about multilevel gate implementation.
Reduce using the k-mapping the expression F(A,B,C,D)= (2,3,6,7,10,11,13,14)
7.
8.
9.
p e
Reduce using the k-mapping the expression F(A,B,C,D)= (8,9,10,11,12,14))
Reduce the given function using K-Map and implement the same using Universal gate
F(a,b,c,d) = (0,2,4,6,7,8,10,12,13,15)
Find the simplified expression F= (1,3,7,11,15)+ d(10,14) [JNTUH-2018]
S
10. Implement the following using 8 input multiplexer
F( A B C D ) (0, 1, 3, 4, 6, 8, 15)
11. Explain about Multiplexer and Demultiplexer.
12. What is multiplexing and demultiplexing.
13. Obtain an 8 : 1 multiplexer with a dual 4 : 1 multiplexer having seperate enable inputs but
common selection lines. Use block diagram approach.
137
Digital System Design
u m
Which logic gate is commonly used to perform binary addition in digital systems?
(d) NOT gate
( )
r
6. The expression AB’ + A’B can be simplified to: ( )
t
(a) A (b) B (c) AB (d) 0
7. A four-variable map consists of how many cells? ( )
8.
(a) 8
e c (c) 16
In a Karnaugh map, what does a “don’t-care” condition represent?
(d) 20
9.
S p
(c) A state with unpredictable output (d) A state for which output is not relevant
The main disadvantage of using NOR gates in logic design are:
(a) Slower propagation delay
(c) Larger physical size
(b) Higher power consumption
( )
138
Gate Level Minimization
m
(a) AB+C (b) A’B+C (c) A’B+C’ (d) AB+C’
15. The implicants which will definitely occur in the final expression are called ____ ( )
u
(a) Don’t Care (b) Essential Prime Implicant
(c) False Prime Implicant (d) None
e c
17. The given expression Y= (0,2,3,4,6) in SOP form is ___
( )
p
(a) A product term
(c) A literal term
S
(b) A sum term
(d) A complemented term
19. If multiplexer has x select lines, it has ____ output(s)
(a) one (b) x (c) 2x (c) Two
( )
20. Two 16:1 and one 2:1 multiplexers can be connected to form a ____. ( )
(a) 16:1 multiplexer (b) 32:1 multiplexer
(c) 64:1 multiplexer (d) 8:1 multiplexer
21. A demultiplexer has ______ ( )
(a) One data input and a number of selection inputs and they have several outputs
(b) One input ane one output
(c) Several inputs and several outputs
(d) Several inputs and one input
139
Digital System Design
Keys
1. (b) 2. (c) 3. (c) 4. (b) 5. (c)
6. (d) 7. (c) 8. (d) 9. (c) 10. (a)
11. (a) 12. (c) 13. (a) 14. (c) 15. (b)
16. (c) 17. (c) 18. (b) 19. (a) 20. (b)
21. (a)
u m
t r
e c
S p
140