Beruflich Dokumente
Kultur Dokumente
Outline
Inputs
Dense array of
AND gates
Product
terms
Dense array of
OR gates
Outputs
F0 = A + B' C'
F1 = A C' + A B
F2 = B' C' + A B
F3 = B' C + A
Personality Matrix
Product Inputs
Outputs
term
A B C F0 F1 F2 F3
0 1 1 0
AB
1 1 BC
- 0 1 0 0 0 1
AC
1 - 0 0 1 0 0
BC
- 0 0 1 0 1 0
1 0 0 1
A
1 - -
Input Side:
1 = asserted in term
0 = negated in term
- = does not participate
Output Side:
Reuse
1 = term connected to output
of
0 = no connection to output
terms
Alternative Representations
Short-hand notation
so we don't have to
draw all the wires!
Design Example
Multiple functions of A, B, C
ABC
A
F1 = A B C
F2 = A + B + C
C
A
F3 = A B C
F4 = A + B + C
C
ABC
F5 = A xor B xor C
ABC
F6 = A xnor B xnor C
ABC
ABC
ABC
ABC
ABC
F1
F2
F3
F4 F5
F6
10
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
W
0
0
0
0
0
1
1
1
1
1
X
X
X
X
X
X
X
0
0
0
0
1
1
0
0
0
0
X
X
X
X
X
X
Y
0
0
1
1
1
1
1
1
0
0
X
X
X
X
X
X
Z
0
1
1
0
0
0
0
1
1
0
X
X
X
X
X
X
AB
00
01
11
10
00
01
11
10
CD
AB
00
01
11
10
00
01
11
10
CD
D
C
K-map for W
K-map for X
AB
AB
00
01
11
10
00
01
CD
Minimized Functions:
00
01
11
10
00
01
CD
D
11
W = A+ B D + B C
X = B C'
Y=B+C
Z = A'B'C'D + B C D + A D' + B' C D'
D
11
10
C
10
K-map for Y
K-map for Z
11
Programmed PAL
0
0
0
0
0
AB C D
ECE
Lecture
4 product terms per
eachC03
OR gate
12
Non-Gate Logic
So far we have seen:
AND-OR-Invert
PAL/PLA
13
Gate
Oxide
Source
Silicon Bulk
Drain
n-type Si
p-type Si
"n-Channel MOS"
Metal Gate, Oxide, Silicon Sandwich
Diffusion regions: negatively charged ions driven into Si surface
Si Bulk: positively charged ions
By "pulling" electrons to the surface, a conducting channel is
formed
14
Gate
Source
Drain
Logic 1 on gate,
Source and Drain connected
nMOS Transistor
Gate
Source
Drain
Logic 0 on gate,
Source and Drain connected
pMOS Transistor
15
A
+5V
A
+5V
AB
A+ B
Inverter
NAND Gate
NOR Gate
16
"1"
+5V
"0"
Input is 1
Pull-up does not conduct
Pull-down conducts
Output connected to GND
"0"
"1"
Input is 0
Pull-up conducts
Pull-down does not conduct
Output connected to VDD
17
"0"
"1"
+5V
"1"
+5V
"0"
A = 1, B = 1
Pull-up network does not conduct
Pull-down network conducts
Output node connected to GND
"1"
A = 0, B = 1
Pull-up network has path to VDD
Pull-down network path broken
Output node connected to VDD
18
"1"
"0"
+5V
"1"
A = 0, B = 0
Pull-up network conducts
Pull-down network broken
Output node at VDD
"0"
"0"
A = 1, B = 0
Pull-up network broken
Pull-down network conducts
Output node at GND
19
Control
In
Out
Control
Switches
In
Control
Out
Control
Transistors
In
Out
Control
Transmission or
"Butterfly" Gate
20
Selection/Demultiplexing
Selector:
Choose I0 if S = 0
Choose I1 if S = 1
0
S
1
S
Demultiplexer:
I to Z0 if S = 0
I to Z1 if S = 1
Z0
I
S
Z1
S
21
Demultiplexers
Multiplexers
Demultiplexers
Multiplexers
Z1
S
"0"
S
23
Use of Multiplexers/Selectors
Multi-point connections
A0
Sa
A1
B0
B1
MUX
MUX
Sum
Ss
DEMUX
S0
S1
24
A
0
1
Functional form
Logical form
Z
I0
I1
I1
0
0
0
0
1
1
1
1
I0
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
Z
0
0
1
0
0
1
1
1
Use
of
Multiplexers/Selectors
2:1
I0
Z = A' I 0 + A I 1
mux
I1
A
I0
I1
I2
I3
4:1
mux
A
I0
I1
I2
I3
8:1
mux
I4
I5
I6
I7
26
Alternative Implementation
A
I0
I1
I2
I3
Gate
GateLevel
Level
Implementation
Implementation
of
of4:1
4:1Mux
Mux
Transmission
TransmissionGate
Gate
Implementation
Implementationof
of
4:1
Mux
4:1 Mux
twenty transistors
27
0 4:1
1 mux
2
3S S
I4
I5
I6
I7
0 4:1
1 mux
2
3 S1 S0
8:1
mux
0 2:1
mux
1 S
I1
1 S
C
I2
I3
1 S
0
1
C
I4
I5
1 S
C
I6
I7
1 S
2
3 S0
S1
28
Multiplexers/Selectors as General
Purpose Blocks
n-1
0
1
2
3
4
5
6
7
8:1
MUX
S2 S1 S0
A
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
1
0
1
0
0
0
1
1
C
C
0
C
C
0
1
0
1
2
3
4:1
MUX
S1
A
S0
B
"Lookup Table"
29
Generalization of Multiplexer/Selector
Logic F
I I I
1
n-1 Mux
control variables
single Mux
data variable
0
1
0
0
0
1
1
0
1
1
Four possible
configurations
of the truth table rows
In
In
Can be expressed as
a function of In, 0, 1
Example:
G(A,B,C,D) can be implemented by an 8:1 MUX:
K-map
Choose A,B,C
as control variables
Multiplexer
Implementation
TTL
TTLpackage
packageefficient
efficient
May
be
gate
inefficient
May C03
be gate
inefficient
ECE
Lecture
4
1
D
0
1
D
D
D
D
0
1
2
3
4
5
6
7
8:1
mux
S2
A
S1
B
S0
C
30
Decoders/Demultiplexers
Decoder: single data input, n control inputs, 2
outputs
3:8 Decoder:
O0 = G S0 S1 S2
O1 = G S0 S1 S2
O2 = G S0 S1 S2
O1 = G S0 S1
O3 = G S0 S1 S2
O2 = G S0 S1
O4 = G S0 S1 S2
O3 = G S0 S1
O5 = G S0 S1 S2
O6 = G S0 S1 S2
31
Alternative Implementations
G
Output0
Select
/G
Select
Output0
Output1
Output1
/G
Select0
Output0
Output0
Output1
Output1
Output2
Output2
Output3
Output3
Select0
Select1
Select1
32
Select
G
Output
Select
Select
Output
0
Select
Select
"0"
Select
Output
1
Select
Select
Output
Select
Select
"0"
Select
33
Select
Output
"0"
"0"
S0 = 0, S1 = 0
Output
"0"
"0"
Output
"0"
"0"
Output
"0"
"0"
34
3:8
dec
S2
A
S1
B
S0
0
1
2
3
4
5
6
7
ABC
ABC
ABC
ABC
ABC
ABC
ABC
ABC
Example Function:
F1 = A' B C' D + A' B' C D + A B C D
F2 = A B C' D' + A B C
F3 = (A' + B' + C' + D')
35
Enb
4:16
dec
S3 S2 S1 S0
A
B C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A BCD
ABCD
ABCD
ABCD
ABCD
ABCD
ABCD
ABCD
ABCD
ABCD
ABCD
ABCD
ABCD
ABCD
ABCD
ABCD
F1
F2
F3
36
Read-Only Memories
ROM: Two dimensional array of 1's and 0's
Row is called a "word"; index is called an "address"
Width of row is called bit-width or wordsize
Address is input, selected word is output
+5V +5V +5V +5V
n
2 -1
Dec
n-1
Address
Bit Lines
ECE
C03 Lecture
Internal
Organization
37
Address
ROM
8 w ords by
4 bits
A B C
address
F0
F1
F2
outputs
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F0
0
1
0
0
1
1
0
0
F1
0
1
1
0
0
0
0
1
F2
1
1
0
0
1
0
0
0
F3
0
0
0
1
1
0
1
0
Word Contents
F3
38
ROMs vs PLAs
Memory array
Not
Notunlike
unlikeaaPLA
PLA
structure
with
structure withaa
fully
fullydecoded
decoded
AND
ANDarray!
array!
Decoder
2n word
lines
n address
lines
2n words by
m bits
m output
lines
39
Summary
40