(Lecture) DigialSystems Chap02 P1
(Lecture) DigialSystems Chap02 P1
Chapter 2 - Part 1 3
Combinational Logic Circuits
▪ Digital systems consist of digital circuits
▪ Digital circuits are hardware components
that manipulate binary information
▪ Circuits are implemented using transistors
and semi-conductor devices
▪ A basic (digital) circuit is called a logic gate
• Transistor-based electronic circuits are modeled
using logic gates
▪ A logic gate performs a specific (mathematical)
logical operation
▪ The outputs of gates are connected to the inputs of other
gates to form a digital combinational logic circuit
Chapter 2 - Part 1 4
Boolean Algebra
▪ To analyze and design digital combinational logic
circuits, a mathematical system is needed
▪ The mathematical system is called Boolean
Algebra
• George Boole published a book in 1854 introducing the
mathematical theory of logic
▪ Boolean Algebra is used to describe the
interconnection of digital gates and to design logic
circuits
Chapter 2 - Part 1 5
Binary Logic and Gates
▪ Boolean Algebra deals with binary variables and
their logical operations
• Binary variables take on one of two discrete values
• Logical operations include three basic logic functions
AND, OR and NOT
• Logic gates implement logic functions
• Boolean Algebra: a useful mathematical system for
specifying and transforming logic functions
▪ We study Boolean algebra as a foundation for
designing and analyzing digital systems!
Chapter 2 - Part 1 6
Binary Variables
▪ Recall that the two binary values have different
names:
• True/False
• On/Off
• Yes/No
• 1/0
▪ We use 1 and 0 to denote the two values
▪ Variable identifier examples:
• A, B, C, …, X, Y, Z, or a, b, c, …, x, y, z
Chapter 2 - Part 1 7
Logical Operations
▪ The three basic logical operations are:
• AND
• OR
• NOT
Chapter 2 - Part 1 8
Logical Operations: AND
▪ AND is denoted by a dot (·)
• 𝑌 = 𝐴 ∙ 𝐵 is read “Y is equal to A AND B”
• Y = 1 if and only if A = 1 and B = 1, otherwise Y = 0
• Similar to binary multiplication
AND
0 ·0 = 0
0 ·1 = 0
1 ·0 = 0
1 ·1 = 1
Chapter 2 - Part 1 9
Logical Operations: OR
▪ OR is denoted by a plus (+)
• 𝑧 = 𝑥 + y is read “z is equal to x OR y”
• z = 1 if x = 1 or y = 1, or if both x = 1 and y = 1
• z = 0 if and only if x = 0 and y = 0
• Similar to binary addition
OR
0+0=0
0+1=1
Note:
The statement: 1 + 1 = 2
1+0=1
(read “one plus one equals two”) 1+1=1
is not the same as 1 + 1 = 1
(read “1 or 1 equals 1”) Chapter 2 - Part 1 10
Logical Operations: NOT
▪ NOT is by an overbar ( ¯ ), a single quote mark (')
after, or (~) before the variable: 𝐴,ҧ 𝐴′, ~𝐴
• 𝑋 = 𝐴ҧ is read “X is equal to NOT A” (complement of A)
• X = 1 if A = 0, X = 0 if A = 1
• a.k.a., complement operation
NOT
0=1
1=0
Chapter 2 - Part 1 11
Truth Table
▪ Truth table - a tabular listing of the values of a function
for all possible combinations of values on its arguments
▪ Example: Truth tables for the basic logic operations:
AND OR NOT
X Y Z = X·Y X Y Z = X+Y X Z=X
0 0 0 0 0 0 0 1
0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1
Chapter 2 - Part 1 12
Logic Gates
▪ Logic operations can be implemented using a
logic gate
• Logic gates accept binary signals and generate binary
signals
▪ Logic gates have special symbols:
Chapter 2 - Part 1 13
Logic Gates Behavior
Chapter 2 - Part 1 14
Gate Delay
▪ In actual physical gates, if one or more input
changes causes the output to change, the output
change does not occur instantaneously
▪ The delay between an input change(s) and the
resulting output change is the gate delay denoted
by tG:
1
Input
0 tG = 0.3 ns
tG tG
Output 1
0
0 0.5 1 1.5 Time (ns)
Chapter 2 - Part 1 15
Gates with More Than Two Inputs
Chapter 2 - Part 1 16
Boolean Function
▪ We can use basic operations to form complex
Boolean functions, e.g.,:
𝐹(𝑋, 𝑌, 𝑍) = 𝑋 + 𝑌ത ∙ 𝑍
Boolean
• F is the name of the function Expression
• X, Y, Z are the input variables
(Listing the inputs is optional)
• Boolean expression: binary variables, constants (0, 1),
logic operation symbols, and parenthesis
• Literals: a binary variable or its complement
ത 𝑍
▪ F has 3 literals: 𝑋, 𝑌,
Chapter 2 - Part 1 17
Boolean Operator Precedence
▪ The order of evaluation in a Boolean expression
is:
1. Parentheses
2. NOT
3. AND
4. OR
• Consequence: Parentheses appear around OR
expressions
▪ Example: F = A(B + C)(C + D)
• May omit ∙ (AND)
Chapter 2 - Part 1 18
Logic Diagrams and Expressions
Truth Table Equation
X Y Z F = X + Y Z
0 0 0 0 F = X +Y Z
0 0 1 1
0 1 0 0 Logic Circuit Diagram
0 1 1 0 X
1 0 0 1
Y F
1 0 1 1
1 1 0 1 Z
1 1 1 1
▪ Boolean equation, truth table and logic diagram describe the
same function!
▪ Truth tables are unique; expressions and logic diagrams are not.
This gives flexibility in implementing functions
Chapter 2 - Part 1 19
Boolean Function Evaluation
F1 = xy z x y z F1 F2 F3 F4
F2 = x + yz 0 0 0 0 0
F3 = x y z + x y z + x y 0 0 1 0 0
F4 = x y + x z 0 1 0 0 1
0 1 1 0 0
1 0 0 0 1
1 0 1 0 1
1 1 0 1 1
1 1 1 0 1
Chapter 2 - Part 1 20
Boolean Algebra
Boolean Algebra
▪ Basic identities of Boolean algebra:
Chapter 2 - Part 1 22
DeMorgan’s Law
▪ 𝑋 + 𝑌 = 𝑋ത ∙ 𝑌ത 𝑋 ∙ 𝑌 = 𝑋ത + 𝑌ത
Chapter 2 - Part 1 24
Boolean Algebra: Duality Examples
▪ 𝐹 = 𝐴+𝐶 𝐵+0
▪ Dual 𝐹 =
▪ 𝐺 = 𝑋𝑌 + (𝑊 + 𝑍)
▪ Dual 𝐺 =
▪ 𝐻 = 𝐴𝐵 + 𝐴𝐶 + 𝐵𝐶
▪ Dual 𝐻 =
Chapter 2 - Part 1 25
Useful Theorems
▪ Minimization
𝑋 ∙ 𝑌 + 𝑋ത ∙ 𝑌 = 𝑌
▪ Absorption
𝑋+𝑋∙𝑌 =𝑋
▪ Simplification
𝑋 + 𝑋ത ∙ 𝑌 = 𝑋 + 𝑌
▪ Consensus
𝑋 ∙ 𝑌 + 𝑋ത ∙ 𝑍 + 𝑌 ∙ 𝑍 = 𝑋 ∙ 𝑌 + 𝑋ത ∙ 𝑍
Chapter 2 - Part 1 26
Useful Theorems: Duality
▪ Minimization
𝑋 ∙ 𝑌 + 𝑋ത ∙ 𝑌 = 𝑌 𝑋 + 𝑌 𝑋ത + 𝑌 = 𝑌
▪ Absorption
𝑋+𝑋∙𝑌 =𝑋 𝑋∙ 𝑋+𝑌 =𝑋
▪ Simplification
𝑋 + 𝑋ത ∙ 𝑌 = 𝑋 + 𝑌 𝑋 ∙ 𝑋ത + 𝑌 = 𝑋 ∙ 𝑌
▪ Consensus
𝑋 ∙ 𝑌 + 𝑋ത ∙ 𝑍 + 𝑌 ∙ 𝑍 = 𝑋 ∙ 𝑌 + 𝑋ത ∙ 𝑍
𝑋 + 𝑌 ∙ 𝑋ത + 𝑍 ∙ 𝑌 + 𝑍 = 𝑋 + 𝑌 𝑋ത + 𝑍
Chapter 2 - Part 1 27
Proof of Minimization Theorem
▪ 𝑋 ∙ 𝑌 + 𝑋ത ∙ 𝑌 = 𝑌 (𝑋 + 𝑌)(𝑋ത + 𝑌) = 𝑌
=1∙𝑌 𝐴 + 𝐴ҧ = 1
=𝑌 𝐴∙1=𝐴
Chapter 2 - Part 1 28
Proof of Absorption Theorem
▪ 𝑋+𝑋∙𝑌 =𝑋
=𝑋 𝐴∙1=𝐴
Chapter 2 - Part 1 29
Proof of Consensus Theorem
ത + 𝑌𝑍 = 𝑋𝑌 + 𝑋𝑍
▪ 𝑋𝑌 + 𝑋𝑍 ത
Chapter 2 - Part 1 30
Algebraic Manipulation
▪ (𝑋 + 𝑌)𝑍 + 𝑋𝑌ത = 𝑌(𝑋
ത + 𝑍)
= 𝑌ത 𝑋𝑍
ത + 𝑌𝑋 ത 𝐴 + 𝐵 = 𝐵 + 𝐴 (Commutative Law)
ത 𝑋𝑍
= 𝑌( ത + 𝑋) 𝐴 𝐵 + 𝐶 = 𝐴𝐵 + 𝐴𝐶 (Distributive Law)
ത 𝑋ത + 𝑋)(𝑍 + 𝑋)
= 𝑌( 𝐴 + 𝐵𝐶 = (𝐴 + 𝐵)(𝐴 + 𝐶) (Distributive Law)
= 𝑌ത ∙ 1 ∙ (𝑍 + 𝑋) 𝐴 + 𝐴ҧ =1
ത + 𝑍)
= 𝑌(𝑋 1 ∙ 𝐴 = 𝐴, 𝐴 + 𝐵 = 𝐵 + 𝐴 (Commutative Law)
Chapter 2 - Part 1 31
Expression Simplification
▪ Simplify to contain the smallest number of literals
(complemented and uncomplemented variables):
ҧ
AB + 𝐴𝐶𝐷 + 𝐴𝐵𝐷 ҧ ҧ 𝐷
+ 𝐴𝐶 ഥ + 𝐴𝐵𝐶𝐷
= 𝐴𝐵 + 𝐴𝐵𝐶𝐷 + 𝐴𝐶𝐷 ҧ + 𝐴𝐶 ҧ 𝐷 ҧ
ഥ + 𝐴𝐵𝐷
= 𝐴𝐵 + 𝐴𝐵 𝐶𝐷 + 𝐴𝐶 ҧ 𝐷+𝐷 ഥ + 𝐴𝐵𝐷ҧ
= 𝐴𝐵 + 𝐴𝐶 ҧ + 𝐴𝐵𝐷
ҧ
= 𝐵 𝐴 + 𝐴𝐷 ҧ + 𝐴𝐶 ҧ
= 𝐵 𝐴 + 𝐷 + 𝐴𝐶 ҧ 5 literals
Chapter 2 - Part 1 32
Complementing Functions
▪ The complement of a function is obtained from an
interchange of 1s to 0s and 0s to 1s in the truth
table
𝐹 𝑋, 𝑌, 𝑍 = 𝑋ത + 𝑋𝑌𝑍ҧ
X Y Z F X Y Z F’
0 0 0 1 0 0 0 0
0 0 1 1 0 0 1 0
0 1 0 1 0 1 0 0
0 1 1 1 0 1 1 0
1 0 0 0 1 0 0 1
1 0 1 0 1 0 1 1
1 1 0 1 1 1 0 0
1 1 1 0 1 1 1 1
Chapter 2 - Part 1 33
Complementing Functions
Chapter 2 - Part 1 34
Implementation of Boolean Function with Gates
Chapter 2 - Part 1 35
Standard Forms
Standard Forms
▪ A Boolean function can be written in many ways
• Some ways may be more useful than others
▪ There are certain ways of writing the function that
are considered to be standard forms
▪ Standard forms contains
ത → AND operation among three
• Product terms: X𝑌𝑍
literals
• Sum terms: X + 𝑌ത + 𝑍 → OR operation among three
literals
Chapter 2 - Part 1 37
Minterms
▪ Minterms are AND terms with every variable present in
exactly once either normal or complemented form
▪ Given that each binary variable may appear normal
ത there are 2n minterms
(e.g., 𝑋) or complemented (e.g., 𝑋),
for n variables
▪ Example: Two variables (X and Y) produce
22 = 4 combinations:
XY (both normal)
𝑋𝑌ത (X normal, Y complemented)
ത
𝑋𝑌 (X complemented, Y normal)
𝑋ത 𝑌ത (both complemented)
▪ Thus there are four minterms of two variables
Chapter 2 - Part 1 38
Maxterms
▪ Maxterms are OR terms with every variable present in
normal or complemented form
▪ Given that each binary variable may appear normal
ത there are 2n maxterms
(e.g., 𝑋) or complemented (e.g., 𝑋),
for n variables
▪ Example: Two variables (X and Y) produce
22 = 4 combinations:
X+Y (both normal)
𝑋 + 𝑌ത (X normal, Y complemented)
𝑋ത + 𝑌 (X complemented, Y normal)
𝑋ത + 𝑌ത (both complemented)
Chapter 2 - Part 1 39
Maxterms and Minterms
▪ Examples: Two variable minterms and maxterms
Chapter 2 - Part 1 41
Standard Order
▪ Example: For variables a, b, c:
• Maxterms: (𝑎 + 𝑏 + 𝑐), ҧ (𝑎 + 𝑏 + 𝑐)
• Terms: (𝑏 + 𝑎 + 𝑐), a 𝑐ҧ 𝑏, and (𝑐 + 𝑏 + 𝑎) are NOT in
standard order
• Minterms: a 𝑏ത 𝑐, a 𝑏 𝑐, 𝑎ത 𝑏ത 𝑐
• Terms: a + c , 𝑏ത 𝑐, and (𝑎ത + 𝑏) do not contain all
variables
Chapter 2 - Part 1 42
Purpose of the Index
▪ The index for the minterm or maxterm, expressed
as a binary number, is used to determine whether
the variable is shown in the normal form 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”
Chapter 2 - Part 1 43
Index Example in Three Variables
▪ Three variables: X, Y, and Z
• The standard order is X, then Y, then Z
▪ The Index 0 (base 10) = 000 (base 2) for three
variables
ത 𝑌,
• minterm 0 (𝑋, ത 𝑍)ҧ : All three variables are
complemented
• Maxterm 0 (𝑋, 𝑌, 𝑍) : no variables are complemented
▪ Minterm 0, called m0 is 𝑋ത 𝑌ത 𝑍ҧ
▪ Maxterm 0, called M0 is (X + Y + Z)
▪ Minterm 6 ?
▪ Maxterm 6 ? Chapter 2 - Part 1 44
Index Examples – Four Variables
Chapter 2 - Part 1 45
Minterm and Maxterm Relationship
Chapter 2 - Part 1 46
Function Tables for Both
▪ Minterms of 2 variables Maxterms of 2 variables
xy m0 m1 m2 m3 x y M0 M1 M2 M3
00 1 0 0 0 00 0 1 1 1
01 0 1 0 0 01 1 0 1 1
10 0 0 1 0 10 1 1 0 1
11 0 0 0 1 11 1 1 1 0
Chapter 2 - Part 1 47
Observations
▪ In the function tables:
• Each minterm has one and only one 1 present in the 2n terms,
All other entries are 0 (a minimum of 1s)
• Each maxterm has one and only one 0 present in the 2n terms,
All other entries are 1 (a maximum of 1s)
▪ We can implement any function by "ORing" the minterms
corresponding to "1" entries in the function table
→ These are called the minterms of the function
▪ We can implement any function by "ANDing" the
maxterms corresponding to "0" entries in the function table
→ These are called the maxterms of the function
▪ This gives us two forms for stating any Boolean function
• Sum of Minterms (SOM)
• Product of Maxterms (POM)
Chapter 2 - Part 1 48
Minterm Function Example
▪ Example: Find 𝐹1 = 𝑚1 + 𝑚4 + 𝑚7
𝐹1 = 𝑥ҧ 𝑦𝑧
ത + 𝑥 𝑦ത𝑧ҧ + 𝑥𝑦𝑧
x y z index m1 + m4 + m7 = F1
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
Chapter 2 - Part 1 49
Minterm Function Example
▪ 𝐹 𝐴, 𝐵, 𝐶, 𝐷, 𝐸 = 𝑚2 + 𝑚9 + 𝑚17 + 𝑚23
▪ 𝐹 𝐴, 𝐵, 𝐶, 𝐷, 𝐸
Chapter 2 - Part 1 50
Maxterm Function Example
▪ Example: Implement 𝐹1 in maxterms:
𝐹1 = 𝑀0 ∙ 𝑀2 ∙ 𝑀3 ∙ 𝑀5 ∙ 𝑀6
𝐹1 = 𝑥 + 𝑦 + 𝑧 ∙ 𝑥 + 𝑦ത + 𝑧 ∙ 𝑥 + 𝑦ത + 𝑧ҧ
∙ 𝑥ҧ + 𝑦 + 𝑧ҧ ∙ 𝑥ҧ + 𝑦ത + 𝑧
Chapter 2 - Part 1 51
Maxterm Function Example
▪ 𝐹 𝐴, 𝐵, 𝐶, 𝐷 = 𝑀3 ∙ 𝑀8 ∙ 𝑀11 ∙ 𝑀14
▪ 𝐹 𝐴, 𝐵, 𝐶, 𝐷
Chapter 2 - Part 1 52
Canonical Sum of Minterms
▪ Any Boolean function can be expressed as
a Sum of Minterms (SOM)
• For the function table, the minterms used are the terms
corresponding to the 1's
• For expressions, expand all terms first to explicitly list
all minterms
• Do this by “ANDing” any term missing a variable v
with a term ( 𝑣 + 𝑣ҧ )
▪ Example: Implement f = 𝑥 + 𝑥ҧ 𝑦ത as a sum of
minterms
First expand terms: f = 𝑥 y + 𝑦ത + 𝑥ҧ 𝑦ത
Then distribute terms: f = 𝑥𝑦 + 𝑥𝑦ത + 𝑥ҧ 𝑦ത
Express as sum of minterms: f = 𝑚3 + 𝑚2 + 𝑚0
Chapter 2 - Part 1 53
SOM Example
▪ Example: 𝐹 = 𝐴 + 𝐵𝐶 ത
▪ There are three variables, A, B, and C which we
take to be the standard order.
▪ Expanding the terms with missing variables:
𝐹 = 𝐴 𝐵 + 𝐵ത 𝐶 + 𝐶ҧ + 𝐴 + 𝐴ҧ 𝐵𝐶
ത
▪ Collect terms (removing all but one of duplicate
terms):
= 𝐴𝐵𝐶 + 𝐴𝐵𝐶ҧ + 𝐴𝐵𝐶
ത + 𝐴𝐵ത 𝐶ҧ + 𝐴𝐵𝐶
ത + 𝐴ҧ𝐵𝐶
ത
= 𝐴𝐵𝐶 + 𝐴𝐵𝐶ҧ + 𝐴𝐵𝐶
ത + 𝐴𝐵ത 𝐶ҧ + 𝐴ҧ𝐵𝐶
ത
▪ Express as SOM:
= 𝑚7 + 𝑚6 + 𝑚5 + 𝑚4 + 𝑚1
= 𝑚1 + 𝑚4 + 𝑚5 + 𝑚6 + 𝑚7
Chapter 2 - Part 1 54
Shorthand SOM Form
▪ From the previous example, we started with:
ത
F = 𝐴 + 𝐵𝐶
▪ We ended up with:
F = 𝑚1 + 𝑚4 + 𝑚5 + 𝑚6 + 𝑚7
▪ This can be denoted in the formal shorthand:
F(A, B, C) = Σ𝑚 (1,4,5,6,7)
▪ Note that we explicitly show the standard
variables in order and drop the “m” designators
Chapter 2 - Part 1 55
Canonical Product of Maxterms
▪ Any Boolean Function can be expressed as a
Product of Maxterms (POM)
• For the function table, the maxterms used are the terms
corresponding to the 0's
• For an expression, expand all terms first to explicitly
list all maxterms
• Do this by first applying the second distributive law,
“ORing” terms missing variable v with a term equal to
𝑣 ∙ 𝑣ҧ and then applying the distributive law again
Chapter 2 - Part 1 56
Canonical Product of Maxterms
▪ Example: Convert to product of maxterms:
f 𝑥, 𝑦, 𝑧 = 𝑥 + 𝑥ҧ 𝑦ത
Apply the distributive law:
𝑥 + 𝑥ҧ 𝑦ത = 𝑥 + 𝑥ҧ 𝑥 + 𝑦ത
= 1 ∙ 𝑥 + 𝑦ത = 𝑥 + 𝑦ത
Add missing variable z:
𝑥 + 𝑦ത + 𝑧 ∙ 𝑧ҧ = 𝑥 + 𝑦ത + 𝑧 𝑥 + 𝑦ത + 𝑧ҧ
Express as POM: f = 𝑀2 ∙ 𝑀3
Chapter 2 - Part 1 57
POM Example
▪ Convert to Product of Maxterms:
f 𝐴, 𝐵, 𝐶 = 𝐴𝐶ҧ + 𝐵𝐶 + 𝐴ҧ 𝐵ത
▪ Use the distributive law: 𝑥 + 𝑦𝑧 = (𝑥 + 𝑦) ∙ (𝑥 + 𝑧)
with 𝑥 = (𝐴𝐶ҧ + 𝐵𝐶), y = 𝐴ҧ and z = 𝐵ത to get:
f = (𝐴𝐶ҧ + 𝐵𝐶 + 𝐴)(𝐴ҧ 𝐶ҧ + 𝐵𝐶 + 𝐵)
ത
▪ Then use the simplification theorem:
𝑥 + 𝑥𝑦
ҧ = 𝑥 + 𝑦 to get:
f = (𝐶ҧ + 𝐵𝐶 + 𝐴)(𝐴
ҧ 𝐶ҧ + 𝐶 + 𝐵)
ത
and a second time to get:
f = (𝐶ҧ + 𝐵 + 𝐴)(𝐴
ҧ + 𝐶 + 𝐵)ത
▪ Rearrange to standard order,
f = (𝐴 + 𝐵ത + 𝐶)(𝐴ҧ + 𝐵 + 𝐶)ҧ to give f = 𝑀2 ∙ 𝑀5
Chapter 2 - Part 1 58
Function Complements
▪ The complement of a function expressed as a sum
of minterms is constructed by selecting the
minterms missing in the sum-of-minterms
▪ Also, the complement of a function expressed by a
Sum of Minterms form is simply the Product of
Maxterms with the same indices
▪ Example: Given 𝐹 𝑥, 𝑦, 𝑧 = Σ𝑚 1,3,5,7
𝐹ത 𝑥, 𝑦, 𝑧 = Σ𝑚 0,2,4,6
𝐹ത 𝑥, 𝑦, 𝑧 = Π𝑀 1,3,5,7
again, 𝐹(𝑥, 𝑦, 𝑧) = Π𝑀 (0,2,4,6)
Chapter 2 - Part 1 59
Standard Forms
▪ Standard Sum-of-Products (SOP) form: equations
are written as an OR of AND terms
▪ Standard Product-of-Sums (POS) form: equations
are written as an AND of OR terms
▪ Examples:
• SOP: 𝐴𝐵𝐶 + 𝐴ҧ𝐵𝐶
ത + 𝐴ҧ
• POS: (𝐴 + 𝐵) ∙ (𝐴 + 𝐵ത + 𝐶)ҧ ∙ 𝐶
▪ These “mixed” forms are neither SOP nor POS
• (𝐴𝐵 + 𝐶) ∙ (𝐴 + 𝐶)
• 𝐴𝐵𝐶ҧ + 𝐴𝐶(𝐴 + 𝐵)
Chapter 2 - Part 1 60
Standard Sum-of-Products (SOP)
▪ The sum of minterms (SOM) form is a standard algebraic
expression that is obtained from a truth table
▪ Simplifying a function in SOM form by reducing the
number of product terms or by reducing the number of
literals in the terms results in Sum-of-Products (SOP)
form
▪ SOP form can be implemented as a two-level circuit
• First level: n-input AND gates, and
• Second level: a single OR gate
F = Σ𝑚 0,1,2,3,4,5,7 : SOM
F = 𝑌ത + 𝑋𝑌
ത 𝑍ҧ + 𝑋𝑌 : SOP
Chapter 2 - Part 1 61
Standard Sum-of-Products (SOP)
▪ A Simplification Example:
F 𝐴, 𝐵, 𝐶 = Σ𝑚 1,4,5,6,7
▪ Writing the minterm expression:
F = 𝐴ҧ𝐵𝐶
ത + 𝐴𝐵ത 𝐶ҧ + 𝐴𝐵𝐶
ത + 𝐴𝐵𝐶ҧ + 𝐴𝐵𝐶
▪ Simplifying:
F = 𝐴ҧ 𝐵𝐶
ത +𝐴 𝐵ത 𝐶ҧ + 𝐵𝐶
ത + 𝐵𝐶ҧ + 𝐵𝐶
= 𝐴ҧ𝐵𝐶
ത +𝐴 𝐵ത + 𝐵)(𝐶ҧ + 𝐶
= 𝐴ҧ𝐵𝐶
ത +𝐴
ത +𝐴
= 𝐵𝐶
Simplified F contains 3 literals!
Chapter 2 - Part 1 62
AND/OR Two-level Implementation of
SOP Expression
▪ The two implementations for F are shown below –
it is quite apparent which is simpler!
A
F
B
C ത +𝐴
F = 𝐵𝐶
F = 𝐴ҧ𝐵𝐶
ത + 𝐴𝐵ത 𝐶ҧ + 𝐴𝐵𝐶
ത + 𝐴𝐵𝐶ҧ + 𝐴𝐵𝐶
Chapter 2 - Part 1 63
Standard Products-of-Sum (POS)
▪ POS form can be implemented as a two-level
circuit
• First level: n-input OR gates, and
• Second level: a single AND gate
▪ F = 𝑋(𝑌ത + 𝑍)(𝑋 + 𝑌 + 𝑍)ҧ
Chapter 2 - Part 1 64
SOP and POS Observations
▪ The previous examples show that:
• Canonical forms (Sum-of-minterms, Product-of-
Maxterms) and Standard forms (SOP, POS) differ in
complexity
• Boolean algebra can be used to manipulate equations
into simpler forms
• Simpler equations lead to simpler two-level
implementations
▪ Questions:
• How can we attain the “simplest” expression?
• Is there only one minimum cost circuit?
• The next part will deal with these issues
Chapter 2 - Part 1 65