Outline
Inputs
Dens e array of
AN D gates
Produc t
terms
Dens e 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
Produc t 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:
1 = term connected to output
Reuse
0 = no connection to output
of
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
F5 = A xor B xor C
ABC
ABC
F6 = A xnor B xnor C
ABC
ABC
ABC
ABC
ABC
F1
F2
F3
F4 F5
F6
10
B
0
0
0
0
1
1
1
1
0
0
0
0
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
11
CD
Minimized Functions:
00
01
11
10
00
01
11
10
CD
D
C
W=A+BD+BC
X = B C'
Y=B+C
Z = A'B'C'D + B C D + A D' + B' C D'
D
C
10
K-map for Y
K-map for Z
11
Programmed PAL
0
0
0
0
0
ABCD
ECE C03
4 product terms per each
ORLecture
gate4
12
Non-Gate Logic
So far we have seen:
AND-OR-Invert
PAL/PLA
13
Channel
Region
Oxide
Source
Drain
Silicon Bulk
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
ECE C03 Lecture 4
14
Gate
Source
Drain
Logic 1 on gate,
Source and Drain connected
nMOS Transistor
Gate
Source
Logic 0 on gate,
Source and Drain connected
Drain
pMOS Transistor
15
+5V
+5V
AB
A+B
Inverter
NAND Gate
NOR Gate
16
"1"
+5V
"0"
"0"
Input is 1
Pull-up does not conduct
Pull-down conducts
Output connected to GND
ECE C03 Lecture 4
"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
ECE C03 Lecture 4
"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
"0"
+5V
"1"
A = 0, B = 0
Pull-up network conducts
Pull-down network broken
Output node at VDD
"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
ECE C03 Lecture 4
In
Out
Control
Transmission or
"Butterfly" Gate
20
Selection/Demultiplexing
Selector:
Choose I0 if S = 0
Choose I1 if S = 1
S
I
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
I0
Use
of
Multiplexers/Selectors
2:1
I1
mux
Z = A' I 0 + A I 1
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
Transmission Gate
Implementation of
4:1 Mux
Gate Level
Implementation
of 4:1 Mux
twenty transistors
27
0 4:1
1 mux
2
3S S
I4
I5
I6
I7
0 4:1
1 mux
2
3S S
8:1
mux
0 2:1
mux
1 S
I1
1 S
I2
I3
1 S
0
1
C
I4
I5
1 S
C
I6
I7
1 S
2
3 S0
S1
28
C
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"
ECE C03 Lecture 4
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 package efficient
May be gate inefficient
ECE C03 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
2:4 Decoder:
O0 = G S0 S1
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
ECE C03 Lecture 4
O7 = 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
"0"
Select
33
Select
Output
"0"
"0"
S0 = 0, S1 = 0
Output
"0"
"0"
Output
"0"
"0"
Output
"0"
"0"
34
Enb
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
ABCD
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
n
2 -1
Dec
n-1
Address
Bit Lines
C03 Lecture 4
Internal ECE
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
ECE C03 Lecture 4
38
ROMs vs PLAs
Memory array
Decoder
2n word
lines
n address
lines
2n words by
m bits
m output
lines
39
Summary
40