Digital Logic Design
G.Rajesh-ASCET
Binary Logic and Gates
▪Binary variables take on one of two values.
▪Logical operators operate on binary values and
binary variables.
▪Basic logical operators are the 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!
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, y, z, or X1 for now
• RESET, START_IT, or ADD1 later
Logical Operations
▪ The three basic logical operations are:
• AND
• OR
• NOT
▪ AND is denoted by a dot (·).
▪ OR is denoted by a plus (+).
▪ NOT is denoted by an overbar ( ¯ ), a
single quote mark (') after, or (~) before
the variable.
▪ Examples:
• is read “Y is equal to AAND B.”
• is read “z is equal to x OR y.”
• is read “X is equal to NOT A.”
Notation Examples
▪ Note: The statement:
1 + 1 = 2 (read “one plus one equals two”)
is not the same as
1 + 1 = 1 (read “1 or 1 equals 1”).
= B
A
Y ⋅
y
x
z +
=
A
X =
Operator Definitions
▪ Operations are defined on the values
"0" and "1" for each operator:
AND
0 · 0 = 0
0 · 1 = 0
1 · 0 = 0
1 · 1 = 1
OR
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1
NOT
1
0 =
0
1 =
0
1
1
0
X
NOT
X
Z=
Truth Tables
▪ 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:
1
1
1
0
0
1
0
1
0
0
0
0
Z = X·Y
Y
X
AND OR
X Y Z = X+Y
0 0 0
0 1 1
1 0 1
1 1 1
Truth Tables – Cont’d
▪ Used to evaluate any logic function
▪ Consider F(X, Y, Z) = X Y + Y Z
X Y Z X Y Y Y Z F = X Y + Y Z
0 0 0 0 1 0 0
0 0 1 0 1 1 1
0 1 0 0 0 0 0
0 1 1 0 0 0 0
1 0 0 0 1 0 0
1 0 1 0 1 1 1
1 1 0 1 0 0 1
1 1 1 1 0 0 1
Boolean Algebra and Logic Gates 9
▪ Using Switches
• Inputs:
▪logic 1 is switch closed
▪logic 0 is switch open
• Outputs:
▪logic 1 is light on
▪logic 0 is light off.
• NOT input:
▪logic 1 is switch open
▪logic 0 is switch closed
Logic Function Implementation
Switches in series => AND
Switches in parallel =>
OR
C
Normally-closed switch =>
NOT
Boolean Algebra and Logic Gates 10
▪ Example: Logic Using Switches
▪ Light is on (L = 1) for
L(A, B, C, D) =
and off (L = 0), otherwise.
▪ Useful model for relay and CMOS gate circuits,
the foundation of current digital logic circuits
Logic Function Implementation – cont’d
B
A
D
C
A (B C + D) = A B C + A D
Boolean Algebra and Logic Gates 11
Logic Gates
▪ In the earliest computers, switches were opened
and closed by magnetic fields produced by
energizing coils in relays. The switches in turn
opened and closed the current paths.
▪ Later, vacuum tubes that open and close
current paths electronically replaced relays.
▪ Today, transistors are used as electronic
switches that open and close current paths.
Boolean Algebra and Logic Gates 12
Logic Gate Symbols and Behavior
▪ Logic gates have special symbols:
▪ And waveform behavior in time as follows:
X 0 0 1 1
Y 0 1 0 1
X · Y
(AND) 0 0 0 1
X + Y
(OR) 0 1 1 1
(NOT) X 1 1 0 0
OR gate
X
Y
Z = X + Y
X
Y
Z = X · Y
AND gate
X Z = X
NOT gate or
inverter
Boolean Algebra and Logic Gates 13
Logic Diagrams and Expressions
▪ Boolean equations, truth tables and logic diagrams describe
the same function!
▪ Truth tables are unique, but expressions and logic diagrams
are not. This gives flexibility in implementing functions.
X
Y F
Z
Logic Diagram
Logic Equation
Z
Y
X
F +
=
Truth Table
1
1 1 1
1
1 1 0
1
1 0 1
1
1 0 0
0
0 1 1
0
0 1 0
1
0 0 1
0
0 0 0
X Y Z Z
Y
X
F ⋅
+
=
Boolean Algebra and Logic Gates 14
Gate Delay
▪ In actual physical gates, if an input changes that
causes the output to change, the output change
does not occur instantaneously.
▪ The delay between an input change and the
output change is the gate delay denoted by tG:
tG
tG
Inpu
t
Outpu
t
Time (ns)
0
0
1
1
0 0.5 1 1.5
tG = 0.3 ns
Boolean Algebra and Logic Gates 15
1
.
3
.
5
.
7
.
9
.
11.
13
.
15
.
17
.
Commutativ
e
Associativ
e
Distributiv
e
DeMorgan’s
2
.
4
.
6
.
8
.
X .
1 X
=
X .
0 0
=
X .
X X
=
0
=
X .
X
Boolean Algebra
10
.
12
.
14
.
16
.
X + Y Y + X
=
(X + Y) Z
+ X +
(Y
Z
)
+
=
X(Y +
Z)
XY XZ
+
=
X + Y X .
Y
=
XY YX
=
(XY
)
Z X(
Y
Z
)
=
X + YZ (X + Y) (X +
Z)
=
X .
Y X + Y
=
X + 0 X
=
+
X
1
1
=
X + X X
=
1
=
X + X
X =
X
▪ Invented by George Boole in 1854
▪ An algebraic structure defined by a set B = {0, 1}, together with two
binary operators (+ and ·) and a unary operator ( )
Idempotence
Complement
Involution
Identity element
Boolean Algebra and Logic Gates 16
Some Properties of Boolean Algebra
▪ Boolean Algebra is defined in general by a set B that can
have more than two values
▪ A two-valued Boolean algebra is also know as Switching
Algebra. The Boolean set B is restricted to 0 and 1.
Switching circuits can be represented by this algebra.
▪ The dual of an algebraic expression is obtained by
interchanging + and · and interchanging 0’s and 1’s.
▪ The identities appear in dual pairs. When there is only
one identity on a line the identity is self-dual, i. e., the
dual expression = the original expression.
▪ Sometimes, the dot symbol ‘●’ (AND operator) is not
written when the meaning is clear
Boolean Algebra and Logic Gates 17
▪ Example: F = (A + C) · B + 0
dual F = (A · C + B) · 1 = A · C + B
▪ Example: G = X · Y + (W + Z)
dual G =
▪ Example: H = A · B + A · C + B · C
dual H =
▪ Unless it happens to be self-dual, the dual of an
expression does not equal the expression itself
▪ Are any of these functions self-dual?
(A+B)(A+C)(B+C)=(A+BC)(B+C)=AB+AC+BC
Dual of a Boolean Expression
(X+Y) · (W · Z) = (X+Y) · (W+Z)
(A+B) · (A+C) · (B+C)
H is self-dual
Boolean Algebra and Logic Gates 18
Boolean Operator Precedence
▪ The order of evaluation
is:1. Parentheses
2. NO
T
3. AN
D
4. O
R
▪ Consequence: Parentheses appear
around OR expressions
▪ Example: F = A(B + C)(C + D)
Boolean Algebra and Logic Gates 19
Boolean Algebraic Proof – Example 1
▪ A + A · B = A (Absorption Theorem)
Proof Steps Justification
A + A · B
= A · 1 + A · B Identity element: A · 1 = A
= A · ( 1 + B) Distributive
= A · 1 1 + B = 1
= A Identity element
▪ Our primary reason for doing proofs is to learn:
• Careful and efficient use of the identities and theorems of
Boolean algebra, and
• How to choose the appropriate identity or theorem to apply
to make forward progress, irrespective of the application.
Boolean Algebra and Logic Gates 20
▪ AB + AC + BC = AB + AC (Consensus Theorem)
Proof Steps Justification
= AB + AC + BC
= AB + AC + 1 · BC Identity element
= AB + AC + (A + A) · BC Complement
= AB + AC + ABC + ABC Distributive
= AB + ABC + AC + ACB Commutative
= AB · 1 + ABC + AC · 1 + ACB Identity element
= AB (1+C) + AC (1 + B) Distributive
= AB . 1 + AC . 1 1+X = 1
= AB + AC Identity element
Boolean Algebraic Proof – Example 2
Boolean Algebra and Logic Gates 21
Useful Theorems
▪ Minimization
X Y + X Y = Y
▪ Absorption
X + X Y = X
▪ Simplification
X + X Y = X + Y
▪ DeMorgan’s
▪ X + Y = X · Y
▪ Minimization (dual)
(X+Y)(X+Y) = Y
▪ Absorption (dual)
X · (X + Y) = X
▪ Simplification (dual)
X · (X + Y) = X · Y
▪ DeMorgan’s (dual)
▪ X · Y = X + Y
Boolean Algebra and Logic Gates 22
Truth Table to Verify DeMorgan’s
X Y X·Y X+Y X Y X+Y X · Y X·Y X+Y
0 0 0 0 1 1 1 1 1 1
0 1 0 1 1 0 0 0 1 1
1 0 0 1 0 1 0 0 1 1
1 1 1 1 0 0 0 0 0 0
X + Y = X · Y X · Y = X + Y
▪ Generalized DeMorgan’s Theorem:
X1 + X2 + … + Xn = X1 · X2 · … · Xn
X1 · X2 · … · Xn = X1 + X2 + … + Xn
Boolean Algebra and Logic Gates 23
Complementing Functions
▪Use DeMorgan's Theorem:
1. Interchange AND and OR operators
2. Complement each constant and literal
▪Example: Complement F =
F = (x + y + z)(x + y + z)
▪Example: Complement G = (a + bc)d + e
G = (a (b + c) + d) e
x
+ z
y
z
y
x
Boolean Algebra and Logic Gates 24
Expression Simplification
▪ An application of Boolean algebra
▪ Simplify to contain the smallest number
of literals (variables that may or may not
be complemented)
= AB + ABCD + A C D + A C D + A B D
= AB + AB(CD) + A C (D + D) + A B D
= AB + A C + A B D = B(A + AD) +AC
= B (A + D) + A C (has only 5 literals)
+
+
+
+ D
C
B
A
D
C
A
D
B
A
D
C
A
B
A
Boolean Algebra and Logic Gates 25
Next … Canonical Forms
▪ Minterms and Maxterms
▪ Sum-of-Minterm (SOM) Canonical Form
▪ Product-of-Maxterm (POM) Canonical Form
▪ Representation of Complements of Functions
▪ Conversions between Representations
Boolean Algebra and Logic Gates 26
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., ), there
are 2n
minterms for n variables.
▪ Example: Two variables (X and Y) produce
2 x 2 = 4 combinations:
(both normal)
(X normal, Y complemented)
(X complemented, Y normal)
(both complemented)
▪ Thus there are four minterms of two variables.
Y
X
X
Y
Y
X
Y
X
x
Boolean Algebra and Logic Gates 27
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:
(both normal)
(x normal, y complemented)
(x complemented, y normal)
(both complemented)
Y
X +
Y
X +
Y
X +
Y
X +
Boolean Algebra and Logic Gates 28
▪ Two variable minterms and maxterms.
▪ 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 2 variables
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
Boolean Algebra and Logic Gates 29
Minterms & Maxterms for 3 variables
M3 = x + y + z
m3 = x y z
3
1
1
0
M4 = x + y + z
m4 = x y z
4
0
0
1
M5 = x + y + z
m5 = x y z
5
1
0
1
M6 = x + y + z
m6 = x y z
6
0
1
1
1
1
0
0
y
1
0
0
0
x
1
0
1
0
z
M7 = x + y + z
m7 = x y z
7
M2 = x + y + z
m2 = x y z
2
M1 = x + y + z
m1 = x y z
1
M0 = x + y + z
m0 = x y z
0
Maxterm
Minterm
Index
Maxterm Mi is the complement of minterm mi
Mi = mi and mi = Mi
Boolean Algebra and Logic Gates 30
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”.
Boolean Algebra and Logic Gates 31
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
Boolean Algebra and Logic Gates 32
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
0 1 1 0
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
Focus on the
‘1’ entries
Boolean Algebra and Logic Gates 33
+ a b c
d
Sum-Of-Minterm Examples
▪ F(a, b, c, d) = ∑(2, 3, 6, 10, 11)
▪ F(a, b, c, d) = m2 + m3 + m6 + m10 + m11
▪ G(a, b, c, d) = ∑(0, 1, 12, 15)
▪ G(a, b, c, d) = m0 + m1 + m12 + m15
+ a b c
d
a b c
d
+ a b c
d
+ a b c
d
+ a b c
d
+ a b c
d
a b c
d
+ a b c
d
Boolean Algebra and Logic Gates 34
Product-Of-Maxterm (POM)
▪ Product-Of-Maxterm (POM) canonical form:
Product of maxterms of entries that evaluate to ‘0’
x y z F Maxterm
0 0 0 1
0 0 1 1
0 1 0 0 M2 = (x + y + z)
0 1 1 1
1 0 0 0 M4 = (x + y + z)
1 0 1 1
1 1 0 0 M6 = (x + y + z)
1 1 1 1
Focus on the
‘0’ entries
F = M2·M4·M6 = ∏ (2, 4, 6) = (x+y+z) (x+y+z) (x+y+z)
Boolean Algebra and Logic Gates 35
▪ F(a, b, c, d) = ∏(1, 3, 6, 11)
▪ F(a, b, c, d) = M1 · M3 · M6 · M11
▪ G(a, b, c, d) = ∏(0, 4, 12, 15)
▪ G(a, b, c, d) = M0 · M4 · M12 · M15
Product-Of-Maxterm Examples
(a+b+c+d
)
(a+b+c+d) (a+b+c+d) (a+b+c+d)
(a+b+c+d
)
(a+b+c+d) (a+b+c+d) (a+b+c+d)
Boolean Algebra and Logic Gates 36
Observations
▪ We can implement any function by "ORing" the minterms
corresponding to the ‘1’ entries in the function table. A
minterm evaluates to ‘1’ for its corresponding entry.
▪ We can implement any function by "ANDing" the maxterms
corresponding to ‘0’ entries in the function table. A maxterm
evaluates to ‘0’ for its corresponding entry.
▪ The same Boolean function can be expressed in two
canonical ways: Sum-of-Minterms (SOM) and Product-of-
Maxterms (POM).
▪ If a Boolean function has fewer ‘1’ entries then the SOM
canonical form will contain fewer literals than POM.
However, if it has fewer ‘0’ entries then the POM form will
have fewer literals than SOM.
Boolean Algebra and Logic Gates 37
Converting to Sum-of-Minterms Form
▪ A function that is not in the Sum-of-Minterms form can
be converted to that form by means of a truth table
▪ Consider F = y + x z
x y z F Minterm
0 0 0 1 m0 = x y z
0 0 1 1 m1 = x y z
0 1 0 1 m2 = x y z
0 1 1 0
1 0 0 1 m4 = x y z
1 0 1 1 m5 = x y z
1 1 0 0
1 1 1 0
F = ∑(0, 1, 2, 4, 5) =
m0 + m1 + m2 + m4 + m5 =
x y z + x y z + x y z +
x y z + x y z
Boolean Algebra and Logic Gates 38
Converting to Product-of-Maxterms Form
▪ A function that is not in the Product-of-Minterms form
can be converted to that form by means of a truth table
▪ Consider again: F = y + x z
x y z F Minterm
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 0 M3 = (x+y+z)
1 0 0 1
1 0 1 1
1 1 0 0 M6 = (x+y+z)
1 1 1 0 M7 = (x+y+z)
F = ∏(3, 6, 7) =
M3 · M6 · M7 =
(x+y+z) (x+y+z) (x+y+z)
Boolean Algebra and Logic Gates 39
Conversions Between Canonical Forms
F = m1+m2+m3+m5+m7 = ∑(1, 2, 3, 5, 7) =
x y z + x y z + x y z + x y z + x y z
F = M0 · M4 · M6 = ∏(0, 4, 6) = (x+y+z)(x+y+z)(x+y+z)
x y z F Minterm Maxterm
0 0 0 0 M0 = (x + y + z)
0 0 1 1 m1 = x y z
0 1 0 1 m2 = x y z
0 1 1 1 m3 = x y z
1 0 0 0 M4 = (x + y + z)
1 0 1 1 m5 = x y z
1 1 0 0 M6 = (x + y + z)
1 1 1 1 m7 = x y z
Boolean Algebra and Logic Gates 40
Algebraic Conversion to Sum-of-Minterms
▪ Expand all terms first to explicitly list all minterms
▪ AND any term missing a variable v with (v + v)
▪ Example 1: f = x + x y (2 variables)
f = x (y + y) + x y
f = x y + x y + x y
f = m3 + m2 + m0 = ∑(0, 2, 3)
▪ Example 2: g = a + b c (3 variables)
g = a (b + b)(c + c) + (a + a) b c
g = a b c + a b c + a b c + a b c + a b c + a b c
g = a b c + a b c + a b c + a b c + a b c
g = m1 + m4 + m5 + m6 + m7 = ∑ (1, 4, 5, 6, 7)
Boolean Algebra and Logic Gates 41
Algebraic Conversion to Product-of-Maxterms
▪ Expand all terms first to explicitly list all maxterms
▪ OR any term missing a variable v with v · v
▪ Example 1: f = x + x y (2 variables)
Apply 2nd
distributive law:
f = (x + x) (x + y) = 1 · (x + y) = (x + y) = M1
▪ Example 2: g = a c + b c + a b (3 variables)
g = (a c + b c + a) (a c + b c + b) (distributive)
g = (c + b c + a) (a c + c + b) (x + x y = x +
y)
g = (c + b + a) (a + c + b) (x + x y = x + y)
g = (a + b + c) (a + b + c) = M5 . M2 = ∏ (2, 5)
Boolean Algebra and Logic Gates 42
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
canonical form
▪ Alternatively, the complement of a function
expressed by a Sum of Minterms form is simply
the Product of Maxterms with the same indices
▪ Example: Given F(x, y, z) = ∑ (1, 3, 5, 7)
F(x, y, z) = ∑ (0, 2, 4, 6)
F(x, y, z) = ∏ (1, 3, 5, 7)
Boolean Algebra and Logic Gates 43
Summary of Minterms and Maxterms
▪ There are 2n
minterms and maxterms for Boolean
functions with n variables.
▪ Minterms and maxterms are indexed from 0 to 2n
– 1
▪ Any Boolean function can be expressed as a logical
sum of minterms and as a logical product of maxterms
▪ The complement of a function contains those minterms
not included in the original function
▪ The complement of a sum-of-minterms is a product-of-
maxterms with the same indices
Boolean Algebra and Logic Gates 44
▪ 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
•
•
Standard Forms
B
C
B
A
C
B
A +
+
C
·
)
C
B
(A
·
B)
(A +
+
+
C)
(A
C)
B
(A +
+
B)
(A
C
A
C
B
A +
+
Boolean Algebra and Logic Gates 45
Standard Sum-of-Products (SOP)
▪ A sum of minterms form for n variables can
be written down directly from a truth table.
• Implementation of this form is a two-level
network of gates such that:
• The first level consists of n-input AND gates
• The second level is a single OR gate
▪ This form often can be simplified so that the
corresponding circuit is simpler.
Boolean Algebra and Logic Gates 46
▪ A Simplification Example:
▪ 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 = A B C + A
F = B C + A
▪ Simplified F contains 3 literals compared to 15
Standard Sum-of-Products (SOP)
)
7
,
6
,
5
,
4
,
1
(
)
C
,
B
,
A
(
F Σ
=
Boolean Algebra and Logic Gates 47
AND/OR Two-Level Implementation
▪ The two implementations for F are shown below
It is quite
apparent which
is simpler!
Boolean Algebra and Logic Gates 48
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

03-BooleanAlgebra_ Boolean algebra .pptx

  • 1.
  • 2.
    Binary Logic andGates ▪Binary variables take on one of two values. ▪Logical operators operate on binary values and binary variables. ▪Basic logical operators are the 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!
  • 3.
    Binary Variables ▪ Recallthat 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, y, z, or X1 for now • RESET, START_IT, or ADD1 later
  • 4.
    Logical Operations ▪ Thethree basic logical operations are: • AND • OR • NOT ▪ AND is denoted by a dot (·). ▪ OR is denoted by a plus (+). ▪ NOT is denoted by an overbar ( ¯ ), a single quote mark (') after, or (~) before the variable.
  • 5.
    ▪ Examples: • isread “Y is equal to AAND B.” • is read “z is equal to x OR y.” • is read “X is equal to NOT A.” Notation Examples ▪ Note: The statement: 1 + 1 = 2 (read “one plus one equals two”) is not the same as 1 + 1 = 1 (read “1 or 1 equals 1”). = B A Y ⋅ y x z + = A X =
  • 6.
    Operator Definitions ▪ Operationsare defined on the values "0" and "1" for each operator: AND 0 · 0 = 0 0 · 1 = 0 1 · 0 = 0 1 · 1 = 1 OR 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1 NOT 1 0 = 0 1 =
  • 7.
    0 1 1 0 X NOT X Z= Truth Tables ▪ Tabularlisting of the values of a function for all possible combinations of values on its arguments ▪ Example: Truth tables for the basic logic operations: 1 1 1 0 0 1 0 1 0 0 0 0 Z = X·Y Y X AND OR X Y Z = X+Y 0 0 0 0 1 1 1 0 1 1 1 1
  • 8.
    Truth Tables –Cont’d ▪ Used to evaluate any logic function ▪ Consider F(X, Y, Z) = X Y + Y Z X Y Z X Y Y Y Z F = X Y + Y Z 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 0 1
  • 9.
    Boolean Algebra andLogic Gates 9 ▪ Using Switches • Inputs: ▪logic 1 is switch closed ▪logic 0 is switch open • Outputs: ▪logic 1 is light on ▪logic 0 is light off. • NOT input: ▪logic 1 is switch open ▪logic 0 is switch closed Logic Function Implementation Switches in series => AND Switches in parallel => OR C Normally-closed switch => NOT
  • 10.
    Boolean Algebra andLogic Gates 10 ▪ Example: Logic Using Switches ▪ Light is on (L = 1) for L(A, B, C, D) = and off (L = 0), otherwise. ▪ Useful model for relay and CMOS gate circuits, the foundation of current digital logic circuits Logic Function Implementation – cont’d B A D C A (B C + D) = A B C + A D
  • 11.
    Boolean Algebra andLogic Gates 11 Logic Gates ▪ In the earliest computers, switches were opened and closed by magnetic fields produced by energizing coils in relays. The switches in turn opened and closed the current paths. ▪ Later, vacuum tubes that open and close current paths electronically replaced relays. ▪ Today, transistors are used as electronic switches that open and close current paths.
  • 12.
    Boolean Algebra andLogic Gates 12 Logic Gate Symbols and Behavior ▪ Logic gates have special symbols: ▪ And waveform behavior in time as follows: X 0 0 1 1 Y 0 1 0 1 X · Y (AND) 0 0 0 1 X + Y (OR) 0 1 1 1 (NOT) X 1 1 0 0 OR gate X Y Z = X + Y X Y Z = X · Y AND gate X Z = X NOT gate or inverter
  • 13.
    Boolean Algebra andLogic Gates 13 Logic Diagrams and Expressions ▪ Boolean equations, truth tables and logic diagrams describe the same function! ▪ Truth tables are unique, but expressions and logic diagrams are not. This gives flexibility in implementing functions. X Y F Z Logic Diagram Logic Equation Z Y X F + = Truth Table 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 X Y Z Z Y X F ⋅ + =
  • 14.
    Boolean Algebra andLogic Gates 14 Gate Delay ▪ In actual physical gates, if an input changes that causes the output to change, the output change does not occur instantaneously. ▪ The delay between an input change and the output change is the gate delay denoted by tG: tG tG Inpu t Outpu t Time (ns) 0 0 1 1 0 0.5 1 1.5 tG = 0.3 ns
  • 15.
    Boolean Algebra andLogic Gates 15 1 . 3 . 5 . 7 . 9 . 11. 13 . 15 . 17 . Commutativ e Associativ e Distributiv e DeMorgan’s 2 . 4 . 6 . 8 . X . 1 X = X . 0 0 = X . X X = 0 = X . X Boolean Algebra 10 . 12 . 14 . 16 . X + Y Y + X = (X + Y) Z + X + (Y Z ) + = X(Y + Z) XY XZ + = X + Y X . Y = XY YX = (XY ) Z X( Y Z ) = X + YZ (X + Y) (X + Z) = X . Y X + Y = X + 0 X = + X 1 1 = X + X X = 1 = X + X X = X ▪ Invented by George Boole in 1854 ▪ An algebraic structure defined by a set B = {0, 1}, together with two binary operators (+ and ·) and a unary operator ( ) Idempotence Complement Involution Identity element
  • 16.
    Boolean Algebra andLogic Gates 16 Some Properties of Boolean Algebra ▪ Boolean Algebra is defined in general by a set B that can have more than two values ▪ A two-valued Boolean algebra is also know as Switching Algebra. The Boolean set B is restricted to 0 and 1. Switching circuits can be represented by this algebra. ▪ The dual of an algebraic expression is obtained by interchanging + and · and interchanging 0’s and 1’s. ▪ The identities appear in dual pairs. When there is only one identity on a line the identity is self-dual, i. e., the dual expression = the original expression. ▪ Sometimes, the dot symbol ‘●’ (AND operator) is not written when the meaning is clear
  • 17.
    Boolean Algebra andLogic Gates 17 ▪ Example: F = (A + C) · B + 0 dual F = (A · C + B) · 1 = A · C + B ▪ Example: G = X · Y + (W + Z) dual G = ▪ Example: H = A · B + A · C + B · C dual H = ▪ Unless it happens to be self-dual, the dual of an expression does not equal the expression itself ▪ Are any of these functions self-dual? (A+B)(A+C)(B+C)=(A+BC)(B+C)=AB+AC+BC Dual of a Boolean Expression (X+Y) · (W · Z) = (X+Y) · (W+Z) (A+B) · (A+C) · (B+C) H is self-dual
  • 18.
    Boolean Algebra andLogic Gates 18 Boolean Operator Precedence ▪ The order of evaluation is:1. Parentheses 2. NO T 3. AN D 4. O R ▪ Consequence: Parentheses appear around OR expressions ▪ Example: F = A(B + C)(C + D)
  • 19.
    Boolean Algebra andLogic Gates 19 Boolean Algebraic Proof – Example 1 ▪ A + A · B = A (Absorption Theorem) Proof Steps Justification A + A · B = A · 1 + A · B Identity element: A · 1 = A = A · ( 1 + B) Distributive = A · 1 1 + B = 1 = A Identity element ▪ Our primary reason for doing proofs is to learn: • Careful and efficient use of the identities and theorems of Boolean algebra, and • How to choose the appropriate identity or theorem to apply to make forward progress, irrespective of the application.
  • 20.
    Boolean Algebra andLogic Gates 20 ▪ AB + AC + BC = AB + AC (Consensus Theorem) Proof Steps Justification = AB + AC + BC = AB + AC + 1 · BC Identity element = AB + AC + (A + A) · BC Complement = AB + AC + ABC + ABC Distributive = AB + ABC + AC + ACB Commutative = AB · 1 + ABC + AC · 1 + ACB Identity element = AB (1+C) + AC (1 + B) Distributive = AB . 1 + AC . 1 1+X = 1 = AB + AC Identity element Boolean Algebraic Proof – Example 2
  • 21.
    Boolean Algebra andLogic Gates 21 Useful Theorems ▪ Minimization X Y + X Y = Y ▪ Absorption X + X Y = X ▪ Simplification X + X Y = X + Y ▪ DeMorgan’s ▪ X + Y = X · Y ▪ Minimization (dual) (X+Y)(X+Y) = Y ▪ Absorption (dual) X · (X + Y) = X ▪ Simplification (dual) X · (X + Y) = X · Y ▪ DeMorgan’s (dual) ▪ X · Y = X + Y
  • 22.
    Boolean Algebra andLogic Gates 22 Truth Table to Verify DeMorgan’s X Y X·Y X+Y X Y X+Y X · Y X·Y X+Y 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 X + Y = X · Y X · Y = X + Y ▪ Generalized DeMorgan’s Theorem: X1 + X2 + … + Xn = X1 · X2 · … · Xn X1 · X2 · … · Xn = X1 + X2 + … + Xn
  • 23.
    Boolean Algebra andLogic Gates 23 Complementing Functions ▪Use DeMorgan's Theorem: 1. Interchange AND and OR operators 2. Complement each constant and literal ▪Example: Complement F = F = (x + y + z)(x + y + z) ▪Example: Complement G = (a + bc)d + e G = (a (b + c) + d) e x + z y z y x
  • 24.
    Boolean Algebra andLogic Gates 24 Expression Simplification ▪ An application of Boolean algebra ▪ Simplify to contain the smallest number of literals (variables that may or may not be complemented) = AB + ABCD + A C D + A C D + A B D = AB + AB(CD) + A C (D + D) + A B D = AB + A C + A B D = B(A + AD) +AC = B (A + D) + A C (has only 5 literals) + + + + D C B A D C A D B A D C A B A
  • 25.
    Boolean Algebra andLogic Gates 25 Next … Canonical Forms ▪ Minterms and Maxterms ▪ Sum-of-Minterm (SOM) Canonical Form ▪ Product-of-Maxterm (POM) Canonical Form ▪ Representation of Complements of Functions ▪ Conversions between Representations
  • 26.
    Boolean Algebra andLogic Gates 26 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., ), there are 2n minterms for n variables. ▪ Example: Two variables (X and Y) produce 2 x 2 = 4 combinations: (both normal) (X normal, Y complemented) (X complemented, Y normal) (both complemented) ▪ Thus there are four minterms of two variables. Y X X Y Y X Y X x
  • 27.
    Boolean Algebra andLogic Gates 27 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: (both normal) (x normal, y complemented) (x complemented, y normal) (both complemented) Y X + Y X + Y X + Y X +
  • 28.
    Boolean Algebra andLogic Gates 28 ▪ Two variable minterms and maxterms. ▪ 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 2 variables 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
  • 29.
    Boolean Algebra andLogic Gates 29 Minterms & Maxterms for 3 variables M3 = x + y + z m3 = x y z 3 1 1 0 M4 = x + y + z m4 = x y z 4 0 0 1 M5 = x + y + z m5 = x y z 5 1 0 1 M6 = x + y + z m6 = x y z 6 0 1 1 1 1 0 0 y 1 0 0 0 x 1 0 1 0 z M7 = x + y + z m7 = x y z 7 M2 = x + y + z m2 = x y z 2 M1 = x + y + z m1 = x y z 1 M0 = x + y + z m0 = x y z 0 Maxterm Minterm Index Maxterm Mi is the complement of minterm mi Mi = mi and mi = Mi
  • 30.
    Boolean Algebra andLogic Gates 30 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”.
  • 31.
    Boolean Algebra andLogic Gates 31 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
  • 32.
    Boolean Algebra andLogic Gates 32 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 0 1 1 0 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 Focus on the ‘1’ entries
  • 33.
    Boolean Algebra andLogic Gates 33 + a b c d Sum-Of-Minterm Examples ▪ F(a, b, c, d) = ∑(2, 3, 6, 10, 11) ▪ F(a, b, c, d) = m2 + m3 + m6 + m10 + m11 ▪ G(a, b, c, d) = ∑(0, 1, 12, 15) ▪ G(a, b, c, d) = m0 + m1 + m12 + m15 + a b c d a b c d + a b c d + a b c d + a b c d + a b c d a b c d + a b c d
  • 34.
    Boolean Algebra andLogic Gates 34 Product-Of-Maxterm (POM) ▪ Product-Of-Maxterm (POM) canonical form: Product of maxterms of entries that evaluate to ‘0’ x y z F Maxterm 0 0 0 1 0 0 1 1 0 1 0 0 M2 = (x + y + z) 0 1 1 1 1 0 0 0 M4 = (x + y + z) 1 0 1 1 1 1 0 0 M6 = (x + y + z) 1 1 1 1 Focus on the ‘0’ entries F = M2·M4·M6 = ∏ (2, 4, 6) = (x+y+z) (x+y+z) (x+y+z)
  • 35.
    Boolean Algebra andLogic Gates 35 ▪ F(a, b, c, d) = ∏(1, 3, 6, 11) ▪ F(a, b, c, d) = M1 · M3 · M6 · M11 ▪ G(a, b, c, d) = ∏(0, 4, 12, 15) ▪ G(a, b, c, d) = M0 · M4 · M12 · M15 Product-Of-Maxterm Examples (a+b+c+d ) (a+b+c+d) (a+b+c+d) (a+b+c+d) (a+b+c+d ) (a+b+c+d) (a+b+c+d) (a+b+c+d)
  • 36.
    Boolean Algebra andLogic Gates 36 Observations ▪ We can implement any function by "ORing" the minterms corresponding to the ‘1’ entries in the function table. A minterm evaluates to ‘1’ for its corresponding entry. ▪ We can implement any function by "ANDing" the maxterms corresponding to ‘0’ entries in the function table. A maxterm evaluates to ‘0’ for its corresponding entry. ▪ The same Boolean function can be expressed in two canonical ways: Sum-of-Minterms (SOM) and Product-of- Maxterms (POM). ▪ If a Boolean function has fewer ‘1’ entries then the SOM canonical form will contain fewer literals than POM. However, if it has fewer ‘0’ entries then the POM form will have fewer literals than SOM.
  • 37.
    Boolean Algebra andLogic Gates 37 Converting to Sum-of-Minterms Form ▪ A function that is not in the Sum-of-Minterms form can be converted to that form by means of a truth table ▪ Consider F = y + x z x y z F Minterm 0 0 0 1 m0 = x y z 0 0 1 1 m1 = x y z 0 1 0 1 m2 = x y z 0 1 1 0 1 0 0 1 m4 = x y z 1 0 1 1 m5 = x y z 1 1 0 0 1 1 1 0 F = ∑(0, 1, 2, 4, 5) = m0 + m1 + m2 + m4 + m5 = x y z + x y z + x y z + x y z + x y z
  • 38.
    Boolean Algebra andLogic Gates 38 Converting to Product-of-Maxterms Form ▪ A function that is not in the Product-of-Minterms form can be converted to that form by means of a truth table ▪ Consider again: F = y + x z x y z F Minterm 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 M3 = (x+y+z) 1 0 0 1 1 0 1 1 1 1 0 0 M6 = (x+y+z) 1 1 1 0 M7 = (x+y+z) F = ∏(3, 6, 7) = M3 · M6 · M7 = (x+y+z) (x+y+z) (x+y+z)
  • 39.
    Boolean Algebra andLogic Gates 39 Conversions Between Canonical Forms F = m1+m2+m3+m5+m7 = ∑(1, 2, 3, 5, 7) = x y z + x y z + x y z + x y z + x y z F = M0 · M4 · M6 = ∏(0, 4, 6) = (x+y+z)(x+y+z)(x+y+z) x y z F Minterm Maxterm 0 0 0 0 M0 = (x + y + z) 0 0 1 1 m1 = x y z 0 1 0 1 m2 = x y z 0 1 1 1 m3 = x y z 1 0 0 0 M4 = (x + y + z) 1 0 1 1 m5 = x y z 1 1 0 0 M6 = (x + y + z) 1 1 1 1 m7 = x y z
  • 40.
    Boolean Algebra andLogic Gates 40 Algebraic Conversion to Sum-of-Minterms ▪ Expand all terms first to explicitly list all minterms ▪ AND any term missing a variable v with (v + v) ▪ Example 1: f = x + x y (2 variables) f = x (y + y) + x y f = x y + x y + x y f = m3 + m2 + m0 = ∑(0, 2, 3) ▪ Example 2: g = a + b c (3 variables) g = a (b + b)(c + c) + (a + a) b c g = a b c + a b c + a b c + a b c + a b c + a b c g = a b c + a b c + a b c + a b c + a b c g = m1 + m4 + m5 + m6 + m7 = ∑ (1, 4, 5, 6, 7)
  • 41.
    Boolean Algebra andLogic Gates 41 Algebraic Conversion to Product-of-Maxterms ▪ Expand all terms first to explicitly list all maxterms ▪ OR any term missing a variable v with v · v ▪ Example 1: f = x + x y (2 variables) Apply 2nd distributive law: f = (x + x) (x + y) = 1 · (x + y) = (x + y) = M1 ▪ Example 2: g = a c + b c + a b (3 variables) g = (a c + b c + a) (a c + b c + b) (distributive) g = (c + b c + a) (a c + c + b) (x + x y = x + y) g = (c + b + a) (a + c + b) (x + x y = x + y) g = (a + b + c) (a + b + c) = M5 . M2 = ∏ (2, 5)
  • 42.
    Boolean Algebra andLogic Gates 42 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 canonical form ▪ Alternatively, the complement of a function expressed by a Sum of Minterms form is simply the Product of Maxterms with the same indices ▪ Example: Given F(x, y, z) = ∑ (1, 3, 5, 7) F(x, y, z) = ∑ (0, 2, 4, 6) F(x, y, z) = ∏ (1, 3, 5, 7)
  • 43.
    Boolean Algebra andLogic Gates 43 Summary of Minterms and Maxterms ▪ There are 2n minterms and maxterms for Boolean functions with n variables. ▪ Minterms and maxterms are indexed from 0 to 2n – 1 ▪ Any Boolean function can be expressed as a logical sum of minterms and as a logical product of maxterms ▪ The complement of a function contains those minterms not included in the original function ▪ The complement of a sum-of-minterms is a product-of- maxterms with the same indices
  • 44.
    Boolean Algebra andLogic Gates 44 ▪ 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 • • Standard Forms B C B A C B A + + C · ) C B (A · B) (A + + + C) (A C) B (A + + B) (A C A C B A + +
  • 45.
    Boolean Algebra andLogic Gates 45 Standard Sum-of-Products (SOP) ▪ A sum of minterms form for n variables can be written down directly from a truth table. • Implementation of this form is a two-level network of gates such that: • The first level consists of n-input AND gates • The second level is a single OR gate ▪ This form often can be simplified so that the corresponding circuit is simpler.
  • 46.
    Boolean Algebra andLogic Gates 46 ▪ A Simplification Example: ▪ 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 = A B C + A F = B C + A ▪ Simplified F contains 3 literals compared to 15 Standard Sum-of-Products (SOP) ) 7 , 6 , 5 , 4 , 1 ( ) C , B , A ( F Σ =
  • 47.
    Boolean Algebra andLogic Gates 47 AND/OR Two-Level Implementation ▪ The two implementations for F are shown below It is quite apparent which is simpler!
  • 48.
    Boolean Algebra andLogic Gates 48 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

Editor's Notes

  • #22 We can also use algebraic properties in doing this proof. We will show that, x’ . y’, satisfies the definition of the complement of (x + y), defined as (x + y)’ by DeMorgan’s Law. To show this we need to show that A + A’ = 1 and A.A’ = 0 with A = x + y and A’ = x’. y’. This proves that x’. y’ = (x + y)’. Part 1: Show x + y + x’. y’ = 1. x + y + x’. y’ = (x + y + x’) (x + y + y’) X + YZ = (X + Y)(X + Z) (Distributive Law) = (x + x’ + y) (x + y + y’) X + Y = Y + X (Commutative Law) = (1 + y)(x + 1) X + X’ = 1 = 1 . 1 1 + X = 1 = 1 1 . X = 1 Part 2: Show (x + y) . x’. y’ = 0. (x + y) . x’. y’ = (x . x’. y’ + y . x’. y’) X (Y + Z) = XY + XZ (Distributive Law) = (x . x’. y’ + y . y’ . x’) XY = YX (Commutative Law) = (0 . y’ + 0 . x’) X . X’ = 0 = (0 + 0) 0 . X = 0 = 0 X + 0 = X (With X = 0) Based on the above two parts, x’y’ = (x + y)’ The second DeMorgans’ law is proved by duality. Note that DeMorgan’s Law, given as an identity is not an axiom in the sense that it can be proved using the other identities.
  • #23 G' = ((a (b' + c'))+ d ) e' = (a (b' + c') + d) e'
  • #33  F(A,B,C,D,E) = A’B’C’DE’ + A’BC’D’E + AB’C’D’E + AB’CDE
  • #35  F(A,B,C,D,E) = A’B’C’DE’ + A’BC’D’E + AB’C’D’E + AB’CDE