4. Function Simplification
Why simplify?
Simpler expression uses less logic gates.
Thus: cheaper, less power, faster (sometimes).
Simplification techniques:
Algebraic Simplification.
Simplification
simplify symbolically using theorems/postulates.
requires skill but extremely open-ended.
Karnaugh Maps.
Maps
diagrammatic technique using ‘Venn-like diagram’.
easy for humans (pattern-matching skills).
simplified standard forms.
limited to not more than 6 variables.
02/03/14
Quick Review Questions (3)
4
5. Function Simplification
Simplification techniques:
Quine-McCluskey tabulation technique.
technique
tabulation technique based on certain ‘cancellation theorems’.
simplified standard forms.
tedious, repetitive step-by-step technique.
boring to humans BUT suitable for computers.
larger variables possible, but computationally intensive.
02/03/14
Quick Review Questions (3)
5
6. Algebraic Simplification
Algebraic simplification aims to minimise
(i) number of literals, and
(ii) number of terms
But sometimes conflicting.
Let’s aim at reducing the number of literals.
02/03/14
Quick Review Questions (3)
6
10. Algebraic Simplification
Difficulty – needs good algebraic manipulation skills.
Advantage – very open-ended (to your desired form!)
02/03/14
Quick Review Questions (3)
10
11. Half Adder
Half-Adder is a circuit which adds two single bits (called X,Y)
together, to produce a result of two bits (called C, S).
A black-box representation of this circuit is:
Truth table representation is:
X
Y
02/03/14
Half
adder
S
C
(X+Y)
Quick Review Questions (3)
X
0
0
1
1
Y
0
1
0
1
C
0
0
0
1
S
0
1
1
0
11
12. Half Adder
X
0
0
1
1
In sum-of-minterms forms:
C = X.Y
S = X'.Y + X.Y'
Y
0
1
0
1
C
0
0
0
1
S
0
1
1
0
Algebraic simplification could simplify S to:
S = X'.Y + X.Y'
= X⊕Y
Giving:
X
Y
S
C
02/03/14
Quick Review Questions (3)
12
13. Introduction to K-maps
Systematic method to obtain simplified sum-of-products
(SOPs) Boolean expressions.
Objective: Fewest possible terms/literals.
Diagrammatic technique based on a special form of Venn
diagram.
Advantage: Easy with visual aid.
Disadvantage: Limited to 5 or 6 variables.
02/03/14
Quick Review Questions (3)
13
14. Venn Diagrams
Venn diagram to represent the space of minterms.
Example of 2 variables (4 minterms):
a'b'
ab'
ab
a'b
a
b
02/03/14
Quick Review Questions (3)
14
15. Venn Diagrams
Each set of minterms represents a Boolean function.
Examples:
{ a.b, a.b' }
a.b + a.b' = a.(b+b') = a
{ a‘.b, a.b }
a‘.b + a.b = (a'+a).b = b
{ a.b }
a.b
{ a.b, a.b', a‘.b }
{}
a.b + a.b' + a‘.b = a + b
0
{ a‘.b',a.b,a.b',a‘.b } 1
02/03/14
a'b'
a
Quick Review Questions (3)
ab'
ab
a'b
b
15
16. 2-variable K-maps
Karnaugh-map (K-map) is an abstract form of Venn
diagram, organised as a matrix of squares, where
each square represents a minterm
adjacent squares always differ by just one literal (so that the
unifying theorem may apply: a + a' = 1)
1
For 2-variable case (e.g.: variables a,b), the map can be
drawn as:
02/03/14
Quick Review Questions (3)
16
17. 2-variable K-maps
Alternative layouts of a 2-variable (a, b) K-map
Alternative 1:
b
a'b
'
a
b
OR
m0
a'b
ab'
Alternative 2:
ab
a
m1
m2
m3
a
a'b'
b
ab
OR
m0
ab'
a'b
a
b
m2
m1
m3
Alternative 3:
a
02/03/14
ab
a'b
ab'
b
a
OR
a'b'
b
m3
m1
m2
and others…
m0
Quick Review Questions (3)
17
18. 2-variable K-maps
Equivalent labeling:
b
equivalent to:
a
0
1
1
0
0
1
a
a
b
equivalent to:
b
02/03/14
b
a
0
1
Quick Review Questions (3)
18
19. 2-variable K-maps
The K-map for a function is specified by putting
a ‘1’ in the square corresponding to a minterm
a ‘0’ otherwise
For example: Carry and Sum of a half adder.
b
0
a
0
0
1
C = ab
02/03/14
b
0
a
1
1
0
S = ab' + a'b
Quick Review Questions (3)
19
20. 3-variable K-maps
There are 8 minterms for 3 variables (a, b, c). Therefore,
there are 8 cells in a 3-variable K-map.
b
b
a
bc
01
0
a
00
11
a'b'c'
a'b'c
a'bc
a'bc'
1
ab'c'
ab'c
abc
abc'
a
a
00
01
11
10
0
10
OR
bc
m0
m1
m3
m2
1
m4
m5
m7
m6
c
c
Above arrangement ensures that minterms
of adjacent cells differ by only ONE literal.
(Other arrangements which satisfy this
criterion may also be used.)
02/03/14
Quick Review Questions (3)
Note Gray code sequence
20
21. 3-variable K-maps
There is wrap-around in the K-map:
a'.b'.c' (m0) is adjacent to a'.b.c' (m2)
a.b'.c' (m4) is adjacent to a.b.c' (m6)
a
bc
00
01
11
10
0
m0
m1
m3
m2
1
m4
m5
m7
m6
Each cell in a 3-variable K-map has 3 adjacent neighbours.
In general, each cell in an n-variable K-map has n adjacent
neighbours. For example, m0 has 3 adjacent neighbours:
m1, m2 and m4.
02/03/14
Quick Review Questions (3)
21
22. Quick Review Questions (1)
Textbook page 104.
5-1. The K-map of a 3-variable function F is shown below.
What is the sum-of-minterms expression of F?
b
a
bc
01
0
a
00
11
10
1
0
0
1
1
0
1
0
0
c
5-2. Draw the K-map for this function A:
A(x, y, z) = x.y + y.z’ + x’.y’.z
02/03/14
Quick Review Questions (3)
22
23. 4-variable K-maps
There are 16 cells in a 4-variable (w, x, y, z) K-map.
y
wx
yz
01
11
10
00
m0
m1
m3
m2
01
w
00
m4
m5
m7
m6
11
10
x
m12
m13
m15
m14
m8
m9
m11
m10
z
02/03/14
Quick Review Questions (3)
23
24. 4-variable K-maps
There are 2 wrap-arounds: a horizontal wrap-around and a
vertical wrap-around.
Every cell thus has 4 neighbours. For example, the cell
corresponding to minterm m0 has neighbours m1, m2, m4
and m8.
wx
y
yz
m0
m3
m2
m4
w
m1
m5
m7
m6
m12
m13
m15
m14
m8
m9
m11
m10
x
z
02/03/14
Quick Review Questions (3)
24
25. 5-variable K-maps
Maps of more than 4 variables are more difficult to use
because the geometry (hyper-cube configurations) for
combining adjacent squares becomes more involved.
For 5 variables, e.g. vwxyz, need 25 = 32 squares.
02/03/14
Quick Review Questions (3)
25
26. 5-variable K-maps
Organised as two 4-variable K-maps:
v'
wx
v
y
yz
01
11
m0
m1
m3
m2
01
m4
m5
m7
wx
10
00
w
00
m6
11
10
m13
m15
w
m8
m9
m11
m10
z
01
11
10
m16
m17
m19
m18
01
m14
00
00
x
m12
y
yz
m20
m21
m23
m22
11
10
x
m28
m29
m31
m30
m24
m25
m27
m26
z
Corresponding squares of each map are adjacent.
Can visualise this as being one 4-variable map on TOP of the
other 4-variable map.
02/03/14
Quick Review Questions (3)
26
27. Larger K-maps
6-variable K-map is pushing the limit of human “patternrecognition” capability.
K-maps larger than 6 variables are practically unheard
of!
Normally, a 6-variable K-map is organised as four 4-
variable K-maps, which are mirrored along two axes.
02/03/14
Quick Review Questions (3)
27
28. Larger K-maps
w
b
ef
a‘.b'
10
a‘.b
11
01
00
00
00
01
11
10
m0
m1
m3
m2
m18 m19 m17 m16
m4
cd
m5
m7
m6
ef
m22 m23 m21 m20
00
11
10
10
a
11
cd
01
ef
00
m30 m31 m29 m28
01
m11 m10
m26 m27 m25 m24
11
m40 m41 m43 m42
m58 m59 m57 m56
10
10
m44 m45 m47 m46
01
m12 m13 m15 m14
cd
m62 m63 m61 m60
m36 m37 m39 m38
m54 m55 m53 m52
m32 m33 m35 m34
m50 m51 m49 m48
m8
00
m9
01
11
a.b'
10
10
11
01
a.b
00
11
01
cd
ef 00
Try stretch your recognition capability by finding simplest
sum-of-products expression for Σ m(6,8,14,18,23,25,27,29,41,45,57,61).
02/03/14
Quick Review Questions (3)
28
29. Simplification Using K-maps
Based on the Unifying Theorem:
Theorem
A + A' = 1
In a K-map, each cell containing a ‘1’ corresponds to a
minterm of a given function F.
Each group of adjacent cells containing ‘1’ (group must have
size in powers of twos: 1, 2, 4, 8, …) then corresponds to a
twos
simpler product term of F.
Grouping 2 adjacent squares eliminates 1 variable, grouping 4
squares eliminates 2 variables, grouping 8 squares eliminates 3
variables, and so on. In general, grouping 2 n squares eliminates n
variables.
02/03/14
Quick Review Questions (3)
29
30. Simplification Using K-maps
Group as many squares as possible.
The larger the group is, the fewer the number of literals in the
resulting product term.
Select as few groups as possible to cover all the squares
(minterms) of the function.
The fewer the groups, the fewer the number of product terms in
the minimized function.
02/03/14
Quick Review Questions (3)
30
31. Simplification Using K-maps
Example:
F (w,x,y,z) = w’.x.y'.z' + w'.x.y'.z + w.x'.y.z'
+ w.x'.y.z + w.x.y.z' + w.x.y.z
= Σ m(4, 5, 10, 11, 14, 15)
y
wx
yz
00
01
1
11
10
1
00
01
w
x
1
10
1
1
11
(cells with ‘0’ are not
shown for clarity)
1
z
02/03/14
Quick Review Questions (3)
31
32. Simplification Using K-maps
Each group of adjacent minterms (group size in powers of
twos) corresponds to a possible product term of the given
function.
y
yz
wx
00
01
1
11
10
1
00
A
01
x
1
1
10
w
11
1
1
B
z
02/03/14
Quick Review Questions (3)
32
33. Simplification Using K-maps
There are 2 groups of minterms: A and B, where:
A
=
=
=
w'.x.y'.z' + w‘.x.y'.z
w'.x.y'.(z' + z)
w'.x.y'
B
=
=
=
=
=
w.x'.y.z' + w.x'.y.z + w.x.y.z' + w.x.y.z
yz
w.x'.y.(z' + z) + w.x.y.(z' + z)
wx
w.x'.y + w.x.y
00
w.(x'+x).y
A
01
w.y
y
00
01
1
11
10
1
x
1
1
10
w
11
1
1
B
z
02/03/14
Quick Review Questions (3)
33
34. Simplification Using K-maps
Each product term of a group, w'.x.y' and w.y, represents
w.y
the sum of minterms in that group.
Boolean function is therefore the sum of product terms
(SOP) which represent all groups of the minterms of the
function.
F(w,x,y,z) = A + B = w'.x.y' + w.y
02/03/14
Quick Review Questions (3)
34
35. Simplification Using K-maps
Larger groups correspond to product terms of fewer literals.
In the case of a 4-variable K-map:
1 cell
= 4 literals, e.g.: w.x.y.z, w'.x.y'.z
2 cells
= 3 literals, e.g.: w.x.y, w.y'.z'
4 cells
= 2 literals, e.g.: w.x, x'.y
8 cells
= 1 literal, e.g.: w, y', z
16 cells
02/03/14
= no literal, e.g.: 1
Quick Review Questions (3)
35
36. Simplification Using K-maps
Other possible valid groupings of a 4-variable K-map
include:
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
02/03/14
1
1
1
Quick Review Questions (3)
1
1
36
37. Simplification Using K-maps
Groups of minterms must be
(1) rectangular, and
(2) have size in powers of 2’s.
Otherwise they are invalid groups. Some examples of invalid
groups:
1
1
1
1
1
1
1
1
1
1
1
1
1
1
02/03/14
Quick Review Questions (3)
1
1
37
38. Converting to Minterms Form
The K-map of a function is easily drawn when the function
is given in canonical sum-of-products, or sum-of-minterms
form.
What if the function is not in sum-of-minterms?
Convert it to sum-of-products (SOP) form.
Expand the SOP expression into sum-of-minterms
expression, or fill in the K-map directly based on the SOP
expression.
02/03/14
Quick Review Questions (3)
38
39. Converting to Minterms Form
Example:
f(A,B,C,D) = A(C+D)'(B'+D') + C(B+C'+A'D)
= A(C'D')(B'+D') + BC + CC' + A'CD
= AB'C'D' + AC'D' + BC + A'CD
AB'C'D' + AC'D' + BC + A'CD
= AB'C'D' + AC'D'(B+B') + BC + A'CD
= AB'C'D' + ABC'D' + AB'C'D' +
BC(A+A') + A'CD
= AB'C'D' + ABC'D' + ABC + A'BC +
A'CD
= AB'C'D' + ABC'D' + ABC(D+D') +
A'BC(D+D') + A'CD(B+B')
= AB'C'D' + ABC'D' + ABCD + ABCD' +
A'BCD + A'BCD' + A'B'CD
02/03/14
Quick Review Questions (3)
A
AB
CD
00
01
11
1
00
10
1
01
C
11
10
1
1
1
1
D
1
B
39
40. Simplest SOP Expressions
To find the simplest possible sum of products (SOP)
expression from a K-map, you need to obtain:
minimum number of literals per product term; and
minimum number of product terms
This is achieved in K-map using
bigger groupings of minterms (prime implicants) where possible;
implicants
and
no redundant groupings (look for essential prime implicants)
implicants
Implicant: a product term that could be used
Implicant
to cover minterms of the function.
02/03/14
Quick Review Questions (3)
40
41. Simplest SOP Expressions
A prime implicant is a product term obtained by combining
the maximum possible number of minterms from adjacent
squares in the map.
Use bigger groupings (prime implicants) where possible.
1
1
1
1
1
1
02/03/14
1
1
1
1
1
1
Quick Review Questions (3)
41
42. Simplest SOP Expressions
No redundant groups:
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Essential prime implicants
An essential prime implicant is a prime implicant that
includes at least one minterm that is not covered by any
other prime implicant.
02/03/14
Quick Review Questions (3)
42
43. Quick Review Questions (2)
Textbook page 104.
5-3. Identify the prime implicants and the essential prime
implicants of the two K-maps below.
b
a
bc
CD
00
01
0
a
11
1
1
0
1
1
0
1
0
0
c
A
AB
10
00
00
01
1
11
1
1
1
01
1
10
C
11
10
1
1
1
1
1
D
1
B
02/03/14
Quick Review Questions (3)
43
44. Simplest SOP Expressions
Algorithm 1 (non optimal):
1. Count the number of adjacencies for each minterm on the K-map.
2. Select an uncovered minterm with the fewest number of
adjacencies. Make an arbitrary choice if more than one choice is
possible.
3. Generate a prime implicant for this minterm and put it in the cover.
If this minterm is covered by more than one prime implicant, select
the one that covers the most uncovered minterms.
4. Repeat steps 2 and 3 until all the minterms have been covered.
02/03/14
Quick Review Questions (3)
44
45. Simplest SOP Expressions
Algorithm 2 (non optimal):
1. Circle all prime implicants on the K-map.
2. Identify and select all essential prime implicants for the cover.
3. Select a minimum subset of the remaining prime implicants to
complete the cover, that is, to cover those minterms not covered by
the essential prime implicants.
02/03/14
Quick Review Questions (3)
45
46. Simplest SOP Expressions
Example:
f(A,B,C,D) = ∑ m(2,3,4,5,7,8,10,13,15)
A
AB
CD
00
01
11
00
1
01
1
1
1
1
11
1
10
C
10
1
1
All prime implicants
D
1
B
02/03/14
Quick Review Questions (3)
46
49. Quick Review Questions (3)
Textbook page 104.
5-4. Find the simplified expression for G(A,B,C,D).
A
AB
CD
00
01
11
10
1
00
01
C
1
1
1
1
1
11
1
1
10
5-5 to 5-7.
02/03/14
D
B
Quick Review Questions (3)
49
50. Getting POS Expressions
Simplified POS expression can be obtained by grouping the
maxterms (i.e. 0s) of given function.
Example:
Given F=∑m(0,1,2,3,5,7,8,9,10,11), we first draw
K-map, then group the maxterms together:
A
AB
CD
00
01
11
10
00
1
0
0
1
01
1
1
0
1
11
1
1
0
1
10
C
the
1
0
0
1
D
B
02/03/14
Quick Review Questions (3)
50
52. Don’t-care Conditions
In certain problems, some outputs
are not specified.
These outputs can be either ‘1’ or
‘0’.
They are called don’t-care
conditions, denoted by X (or
conditions
sometimes, d).
Example: An odd parity generator
for BCD code which has 6 unused
combinations.
02/03/14
Quick Review Questions (3)
No.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
P
1
0
0
1
0
1
1
0
0
1
X
X
X
X
X
X
52
53. Don’t-care Conditions
Don’t-care conditions can be used to help simplify Boolean
expression further in K-maps.
They could be chosen to be either ‘1’ or ‘0’, depending on
which gives the simpler expression.
02/03/14
Quick Review Questions (3)
53
54. Don’t-care Conditions
For comparison:
WITHOUT Don’t-cares:
AB
00
00
P = A'.B'.C'.D’ + A'.B'.C.D + A'.B.C'.D
+ A'.B.C.D' + A.B'.C'.D
C
CD
01
11
1
01
10
1
1
1
11
A
B
1
10
D
WITH Don’t-cares:
P = A'.B'.C'.D' + B'.C.D + B.C'.D
+ B.C.D' + A.D
AB
C
CD
00
00
01
11
1
10
1
01
A
1
11 X
X
X
X
10
1
X
X
1
B
D
02/03/14
Quick Review Questions (3)
54
55. Review – The Techniques
Algebraic Simplification.
requires skill but extremely open-ended.
Karnaugh Maps.
can obtain simplified standard forms.
easy for humans (pattern-matching skills).
limited to not more than 6 variables.
Other computer-aided techniques such as QuineMcCluskey method (not covered in this course).
02/03/14
Quick Review Questions (3)
55
56. Review – K-maps
Characteristics of K-map layouts:
(i) each minterm in one square/cell
(ii) adjacent/neighbouring minterms differ by only 1 literal
(iii) n-literal minterm has n neighbours/adjacent cells
Valid 2-, 3-, 4-variable K-maps
b
a'b
'
a
02/03/14
a'b
ab'
b
ab
m0
OR
Quick Review Questions (3)
a
m1
m2
m3
56
58. Review – K-maps
Groupings to select product-terms must be:
(i) rectangular in shape
(ii) in powers of twos (1, 2, 4, 8, etc.)
(iii) always select largest possible groupings of minterms
(i.e. prime implicants)
(iv) eliminate redundant groupings
Sum-of-products (SOP) form obtained by selecting
groupings of minterms (corresponding to product terms).
02/03/14
Quick Review Questions (3)
58
59. Review – K-maps
Product-of-sums (POS) form obtained by selecting
groupings of maxterms (corresponding to sum terms) and
by applying DeMorgan’s theorem.
Don’t cares, marked by X (or d), can denote either 1 or 0.
They could therefore be selected as 1 or 0 to further
simplify expressions.
02/03/14
Quick Review Questions (3)
59
60. Examples
Example #1:
f(A,B,C,D) = ∑ m(2,3,4,5,7,8,10,13,15)
A
AB
CD
00
01
11
00
1
01
1
1
1
1
11
1
10
C
10
1
1
Fill in the 1’s.
D
1
B
02/03/14
Quick Review Questions (3)
60
61. Examples
Example #1:
f(A,B,C,D) = ∑ m(2,3,4,5,7,8,10,13,15)
A
AB
CD
00
01
11
00
1
01
1
1
1
1
11
1
10
C
10
1
1
D
These are all the
prime implicants; but
do we need them
all?
1
B
02/03/14
Quick Review Questions (3)
61
62. Examples
Example #1:
f(A,B,C,D) = ∑ m(2,3,4,5,7,8,10,13,15)
A
AB
CD
00
01
11
00
1
01
1
1
1
1
11
1
10
C
10
1
1
Essential prime implicants:
D
1
B
02/03/14
Quick Review Questions (3)
B.D
A'.B.C'
A.B'.D'
62
63. Examples
Example #1:
f(A,B,C,D) = ∑ m(2,3,4,5,7,8,10,13,15)
A
AB
CD
00
01
11
00
1
01
1
1
1
1
11
1
10
C
10
1
1
Minimum cover.
D
1
B
EPIs: B.D, A'.B.C', A.B'.D'
+
A'.B'.C
f(A,B,C,D) = B.D + A'.B.C' + A.B'.D' + A'.B'.C
02/03/14
Quick Review Questions (3)
63
65. Examples
Example #2:
f(A,B,C,D) = A.B.C + B'.C.D' + A.D + B'.C'.D'
A
AB
CD
00
00
01
11
1
10
1
01
C
1
1
11
1
1
1
Fill in the 1’s.
1
10
1
D
B
02/03/14
Quick Review Questions (3)
65
66. Examples
Example #2:
f(A,B,C,D) = A.B.C + B'.C.D' + A.D + B'.C'.D'
A
AB
CD
00
00
01
11
1
10
1
01
C
1
1
11
1
1
1
Find all PIs:
1
10
1
D
B
A.D
A.C
B'.D'
Are all ‘1’s covered by the PIs? Yes, so the
answer is: f(A,B,C,D) = A.D + A.C + B'.D'
02/03/14
Quick Review Questions (3)
66
67. Examples
Example #3 (with don’t cares):
f(A,B,C,D) = ∑ m(2,8,10,15) + ∑ d(0,1,3,7)
A
AB
CD
00
00
10
C
X
1
10
X
11
11
X
01
01
1
X
Fill in the 1’s and X’s.
D
1
1
B
02/03/14
Quick Review Questions (3)
67
68. Examples
Example #3 (with don’t cares):
f(A,B,C,D) = ∑ m(2,8,10,15) + ∑ d(0,1,3,7)
A
AB
CD
00
00
10
C
X
1
Do we need to have an
additional term A'.B' to
cover the 2 remaining x’s?
10
X
11
11
X
01
01
1
X
D
1
1
No, because all the 1’s
(minterms) have been
covered.
B
f(A,B,C,D) = B'.D' + B.C.D
02/03/14
Quick Review Questions (3)
68
69. Examples
To find simplest POS expression for example #2:
f(A,B,C,D) = A.B.C + B'.C.D' + A.D + B'.C'.D'
Draw the K-map of the complement of f, f '.
AB
CD
00
01
11
1
00
1
01
C
1
1
11
1
1
10
From K-map,
A
10
f ' = A'.B + A'.D + B.C'.D'
Using DeMorgan’s theorem,
D
f = (A'.B + A'.D + B.C'.D')'
= (A+B').(A+D').(B'+C+D)
1
B
02/03/14
Quick Review Questions (3)
69
70. Examples
• To find simplest POS expression for example #3:
f(A,B,C,D) = ∑ m(2,8,10,15) + ∑ d(0,1,3,7)
• Draw the K-map of the complement of f, f '.
f '(A,B,C,D) = ∑ m(4,5,6,9,11,12,13,14) + ∑ d(0,1,3,7)
A
AB
CD
01
11
00
X
1
X
1
1
11
X
X
10
10
f ' = B.C' + B.D' + B'.D
1
1
1
1
B
02/03/14
From K-map,
1
01
C
00
D
Using DeMorgan’s theorem,
f = (B.C' + B.D' + B'.D)'
= (B'+C).(B'+D).(B+D')
Quick Review Questions (3)
70