Beruflich Dokumente
Kultur Dokumente
VDD
G G VGS = 0 - VB
VB VB
D S D S
Transistor remains ON Transistor cuts off if
VB equals VDD VB falls below VT
Transmission Gate
x0
s y
x1
Ex-OR Gate
b y
8 Transistors
Ex-OR without transmission gates
a.b’ + a’.b
3 NANDs + 2 inverters = 16 transistors
4 NANDs = 16 transistors a.ab + ab.b
AND-OR network + 3 inverters = 14 transistors
Ex-OR Gate with fewer transistors
a y
a b y
0 0 0
0 1 1
1 0 1
1 1 0
Ex-OR Gate with fewer transistors
a y
a b y
0 0 0?
0 1 1
1 0 1?
1 1 0
Ex-OR Gate with fewer transistors
a y
a b y
0 0 0?
b 0 1 1
a y 1 0 1?
b 1 1 0
Ex-OR Gate with fewer transistors
a y
a b y y
0 0 0? 0
b 0 1 1 Z
a y 1 0 1? 1
b 1 1 0 Z
Ex-OR Gate with fewer transistors
a y
a b y
0 0 0
b 0 1 1
a 1 0 1
b 1 1 0
Ex-OR Gate with fewer transistors
a y
a b y
0 0 0
0 1 1
1 0 1
1 1 0
PROGRAMMABLE
LOGIC
What is a Programmable Logic Module?
• Two aspects
– Universal / general logic structure
– Technology for programming / configuring
Universal Logic Module (ULM)
• For a given n, a circuit that can implement
any logic function of up to n variables
a0
a1
f ai = 1, if mi is
a minterm of f
ap-1 = 0, if mi is not
p = 2n n a minterm of
x0 x1 . . . xn-1
Example
multiplexer inputs are wired to
constant 1’s and 0’s
x0 a0
0 1 0
a1
1
00 0 1 a2
1
a3
01 1 0 0
x2 x1 a4 f
0
11 1 1 a5
0
a6
10 0 0 1
a7
1
3
x0 x1 x2
A simplification
x0
0 1
00 0 1 00
01 1 0 01
x2 x1 x2 x1
11 1 1 11
10 0 0 10
A simplification
x0
0 1
00 0 1 00 x0
01 1 0 01
x2 x1 x2 x1
11 1 1 11
10 0 0 10
A simplification
x0
0 1
00 0 1 00 x0
01 1 0 01 x0
x2 x1 x2 x1
11 1 1 11
10 0 0 10
A simplification
x0
0 1
00 0 1 00 x0
01 1 0 01 x0
x2 x1 x2 x1
11 1 1 11 1
10 0 0 10
A simplification
x0
0 1
00 0 1 00 x0
01 1 0 01 x0
x2 x1 x2 x1
11 1 1 11 1
10 0 0 10 0
A simplification
a0
x0
00 x0 a1
x0
01 x0 f
x2 x1 a2
11 1 0
10 0 a3
1
2
x2 x1
• A 2n:1 multiplexer plus an inverter can implement
any logic function of up to n+1 variables
Another way
x0 x0
0 1 0 1
00 0 1
01 1 0
x2 x1
11 1 1
10 0 0
Another way
x0 x0
0 1 0 1
00 0 1 x1
01 1 0
x2 x1
11 1 1
10 0 0
Another way
x0 x0
0 1 0 1
00 0 1 x1 x1+ x2
01 1 0
x2 x1
11 1 1
10 0 0
Another way
a0
x1
x0 a1 f
0 1 x1+ x2
x1 x1+ x2 x0
0
a0
1
a1
Memory with a2
1
fixed contents a3
0
or a4 f
Read Only Memory 0
a5
(ROM) 0
a6
1 a7
1 3
x2 x1 x0 address
Memory locations with multiple bits
Truth table
x2 x1 x0 f3 f2 f1 f0 4 a0
0 1 0 1
0 0 0 0 1 0 1 4 a1
1 1 0 1
4 a2
0 0 1 1 1 0 1 1 0 1 0
4 a3
0 1 0 1 0 1 0 0 0 0 1 4
4 a4 f
0 1 1 0 0 0 1 0 1 1 0
4 a5
1 0 0 0 1 1 0 0 1 0 1
4 a6
1 0 1 0 1 0 1 1 1 1 1 4 a
7
1 1 0 1 1 1 1 1 0 1 0 3
1 1 1 1 0 1 0 Look-up table x2 x1 x0
Scalability of mux / LUT approach
Having 2n min-terms / memory locations is
wasteful
n = 2 3 4 5 6 7 8 9
2n = 4 8 16 32 64 128 256 512
Solution : Have ‘product terms’, not min-terms
Question : Which product terms? How to keep
it universal?
Programmable Logic Array (PLA)
a b c d x y z
Programmable Logic Array (PLA)
a b c d x y z
Programmable Logic Array (PLA)
x = a’b’ + bc’d
y = a’c + b’d’
AND-plane z = a + bc’d OR-plane
a’b’
bc’d
a’c
a
b’d’
a b c d x’ y’ z’
Programmable Logic Array (PLA)
x = a’b’ + bc’d
y = a’c + b’d’
AND-plane z = a + bc’d OR-plane
a’b’
bc’d
a’c
a
b’d’
a b c d x’ y’ z’
Pull-up networks not shown
THANKS