Download Chapter 2: Boolean Algebra and Logic Functions

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Chapter 2: Boolean Algebra and Logic
Functions
CS 3402-- Digital Logic Design
CS 3402:A.Berrached
1
Boolean Algebra
Algebraic structure consisting of:
• a set of elements B
• operations {AND, OR}
 Notation:
X AND Y X • Y XY
X OR Y
X+Y
• B contains at least two elements a & b such that a  b
 Note: switching algebra is a subset of Boolean algebra where
B={0, 1}
Axioms of Boolean Algebra
4. Associative Laws:
1. Closure a,b in B,
(i) a + (b+c) = (a+b)+c = a+b+c
(ii) a. (b.c) = (a.b).c = a.b.c
(i) a + b in B
5. Distributive Laws:
(ii) a • b in B
(i) a + (b • c) = (a + b) • (a + c)
2. Identities: 0, 1 in B
(ii) a • (b + c) = (a • b) + (a • c)
(i) a + 0 = a
6. Existence of the Complement:
(ii) a • 1 = a
exists a’ unique in B
3. Commutative Laws: a,b in B,
(i) a + a’ = 1
(i) a + b = b + a
(ii) a • a’ = 0
(ii) a • b = b • a
a’ is complement of a
CS 3402:A.Berrached
2
Principle of Duality
Definition of duality:
 a dual of a Boolean expression is derived by replacing AND
operations by ORs, OR operations by ANDs, constant 0s by 1s,
and 1s by 0s (everything else is left unchanged).
Principle of duality: if a statement is true for an expression, then it
is also true for the dual of the expression
Example: find the dual of the following equalities
1)
2)
XY+Z = 0
a(b+c) = ab + ac
CS 3402:A.Berrached
3
Boolean Functions


A Boolean function consists of an algebraic expression formed
with binary variables, the constants 0 and 1, the logic operation
symbols, parenthesis, and an equal sign.
Example:
F(X,Y,Z) = X + Y’ Z
or F = X + Y’ Z

X, Y and Z are Boolean variables
A literal: The appearance of a variable or its complement in a
Boolean expression

A Boolean function can be represented with a truth table

A Boolean function can be represented with a logic circuit
diagram composed of logic gates.

CS 3402:A.Berrached
4
From Boolean Expression to Gates
More than one way to map an expression to gates
E.g., Z = A' • B' • (C + D) = (A' • (B' • (C + D)))
A
Z
B
T1
C
T
D
2
A
B
Z
C
D
For each Boolean function, there is only one unique truth table
representation
=>Truth table is CS
the3402:A.Berrached
unique signature of a Boolean function
5
Boolean Functions
Possible Boolean Functions of Two variables
X Y
0 0
0 1
1 0
1 1
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
0 0 0 0 0 0 0 0 1 1
1
1
1
1
1
1
0 0 0 0 1 1 1 1 0 0
0
0
1
1
1
1
0 0 1 1 0 0 1 1 0 0
1
1
0
0
1
1
0 1 0 1 0 1 0 1 0 1
0
1
0
1
0
1
0
NAND
NOR
X• Y
1
X
Y
X+Y
Description
Z = 1 if X is 0
or Y is 0
Description
Z = 1 if both X
and Y are 0
Y
X
Gates
X
Y
Truth T able
X Y Z
0 0 1
0 1 1
1 0 1
1 1 0
Z
Gates
X
Y
CS 3402:A.Berrached
Truth T able
Z
X
0
0
1
1
Y
0
1
0
1
Z
1
0
0
0
6
Basic Logic Functions: NAND, NOR

NAND, NOR gates far outnumber AND, OR in typical designs
• easier to construct in the underlying transistor technologies
• they are functionally complete

Functionally Complete Operation Set:
• A set of logic operations from which any Boolean function can be
realized (also called universal operation set)
• E.g. {AND, OR, NOT} is functionally complete

The NAND operation is also functionally complete
• => any Boolean function can be realized with one type of gate (the
NAND gate).

The NOR operation is also functionally complete
CS 3402:A.Berrached
7
Basic Logic Functions: XOR, XNOR

XOR: X or Y but not both ("inequality", "difference")

XNOR: X and Y are the same ("equality", "coincidence")
Desc ription
Z = 1 if X has a different
value than Y
Desc ription
Z = 1 if X has the s ame
value as Y
Gates
Gates
X
Z
Truth T able
X
0
0
1
1
(a) XOR
Z
Y
Y
Truth T able
X
Y
0
1
0
1
Z
0
1
1
0
X
0
0
1
1
Y
0
1
0
1
Z
1
0
0
1
(b) XNOR
CS 3402:A.Berrached
8
Logic Functions: Rationale for Simplification

Logic Minimization: reduce complexity of the gate level implementation
• reduce number of literals (gate inputs, circuit inputs)
• reduce number of gates
• reduce number of levels of gates

fewer inputs implies faster gates in some technologies

fan-ins (number of gate inputs) are limited in some technologies

Fewer circuit inputs implies fewer I/O pins

fewer levels of gates implies reduced signal propagation delays

number of gates (or gate packages) influences manufacturing costs

In general, need to make tradeoff between circuit delay and reduced
gate count.
CS 3402:A.Berrached
9
Simplification Using Boolean Algebra
Useful Theorems of Boolean Algebra:
1. Idempotency Theorem
a. X + X = X
b. X • X = X
2. Null elements for + and • operators
a. X + 1 = 1
b. X . 0 = 0
3. Involution Theorem
(X’)’ = X
4. Absorption Theorem
a. X + XY = X
b. X.(X+Y) = X
5. Simplification Theorem
a. XY + XY’ = X
b. (X+Y).(X+Y’) = X
6. Another Simplification Theorem
a. X + X’Y = X + Y
b. X.(X’ + Y) = X.Y
CS 3402:A.Berrached
10
DeMorgan's Theorems
7. DeMorgan’s Theorem
a. (X+Y)’ = X’ . Y’


b. (X.Y)’ = X’ + Y’
The complement of the sum is the product of the complements
The complement of the product is the sum of the complements
In general
a. (A+B+….+Z)’ = A’ . B’ . … .Z’
b. (A.B.C….Z)’ = A’ + B’ + ….+Z’
CS 3402:A.Berrached
11
DeMorgan's Theorem
(X + Y)' = X' • Y'
NOR is equivalent to AND
with inputs complemented
(X • Y)' = X' + Y'
NAND is equivalent to OR
with inputs complemented
X
0
0
1
1
Y
0
1
0
1
X
1
1
0
0
Y
1
0
1
0
X
0
0
1
1
Y
0
1
0
1
X
1
1
0
0
Y
1
0
1
0
X +Y
1
0
0
0
X•Y
1
0
0
0
X•Y X +Y
1
1
1
1
1
1
0
0
DeMorgan’s Law can be used to get the complement of an expression
{F(X1,X2,...,Xn,0,1,+,•)}' = {F(X1',X2',...,Xn',1,0,•,+)}
Example:
F = A B' C' + A' B' C + A B' C + A B C'
F' = (A' + B + C) • (A + B + C') • (A' + B + C') • (A' + B' + C)
CS 3402:A.Berrached
12
Function Representations



Truth Table (Unique representation)
Boolean Expressions
Logic Diagrams
From
Boolean Expression
Logic Diagram
Boolean Expression
Truth Table
==>
==>
==>
==>
CS 3402:A.Berrached
TO
Logic Diagram
Boolean Expression
Truth Table
Boolean Expression
13
Function Representations

F(X,Y,Z) = X + Y’Z + X’Y’Z + X’Y’Z’
CS 3402:A.Berrached
14
Deriving Boolean Expression from Truth
Table
CS 3402:A.Berrached
15
Product and Sum Terms --Definitions
Definitions:
 Literal: A boolean variable or its complement
X
X’
A
B’

Product term: A literal or the logical product (AND) of multiple literals:
X
XY
XYZ
X’YZ’
A’BC
Note:
X(YZ)'
Sum term: A literal or the logical sum (OR) of multiple literals:
X
X’+Y
X+Y+Z
X’+Y+Z’
A’+B+C
Note: X+(Y+Z)'

CS 3402:A.Berrached
16
SOP & POS -- Definitions

Sum of products (SOP) expression: The logic sum (OR) of multiple
product terms:
AB + A’C + B’ + ABC
AB’C + B’D’ + A’CD’

Product of sums (POS) expression: The logic product (AND) of multiple
sum terms:
(A+B).( A’+C).B’.( A+B+C)
(A’ + B + C).( C’ + D)
Note:
SOP expressions ==> 2-level AND-OR circuit
POS expressions ==> 2-level OR-AND circuit
CS 3402:A.Berrached
17
Minterms & Maxterms -- Definitions
Definitions
A Minterm: for an n variable function, a minterm is a product term that
contains each of the n variables exactly one time in complemented or
uncomplemented form.
Example: if X, Y and Z are the input variables, the minterms are:

X’Y’Z’
X’Y’Z X’YZ’ X’YZ XY’Z’ XY’Z XYZ’ XYZ
A Maxterm: for an n variable function, a maxterm is a sum term that
contains each of the n variables exactly one time in complemented or
uncomplemented form
Example: if X, Y and Z are the input variables, the maxterms are:

X’+Y’+Z’
X’+Y’+Z X’+Y+Z’ X’+Y+Z X+Y’+Z’ X+Y’+Z X+Y+Z’ X+Y+Z
CS 3402:A.Berrached
18
Minterms

For functions of three variables: X, Y, and Z
Minterm Designation
X’Y’Z’
m0
X’Y’Z
m1
X’YZ’
m2
X’YZ
m3
XY’Z’
m4
XY’Z
m5
XYZ’
m6
XYZ
m7
Bit Combination
000
001
010
011
100
101
110
111
• The bit combination associated with each minterm is the only bit
combination for which the minterm is equal to1.
•Example: X'Y'Z' = 1 iff X=0, Y=0, and Z=0
• Each bit represents one of the variables ( order is important) :
Un-complemented variable ==> 1
Complemented variable
CS 3402:A.Berrached
==> 0
19
Maxterms
Maxterm
Bit Combination Designmation
X+Y+Z
000
M0
X + Y + Z’
001
M1
X + Y’ + Z
010
M2
X + Y’ + Z’
011
M3
X’ + Y + Z
100
M4
X’ + Y + Z’
101
M5
X’ + Y’ + Z
110
M6
X’ + Y’ + Z’
111
M7
• The bit combination associated with each
Maxterm is the only bit combination for which the
Maxterm is equal to 0.
Note: The ith Maxterm is the complement of
the ith minterm; That is Mi = mi
CS 3402:A.Berrached
20
Standard (Canonical) forms of an expression



A switching function can be represented by several
different, but equivalent, algebraic expressions.
The standard form is a unique algebraic
representation of each function.
• Standard SOP: sum of minterm form of a switching
function
• Standard POS: the product of maxterm form ofa
switching function
Each switching function has a unique standard SOP
and a unique standard POS.
CS 3402:A.Berrached
21
Deriving Boolean Expression from Truth Table

Input
AB C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Output
F
1
0
0
1
0
0
0
0
Minterm
term
A’B’C’
A’B’C
A’BC’
A’BC
AB’C’
AB’C
ABC’
ABC
designation
m0
m1
m2
m3
m4
m5
m6
m7
F is 1 iff (A=0 AND B=0 AND C=0) or (A=0 AND B=1 AND C=1)
F is 1 iff (A’=1 AND B’=1 AND C’=1) or (A’=1 AND B=1 AND C=1)
F is 1 iff A’.B’.C’ = 1 OR A’.B.C= 1
F is 1 iff A’B’C’ + A’BC = 1
=> F = A’B’C’ + A’BC
Short-hand notation:
CS 3402:A.Berrached
=> F = m0 + m3
F =  m ( 0, 3)
22
Sum of minterms form

A Boolean function is equal to the sum of minterms
for which the output is one.
=> the sum of minterms (also called the standard
SOP) form
Example: F =  m ( 0, 3)
CS 3402:A.Berrached
23
Deriving Boolean Expression from Truth Table


Input
AB
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
C
0
1
0
1
0
1
0
1
Output
F
1
0
0
1
0
0
0
0
Minterm
term
Designation
A’B’C’
m0
A’B’C
m1
A’BC’
m2
A’BC
m3
AB’C’
m4
AB’C
m5
ABC’
m6
ABC
m7
Maxterm
term
A +B+C
A + B + C’
A + B’ + C
A + B’ + C’
A’ + B + C
A ‘ + B + C’
A’ + B’ + C
A’ + B’ + C’
Designation
M0
M1
M2
M3
M4
M5
M6
M7
F is 0 iff (A+B+C’) = 0 AND (A+B’+C)=0 AND (A’+B+C)=0 AND (A’+B+C’) =0
AND (A’+B’+C) = 0 AND (A’+B’+C’) = 0
=> F = (A+B+C’) . (A+B’+C) . (A’+B+C) AND (A’+B+C’) . (A’+B’+C) . (A’+B’+C’)
=> F = M1.M2.M4.M5.M6.M7 ==> F =
 M(1,2,4,5,6,7)
CS 3402:A.Berrached
24
Product of Maxterms

A Boolean function is equal to the product of
Maxterms for which the output is 0.
=> the product of Maxterms (also called the standard
Product of Sums) form
Example:F =  M(1,2,4,5,6,7)
CS 3402:A.Berrached
25
Examples:
Find the truth table for the following switching functions:
 F(A,B,C) = ABC’ + AB’C
 F(A,B,C) = AB + A’B’ + AC
 F(X, Z) = X + Z’
 F(A,B,C,D) = A(B’ + CD’) + A’BC’
For each of the above functions, find their Standard SOP
and POS.
CS 3402:A.Berrached
26
Getting Standard Forms of a Switching Function
F(A,B,C) = AB + A’B’ + AC
get standard SOP and POS forms of F

Method 1:
1. Derive Truth Table for F
2. Get SOP and POS from truth table
Method 2:
Use Shannon’s Expansion Theorem
CS 3402:A.Berrached
27
Shannon’s Expansion Theorem
a) f(x1,x2,…,xn) = x1.f(1,x2,….,xn) + x1.f(0,x2,…,xn)
b) f(x1,x2,…,xn) = [ x1+ f(0,x2,….,xn)] . [ x1.f(1,x2,…,xn)]
CS 3402:A.Berrached
28
Incompletely Specified Functions


The output for certain input combination is not important
(I.e. we don't care about it).
Certain input combinations never occur
Example: Design a circuit that takes as input a BCD digit
and outputs a 1 iff the parity of the input is even.
Note: A BCD digit consists of 4 bits
CS 3402:A.Berrached
29
Incompletely Specified Functions
Block Diagram
W
X
F
Y
Z
CS 3402:A.Berrached
30
Incompletely Specified Functions

Truth Table
WXYZ F
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1
0
0
1
0
1
1
0
0
1
d
d
d
d
d
d
F =  m ( 0, 3, 5, 6, 9)+d(10…15)
F =  M(1,2,4,7, 8)+ d(10…15)
CS 3402:A.Berrached
31
Related documents