EEE 211 Lecture 5
EEE 211 Lecture 5
EEE211
Lecture 5
Dr Atiqur Rahman
Dept. of Electrical and Computer Engineering
North South University
Canonical Forms
• It is useful to specify Boolean functions in a
form that:
– Allows comparison for equality.
– Has a correspondence to the truth tables
• Canonical Forms in common usage:
– Sum of Minterms (SOM)
– Product of Maxterms (POM)
Minterms
• Minterms are AND terms with every variable
present in either true or complemented form.
• Given that each binary variable may appear normal
(e.g., x) or complemented (e.g.,x ), there are 2n
minterms for n variables.
• Example: Two variables (X and Y) produce
2 x 2 = 4 combinations:
XY (both normal)
XY (X normal, Y complemented)
XY (X complemented, Y normal)
XY (both complemented)
• Thus there are four minterms of two variables.
Maxterms
• Maxterms are OR terms with every variable in
true or complemented form.
• Given that each binary variable may appear
normal (e.g., x) or complemented (e.g., x), there
are 2n maxterms for n variables.
• Example: Two variables (X and Y) produce
2 x 2 = 4 combinations:
X + Y (both normal)
X + Y (x normal, y complemented)
X + Y (x complemented, y normal)
X + Y (both complemented)
Minterms & Maxterms for 2 variables
• Two variable minterms and maxterms.
x y Index Minterm Maxterm
0 0 0 m0 = x y M0 = x + y
0 1 1 m1 = x y M1 = x + y
1 0 2 m2 = x y M2 = x + y
1 1 3 m3 = x y M3 = x + y
• The minterm mi should evaluate to 1 for each
combination of x and y.
• The maxterm is the complement of the minterm
Minterms & Maxterms for 3 variables
x y z Index Minterm Maxterm
0 0 0 0 m0 = x y z M0 = x + y + z
0 0 1 1 m1 = x y z M1 = x + y + z
0 1 0 2 m2 = x y z M2 = x + y + z
0 1 1 3 m3 = x y z M3 = x + y + z
1 0 0 4 m4 = x y z M4 = x + y + z
1 0 1 5 m5 = x y z M5 = x + y + z
1 1 0 6 m6 = x y z M6 = x + y + z
1 1 1 7 m7 = x y z M7 = x + y + z
Maxterm Mi is the complement of minterm mi
Mi = mi and mi = Mi
Purpose of the Index
• Minterms and Maxterms are designated with an index
• The index number corresponds to a binary pattern
• The index for the minterm or maxterm, expressed as a
binary number, is used to determine whether the variable
is shown in the true or complemented form
• For Minterms:
– ‘1’ means the variable is “Not Complemented” and
– ‘0’ means the variable is “Complemented”.
• For Maxterms:
– ‘0’ means the variable is “Not Complemented” and
– ‘1’ means the variable is “Complemented”.
Standard Order
• All variables should be present in a minterm or
maxterm and should be listed in the same order
(usually alphabetically)
• Example: For variables a, b, c:
– Maxterms (a + b + c), (a + b + c) are in standard order
– However, (b + a + c) is NOT in standard order
(a + c) does NOT contain all variables
– Minterms (a b c) and (a b c) are in standard order
– However, (b a c) is not in standard order
(a c) does not contain all variables
Sum-Of-Minterm (SOM)
• Sum-Of-Minterm (SOM) canonical form:
Sum of minterms of entries that evaluate to ‘1’
x y z F Minterm
0 0 0 0
0 0 1 1 m1 = x y z
0 1 0 0 Focus on the
0 1 1 0 ‘1’ entries
1 0 0 0
1 0 1 0
1 1 0 1 m6 = x y z
1 1 1 1 m7 = x y z
F = m1 + m6 + m7 = ∑ (1, 6, 7) = x y z + x y z + x y z
Sum-Of-Minterm Examples
F = m1+m2+m3+m5+m7 = ∑(1, 2, 3, 5, 7) =
xyz+xyz+xyz+xyz+xyz
F = M0 · M4 · M6 = ∏(0, 4, 6) = x+y+z)(x+y+z)(x+y+z)
Algebraic Conversion to Sum-of-Minterms
• A Simplification Example:
F( A, B, C) = S (1,4,5,6,7)
• Writing the minterm expression:
F = A B C + A B C + A B C + ABC + ABC
• Simplifying:
F = A B C + A (B C + B C + B C + B C)
F = A B C + A (B (C + C) + B (C + C))
F = A B C + A (B + B)
F=ABC+A
F=BC+A
• Simplified F contains 3 literals compared to 15
AND/OR Two-Level Implementation
• The two implementations for F are shown below
A
B
C A
A F
B B
C C
A
B F
C It is quite
A apparent which
B
C is simpler!
A
B
C
SOP and POS Observations
• The previous examples show that:
– Canonical Forms (Sum-of-minterms, Product-of-Maxterms),
or other standard forms (SOP, POS) differ in complexity
– Boolean algebra can be used to manipulate equations into
simpler forms
– Simpler equations lead to simpler implementations
• Questions:
– How can we attain a “simplest” expression?
– Is there only one minimum cost circuit?
– The next part will deal with these issues