COE 202: Digital Logic Design
Combinational Logic
Part 2
Dr. Ahmad Almulhem
Email: ahmadsm AT kfupm
Phone: 860-7554
Office: 22-324
Ahmad Almulhem, KFUPM 2010
Objectives
• Minterms and Maxterms
• From truth table to Boolean expression
• Sum of minterms
• Product of Maxterms.
• Standard and Canonical Forms
• Implementation of Standard Forms
• Practical Aspects of Logic Gates
Ahmad Almulhem, KFUPM 2010
Minterms
• A product term is a term where literals are ANDed.
• Example: x’y’, xz, xyz, …
• A minterm is a product term in which all variables appear
exactly once, in normal or complemented form
• Example: F(x,y,z) has 8 minterms: x’y’z’, x’y’z, x’yz’, ...
• In general, a function with n variables has 2 n minterms
• A minterm equals 1 at exactly one input combination and
is equal to 0 otherwize
• Example: x’y’z’ = 1 only when x=0, y=0, z=0
• A minterm is denoted as mi where i corresponds the input
combination at which this minterm is equal to 1
Ahmad Almulhem, KFUPM 2010
Minterms
Src: Mano’s book
mi indicated the ith minterm
i indicates the binary combination
Variable complemented if 0 mi is equal to 1 for ONLY THAT combination
Variable uncomplemented if 1
Ahmad Almulhem, KFUPM 2010
Maxterms
• A sum term is a term where literals are ORed.
• Example: x’+y’, x+z, x+y+z, …
• A maxterm is a sum term in which all variables appear
exactly once, in normal or complemented form
• Example: F(x,y,z) has 8 maxterms: (x+y+z), (x+y+z’), (x+y’+z), ...
• In general, a function with n variables has 2 n maxterms
• A maxterm equals 0 at exactly one input combination and
is equal to 1 otherwize
• Example: (x+y+z) = 0 only when x=0, y=0, z=0
• A maxterm is denoted as Mi where i corresponds the
input combination at which this maxterm is equal to 0
Ahmad Almulhem, KFUPM 2010
Maxterms
Src: Mano’s book
Mi indicated the ith maxterm
i indicates the binary combination
Variable complemented if 1 Mi is equal to 0 for ONLY THAT combination
Variable not complemented if 0
Ahmad Almulhem, KFUPM 2010
Minterms and Maxterms
In general, a function of n variables has
• 2n minterms: m0, m1, …, m2n-1
• 2n maxterms: M0, M1, …, M2n-1
Minterms and maxterms are the complement of
each other!
Example: F(X,Y):
m2 = XY’ m2’ = X’+Y = M2
Ahmad Almulhem, KFUPM 2010
Expressing Functions with Minterms
• A Boolean function can be expressed algebraically from a give
truth table by forming the logical sum (OR) of ALL the minterms
that produce 1 in the function
X Y Z m F
Example:
0 0 0 m0 1
Consider the function defined by the truth 0 0 1 m1 0
table 0 1 0 m2 1
0 1 1 m3 0
F(X,Y,Z) = X’Y’Z’ + X’YZ’ + XY’Z + XYZ
1 0 0 m4 0
= m0 + m 2 + m5 + m7
1 0 1 m5 1
= m(0,2,5,7)
1 1 0 m6 0
1 1 1 m7 1
Ahmad Almulhem, KFUPM 2010
Expressing Functions with Maxterms
• A Boolean function can be expressed algebraically from a give
truth table by forming the logical product (AND) of ALL the
maxterms that produce 0 in the function
Example: X Y Z M F F’
Consider the function defined by the truth 0 0 0 M0 1 0
table 0 0 1 M1 0 1
F(X,Y,Z) = M(1,3,4,6)
0 1 0 M2 1 0
0 1 1 M3 0 1
Applying DeMorgan
F’ = m1 + m3 + m4 + m6 1 0 0 M4 0 1
= m(1,3,4,6) 1 0 1 M5 1 0
F = F’’ = [m1 + m3 + m4 + m6]’ 1 1 0 M6 0 1
= m1’.m3’.m4’.m6’ 1 1 1 M7 1 0
Note the indices in this list are those that are
= M1.M3.M4.M6 missing from the previous list in m(0,2,5,7)
= M(1,3,4,6)
Ahmad Almulhem, KFUPM 2010
Sum of Minterms vs Product of
Maxterms
• A Boolean function can be expressed
algebraically as:
• The sum of minterms
• The product of maxterms
• Given the truth table, writing F as
• ∑mi – for all minterms that produce 1 in the table,
or
• Mi – for all maxterms that produce 0 in the table
• Minterms and Maxterms are complement of
each other.
Ahmad Almulhem, KFUPM 2010
Example
• Write E = Y’ + X’Z’ in
the form of mi and
X Y Z m M E
Mi? m0 M0
0 0 0 1
0 0 1 m1 M1 1
• Solution: Method1 0 1 0 m2 M2 1
First construct the Truth 0 1 1 m3 M3 0
Table as shown 1 0 0 m4 M4 1
1 0 1 m5 M5 1
Second:
1 1 0 m6 M6 0
E = m(0,1,2,4,5), and m7 M7
1 1 1 0
E = M(3,6,7)
Ahmad Almulhem, KFUPM 2010
Example (Cont.)
Solution: Method2_a Solution: Method2_b
E = Y’ + X’Z’ E = Y’ + X’Z’
= Y’(X+X’)(Z+Z’) + X’Z’(Y+Y’) E’ = Y(X+Z)
= (XY’+X’Y’)(Z+Z’) + = YX + YZ
X’YZ’+X’Z’Y’ = YX(Z+Z’) + YZ(X+X’)
= XY’Z+X’Y’Z+XY’Z’+X’Y’Z’+ = XYZ+XYZ’+X’YZ
X’YZ’+X’Z’Y’ E = (X’+Y’+Z’)(X’+Y’+Z)
= m5 + m1 + m4 + m0 + m2 + (X+Y’+Z’)
m0 = M7 . M6 . M3
= m0 + m1 + m2 + m4 + m5 = M(3,6,7)
= m(0,1,2,4,5)
To find the form mi, consider
To find the form Mi, consider the the remaining indices
remaining indices Ahmad Almulhem, KFUPM 2010 E = m(0,1,2,4,5)
E = M(3,6,7)
Example
Question: F (a,b,c,d) = ∑m(0,1,2,4,5,7), What are the
minterms and maxterms of F and and its complement F?
Solution:
F has 4 variables; 24 possible minterms/maxterms
F (a,b,c,d) = ∑m(0,1,2,4,5,7)
= Π M(3,6,8,9,10,11,12,13,14,15)
F (a,b,c,d) = ∑m(3,6,8,9,10,11,12,13,14,15)
= Π M(0,1,2,4,5,7)
Ahmad Almulhem, KFUPM 2010
Example
Question: F (a,b,c,d) = ∑m(0,1,2,4,5,7), What are the
minterms and maxterms of F and and its complement F?
Solution:
F has 4 variables; 24 = 16 possible minterms/maxterms
F (a,b,c,d) = ∑m(0,1,2,4,5,7)
= Π M(3,6,8,9,10,11,12,13,14,15)
F (a,b,c,d) = ∑m(3,6,8,9,10,11,12,13,14,15)
= Π M(0,1,2,4,5,7)
Ahmad Almulhem, KFUPM 2010
Canonical Forms
The sum of minterms and the product of
maxterms forms are known as the
canonical forms ( )الصيغ القانونيةof a
function.
Ahmad Almulhem, KFUPM 2010
Standard Forms
• Sum of Products (SOP) and Product of
Sums (POS) are also standard forms
• AB+CD = (A+C)(B+C)(A+D)(B+D)
• The sum of minterms is a special case of
the SOP form, where all product terms are
minterms
• The product of maxterms is a special case
of the POS form, where all sum terms are
maxterms
Ahmad Almulhem, KFUPM 2010
SOP and POS Conversion
SOP POS POS SOP
F = AB + CD F = (A’+B)(A’+C)(C+D)
= (AB+C)(AB+D) = (A’+BC)(C+D)
= (A+C)(B+C)(AB+D) = A’C+A’D+BCC+BCD
= (A+C)(B+C)(A+D)(B+D) = A’C+A’D+BC+BCD
= A’C+A’D+BC
Hint 1: Use id15: X+YZ=(X+Y)(X+Z) Hint 1: Use id15 (X+Y)(X+Z)=X+YZ
Hint 2: Factor Hint 2: Multiply
Ahmad Almulhem, KFUPM 2010
SOP and POS Conversion
SOP POS POS SOP
F = AB + CD F = (A’+B)(A’+C)(C+D)
= (AB+C)(AB+D) = (A’+BC)(C+D)
= (A+C)(B+C)(AB+D) = A’C+A’D+BCC+BCD
= (A+C)(B+C)(A+D)(B+D) = A’C+A’D+BC+BCD
= A’C+A’D+BC
Hint 1: Use id15: X+YZ=(X+Y)(X+Z) Hint 1: Use id15 (X+Y)(X+Z)=X+YZ
Hint 2: Factor Hint 2: Multiply
Question1: How to convert SOP to sum of minterms?
Question2: How to convert POS to product of maxterms?
Ahmad Almulhem, KFUPM 2010
Implementation of SOP
Any SOP expression can be
implemented using 2-
levels of gates
The 1st level consists of AND
gates, and the 2nd level
consists of a single OR
gate
Also called 2-level Circuit
Ahmad Almulhem, KFUPM 2010
Implementation of POS
Any POS expression can be
implemented using 2-
levels of gates
The 1st level consists of OR
gates, and the 2nd level
consists of a single AND
gate
Also called 2-level Circuit
Ahmad Almulhem, KFUPM 2010
Implementation of SOP
• Consider F = AB + C(D+E)
• This expression is NOT in the sum-of-products form
• Use the identities/algebraic manipulation to
convert to a standard form (sum of products), as in
F = AB + CD + CE
• Logic Diagrams: A
A
B
B
C F
F
C D
C
D
E
E
3-level circuit 2-level circuit
Ahmad Almulhem, KFUPM 2010
Practical Aspects of Logic Gates
• Logic gates are built with transistors as
integrated circuits (IC) or chips.
• ICs are digital devices built using
various technologies.
• Complementary metal oxide semiconductor
(CMOS) technology
• Level s of Integration:
• Small Scale Integrated (SSI) < 10 gates
• Medium Scale Integrated (MSI) < 100 gates
• Large Scale Integrated (LSI) < 1000 gates
• Very Large Scale Integrated (VLSI) < 106
gates
NOT gate
Ahmad Almulhem, KFUPM 2010
Practical Aspects of Logic Gates
• Key characteristics of ICs are:
• Voltages ranges
• Noise Margin
• Gate propagation delay/speed
• Fan-in and Fan-out
• Buffers
• Tri-state Gates
NOT gate
Ahmad Almulhem, KFUPM 2010
Voltage Levels
• Logic values of 0 & 1 corresponds to voltage level
• A range of voltage defines logic 0 and logic 1.
• Any value outside this range is invalid.
+5V
Illegal
Voltage
Range
+0V
Ahmad Almulhem, KFUPM 2010
Noise Margins
Vcc 5.0 V
11Logic
Logic
Level
Level
1-Level
Noise Margin
Guaranteed
Output Levels Forbidden Accepted
Forbidden
Region Input Levels
0-Level
Noise Margin
00 Logic
Logic Level
Level
Ahmad Almulhem, KFUPM 2010
Propagation Delay
• Propagation delay (tpd) is the time for a change in the
input of a gate to propagate to the output
• High-to-low (tphl) and low-to-high (tplh) output signal changes may
have different propagation delays
• tpd = max {tphl, tphl)
• A circuit is considered to be fast, if its propagation delay
is less (ideally as close to 0 as possible)
Delay is usually measured
between the 50% levels
of the signal
Ahmad Almulhem, KFUPM 2010
Timing Diagram
• The timing diagram shows the input and output signals
in the form of a waveform
• It also shows delays
X Propagation
Inputs Delay of the
Y Circuit = τ
Output Z
Timing Diagram for an AND gate Time
Ahmad Almulhem, KFUPM 2010
Fanin
• Fan in of a gate is the number of inputs to the
gate
• A 3-input OR gate has a fanin = 3
• There is a limitation on the fanin
• Larger fanin generally implies slower gates
(higher propagation delays)
Fanin = 4 Fanin = 1 Fanin = ?
Ahmad Almulhem, KFUPM 2010
Fanout
• Fan out of a gate is the number of gates that it can
drive
• The driven gate is called a load
• Fan out is limited due to
• Current in TTL
• Propagation delays in CMOS
driving gate
(driver) load gates
(load)
Fanout = 3
Ahmad Almulhem, KFUPM 2010
Fanout
Driving more gates than maximum fanout
Use high drive buffers Use multiple drivers
Ahmad Almulhem, KFUPM 2010
Tristate Gates
• Gates with 3 output values 0, 1, Hi-Z
• Hi-Z behaves like an open circuit.
E X Z
1 0 1
1 1 0
0 0 High Z
0 1 High Z
Ahmad Almulhem, KFUPM 2010
Tristate Gates
Q: Can we connect the outputs
of two gates?
Ahmad Almulhem, KFUPM 2010
Tristate Gates
Q: Can we connect the outputs
of two gates?
Ahmad Almulhem, KFUPM 2010
Tristate Gates
Q: Can we connect the outputs Two or more tri-state outputs may be
of two gates? connected provided that only one
of these outputs is enabled while all
others are in the Hi-Z state.
Ahmad Almulhem, KFUPM 2010