Professional Documents
Culture Documents
1
Combinational logic
n Basic logic
q Boolean algebra, proofs by re-writing, proofs by perfect induction
q logic functions, truth tables, and switches
q NOT, AND, OR, NAND, NOR, XOR, . . ., minimal set
n Logic realization
q two-level logic and canonical forms
q incompletely specified functions
n Simplification
q uniting theorem
q grouping of terms in Boolean functions
n Alternate representations of Boolean functions
q cubes
q Karnaugh maps
2
Possible logic functions of two variables
X F
Y
3
An algebraic structure
4
Boolean algebra
n Boolean algebra
q B = {0, 1}
q variables
q + is logical OR, • is logical AND
q ’ is logical NOT
n All algebraic axioms hold
5
Logic functions and Boolean algebra
X Y X’ Y’ X•Y X’ • Y’ ( X • Y ) + ( X’ • Y’ )
0 0 1 1 0 1 1
0 1 1 0 0 0 0
( X • Y ) + ( X’ • Y’ ) º X=Y
1 0 0 1 0 0 0
1 1 0 0 1 0 1
Gate
Logic 1 on gate,
Source Drain Source and Drain connected
nMOS Transistor
Gate
Logic 0 on gate,
Source Drain Source and Drain connected
pMOS Transistor
Steering Logic Logic Gates from Switches
+5V A B A B
+5V +5V
A AB
A
A+B
+5V +5V
Input is 1 Input is 0
Pull-up does not conduct Pull-up conducts
Pull-down conducts Pull-down does not conduct
Output connected to GND Output connected to VDD
Steering Logic NAND Gate Operation
"0" "1"
A = 1, B = 1 A = 0, B = 1
Pull-up network does not conduct Pull-up network has path to VDD
Pull-down network conducts Pull-down network path broken
Output node connected to GND Output node connected to VDD
Steering Logic
NOR Gate Operation
"1" "0"
A = 0, B = 0 A = 1, B = 0
Pull-up network conducts Pull-up network broken
Pull-down network broken Pull-down network conducts
Output node at VDD Output node at GND
Possible logic functions of two variables
X F
Y
13
Cost of different logic functions
14
Logic Functions: Boolean Algebra
Theorem: any Boolean function that can be expressed as a truth table
can be written as an expression in Boolean Algebra using ', +, •
Switch.15
Logic Functions: NAND, NOR, XOR, XNOR
16 functions of two variables:
X Y F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 X, X', Y, Y', X•Y, X+Y, 0, 1 only
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 half of the possible functions
0 1
X• Y X Y X+Y Y X
Switch.16
Minimal set of functions
n Can we implement all logic functions from NOT, NOR, and NAND?
q For example, implementing X and Y
is the same as implementing not (X nand Y)
n In fact, we can do it with only NOR or only NAND
q NOT is just a NAND or a NOR with both inputs tied together
X Y X nor Y X Y X nand Y
0 0 1 0 0 1
1 1 0 1 1 0
17
An algebraic structure
18
Boolean algebra
n Boolean algebra
q B = {0, 1}
q variables
q + is logical OR, • is logical AND
q ’ is logical NOT
n All algebraic axioms hold
19
Logic functions and Boolean algebra
X Y X’ Y’ X•Y X’ • Y’ ( X • Y ) + ( X’ • Y’ )
0 0 1 1 0 1 1
0 1 1 0 0 0 0
( X • Y ) + ( X’ • Y’ ) º X=Y
1 0 0 1 0 0 0
1 1 0 0 1 0 1
n identity
1. X + 0 = X 1D. X • 1 = X
n null
2. X + 1 = 1 2D. X • 0 = 0
n idempotency:
3. X + X = X 3D. X • X = X
n involution:
4. (X’)’ = X
n complementarity:
5. X + X’ = 1 5D. X • X’ = 0
n commutativity:
6. X + Y = Y + X 6D. X • Y = Y • X
n associativity:
7. (X + Y) + Z = X + (Y + Z) 7D. (X • Y) • Z = X • (Y • Z)
21
Axioms and theorems of Boolean algebra (cont’d)
n distributivity:
8. X • (Y + Z) = (X • Y) + (X • Z) 8D. X + (Y • Z) = (X + Y) • (X + Z)
n uniting:
9. X • Y + X • Y’ = X 9D. (X + Y) • (X + Y’) = X
n absorption:
10. X + X • Y = X 10D. X • (X + Y) = X
11. (X + Y’) • Y = X • Y 11D. (X • Y’) + Y = X + Y
n factoring:
12. (X + Y) • (X’ + Z) = 12D. X • Y + X’ • Z =
X • Z + X’ • Y (X + Z) • (X’ + Y)
n concensus:
13. (X • Y) + (Y • Z) + (X’ • Z) = 13D. (X + Y) • (Y + Z) • (X’ + Z) =
X • Y + X’ • Z (X + Y) • (X’ + Z)
22
Axioms and theorems of Boolean algebra (cont’d)
n de Morgan’s:
14. (X + Y + ...)’ = X’ • Y’ • ... 14D. (X • Y • ...)’ = X’ + Y’ + ...
n generalized de Morgan’s:
15. f’(X1,X2,...,Xn,0,1,+,•) = f(X1’,X2’,...,Xn’,1,0,•,+)
23
Axioms and theorems of Boolean algebra (cont’d)
n Duality
q a dual of a Boolean expression is derived by replacing
• by +, + by •, 0 by 1, and 1 by 0, and leaving variables unchanged
q any theorem that can be proven is thus also proven for its dual!
q a meta-theorem (a theorem about theorems)
n duality:
16. X + Y + ... Û X • Y • ...
n generalized duality:
17. f (X1,X2,...,Xn,0,1,+,•) Û f(X1,X2,...,Xn,1,0,•,+)
24
Proving theorems (rewriting)
25
Activity
(X • Y) + (Y • Z) + (X’ • Z)
factoring (X • Y) • (1 + Z) + (X’ • Z) • (1 + Y)
identity (X • Y) + (X’ • Z) ü
26
Proving theorems (perfect induction)
X Y X’ Y’ (X + Y)’ X’ • Y’
(X + Y)’ = X’ • Y’ 0 0 1 1 1 1
NOR is equivalent to AND 0 1 1 0 0 0
with inputs complemented 1 0 0 1 0 0
1 1 0 0 0 0
X Y X’ Y’ (X • Y)’ X’ + Y’
(X • Y)’ = X’ + Y’ 0 0 1 1 1 1
NAND is equivalent to OR 0 1 1 0 1 1
with inputs complemented 1 0 0 1 1 1
1 1 0 0 0 0
27
A simple example: 1-bit binary adder
Cout Cin
n Inputs: A, B, Carry-in A A A A A
n Outputs: Sum, Carry-out B B B B B
S S S S S
A
S
A B Cin Cout S B
0 0 0 0 0 Cout
Cin
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1 S = A’ B’ Cin + A’ B Cin’ + A B’ Cin’ + A B Cin
1 0 1 1 0 Cout = A’ B Cin + A B’ Cin + A B Cin’ + A B Cin
1 1 0 1 0
1 1 1 1 1
28
Apply the theorems to simplify expressions
30
Activity
X Y
n NOT X’ X ~X X Y 0 1
1 0
X Y Z
X 0 0 0
n AND X • Y XY XÙY Y Z 0
1
1
0
0
0
1 1 1
X Y Z
X 0 0 0
n OR X+Y XÚY Z 0 1 1
Y
1 0 1
1 1 1
32
From Boolean expressions to logic gates (cont’d)
X Y Z
NAND X 0 0 1
n Z 0 1 1
Y
1 0 1
1 1 0
X Y Z
n NOR X 0 0 1
Z 0 1 0
Y 1 0 0
1 1 0
n XOR X Y Z
X 0 0 0 X xor Y = X Y’ + X’ Y
XÅY Y
Z 0 1 1 X or Y but not both
1 0 1 ("inequality", "difference")
1 1 0
n XNOR X Y Z
X 0 0 1 X xnor Y = X Y + X’ Y’
X=Y Z 0 1 0 X and Y are the same
Y
1 0 0 ("equality", "coincidence")
1 1 1
33
From Boolean expressions to logic gates (cont’d)
A B C Z
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1 two-level realization
1 1 1 0 (we don’t count NOT gates)
multi-level realization
(gates with fewer inputs)
36
Which realization is best?
37
CMOS 3-Input NAND Gate
38
Which is the best realization? (cont’d)
39
Which is the best realization? (cont’d)
40
Are all realizations equivalent?
41
Implementing Boolean functions
n Technology independent
q canonical forms
q two-level forms
q multi-level forms
n Technology choices
q packages of a few gates
q regular logic
q two-level programmable logic
q multi-level programmable logic
42
Canonical forms
43
Sum-of-products canonical forms
A B C F F’
0 0 0 0 1
0 0 1 1 0
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 0 F’ = A’B’C’ + A’BC’ + AB’C’
44
Sum-of-products canonical form (cont’d)
A B C minterms
F in canonical form:
0 0 0 A’B’C’ m0
F(A, B, C) = Sm(1,3,5,6,7)
0 0 1 A’B’C m1
= m1 + m3 + m5 + m6 + m7
0 1 0 A’BC’ m2
= A’B’C + A’BC + AB’C + ABC’ + ABC
0 1 1 A’BC m3
1 0 0 AB’C’ m4
canonical form ¹ minimal form
1 0 1 AB’C m5
F(A, B, C) = A’B’C + A’BC + AB’C + ABC + ABC’
1 1 0 ABC’ m6
= (A’B’ + A’B + AB’ + AB)C + ABC’
1 1 1 ABC m7
= ((A’ + A)(B’ + B))C + ABC’
= C + ABC’
short-hand notation for = ABC’ + C
minterms of 3 variables = AB + C
45
Product-of-sums canonical form
A B C F F’
0 0 0 0 1
0 0 1 1 0
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 0
46
Product-of-sums canonical form (cont’d)
47
S-o-P, P-o-S, and de Morgan’s theorem
n Sum-of-products
q F’ = A’B’C’ + A’BC’ + AB’C’
n Apply de Morgan’s
q (F’)’ = (A’B’C’ + A’BC’ + AB’C’)’
q F = (A + B + C) (A + B’ + C) (A’ + B + C)
n Product-of-sums
q F’ = (A + B + C’) (A + B’ + C’) (A’ + B + C’) (A’ + B’ + C) (A’ + B’ + C’)
n Apply de Morgan’s
q (F’)’ = ( (A + B + C’)(A + B’ + C’)(A’ + B + C’)(A’ + B’ + C)(A’ + B’ + C’) )’
q F = A’B’C + A’BC + AB’C + ABC’ + ABC
48
Four alternative two-level implementations
of F = AB + C
A
B canonical sum-of-products
F1
minimized sum-of-products
F2
canonical product-of-sums
F3
minimized product-of-sums
F4
49
Waveforms for the four alternatives
50
Mapping between canonical forms
51
Incompleteley specified functions
52
Notation for incompletely specified functions
53
Simplification of two-level combinational logic
54
A Minimal Sum of Products F(X1, … Xn)
55
The uniting theorem
F = A’B’+AB’ = (A’+A)B’ = B’
A B F
B has the same value in both on-set rows
0 0 1 – B remains
0 1 0
1 0 1
1 1 0
A has a different value in the two rows
– A is eliminated
56
Boolean cubes
01 11
0 1
1-cube Y 2-cube
X 10
00
X
111 1111
0111
3-cube Y Z 4-cube
101
Y
Z
000 X W
1000
0000 X
57
Mapping truth tables onto Boolean cubes
1 0 1 00 10
A
1 1 0
58
011 111
110
010
Three variable example 001
B C 101
000 A 100
n Binary full-adder carry-out logic
(A'+A)BCin
A B Cin Cout AB(Cin'+Cin)
111
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1 B C 101
1 0 0 0
000 A A(B+B')Cin
1 0 1 1
1 1 0 1
1 1 1 1 the on-set is completely covered by
the combination (OR) of the subcubes
of lower dimensionality - note that “111”
is covered three times
Cout = BCin+AB+ACin
59
Higher dimensional cubes
F(A,B,C) = Sm(4,5,6,7)
on-set forms a square
011 111 i.e., a cube of dimension 2
110 represents an expression in one variable
010 i.e., 3 dimensions – 2 dimensions
B C 001
101 A is asserted (true) and unchanged
B and C vary
000 A 100
This subcube represents the
literal A
60
m-dimensional cubes in a n-dimensional
Boolean space
n In a 3-cube (three variables):
q a 0-cube, i.e., a single node, yields a term in 3 literals
q a 1-cube, i.e., a line of two nodes, yields a term in 2 literals
q a 2-cube, i.e., a plane of four nodes, yields a term in 1 literal
q a 3-cube, i.e., a cube of eight nodes, yields a constant term "1"
n In general,
q an m-subcube within an n-cube (m < n) yields a term
with n – m literals
61
Karnaugh maps
A A B F
B 0 1 0 0 1
0 1 1 0 1 0
0 2
1 0 0 1 0 1
1 3
1 1 0
62
Karnaugh maps (cont’d)
AB A
C 00 01 11 10
A
0
0 2 6 4
0 4 12 8
C 1
1 3 7 5
1 5 13 9 D
B
A 3 7 15 11
C
0 2 6 4 2 6 14 10
B
C 13 = 1101= ABC’D
1 3 7 5
B
63
Adjacencies in Karnaugh maps
011 111
A
110
000 010 110 100 010
B C 001
C 001 011 111 101 101
B 100
000 A
64
Karnaugh map examples
n F= A
1 1
B’
n Cout = B 0 0
n f(A,B,C) = Sm(0,4,5,7)
A
0 0 1 0 AB + ACin + BCin
Cin 0 1 1 1
B
A
1 0 0 1
obtain the
C 0 0 1 1 complement
of the function
B AC + B’C’ + AB’
by covering 0s
with subcubes
65
More Karnaugh map examples
A
0 0 1 1
G(A,B,C) = A
C 0 0 1 1
B
A
1 0 0 1
F(A,B,C) = Sm(0,4,5,7) = AC + B’C’
C 0 0 1 1
B
A
0 1 1 0 F' simply replace 1's with 0's and vice versa
F'(A,B,C) = S m(1,2,3,6)= BC’ + A’C
C 1 1 0 0
B
66
Karnaugh map: 4-variable example
n F(A,B,C,D) = Sm(0,2,3,5,6,7,8,10,11,14,15)
F = C + A’BD + B’D’
A 1111
0111
1 0 0 1
0 1 0 0
D
C
1 1 1 1 D
C A
1000
1 1 1 1 0000 B
B
find the smallest number of the largest possible
subcubes to cover the ON-set
(fewer terms with fewer inputs per term)
67
Karnaugh maps: don’t cares
A
0 0 X 0
1 1 X 1
D
1 1 0 0
C
0 X 0 0
B
68
Karnaugh maps: don’t cares (cont’d)
A
by using don't care as a "1"
0 0 X 0
a 2-cube can be formed
1 1 X 1 rather than a 1-cube to cover
D this node
1 1 0 0
C don't cares can be treated as
0 X 0 0 1s or 0s
B depending on which is more
advantageous
69
Activity
F = BC + A’B’D’ + B’C’D’ 0 0 X X
D
F = A’C + AB + B’C’D’ X 1 1 0
C
1 X 1 0
B
70
6- Variable K-Maps
CD
CD EF 00 01 11 10
EF 00 01 11 10 00 1
AB=00
00
AB =00 0 4 12 8 01
01 1 5 13 9 11
11
3 7 15 11 10 1 1
10 2 6 14 10
CD
CD EF 00 01 11 10
EF 00 01 11 10 AB=01 00 1
AB =01 00
16 20 28 24 01
01 17 21 29 25 11
11 10 1
19 23 31 27 1
10
F(A,B,C,D,E,F) =
18 22 30 26
Sm(2,8,10,18,24, CD
EF
EF
CD 26,34,37,42,45,50, 00
00 01 11 10
00 01 11 10
00 53,58,61) AB=11
AB =11 48 52 60 56 01 1 1
01 49 53 61 57 = 11
11 10 1
51 55 63 59 1
10 50 54 62 58
CD
CD EF 00 01 11 10
EF 00 01 11 10 00
AB=10
00
AB =10 32 36 44 40 01 1 1
01 33 37 45 41 11
11 10 1
35 39 47 43 1
10 34 38 46 42
6- Variable K-Maps
CD
CD EF 00 01 11 10
EF 00 01 11 10 00 1
AB=00
00
AB =00 0 4 12 8 01
01 1 5 13 9 11
11
3 7 15 11 10 1 1
10 2 6 14 10
CD
CD EF 00 01 11 10
EF 00 01 11 10 AB=01 00 1
AB =01 00
16 20 28 24 01
01 17 21 29 25 11
11 10 1
19 23 31 27 1
10
F(A,B,C,D,E,F) =
18 22 30 26
Sm(2,8,10,18,24, CD
EF
EF
CD 26,34,37,42,45,50, 00
00 01 11 10
00 01 11 10
00 53,58,61) AB=11
AB =11 48 52 60 56 01 1 1
01 49 53 61 57 = D' E F' + A D E' F 11
11
51 55 63 59
+ A' C D' F' 10 1 1
10 50 54 62 58
CD
CD EF 00 01 11 10
EF 00 01 11 10 00
AB=10
00
AB =10 32 36 44 40 01 1 1
01 33 37 45 41 11
11 10 1
35 39 47 43 1
10 34 38 46 42
Combinational logic summary
73