Professional Documents
Culture Documents
Width W
Drain
Gate Length
L
SiO2 (insulator)
Gate
Source
Drain
Source
nMOS transistor
n channel n
Gate
p-type (doped)
substrate
Conductor
(poly)
Drain
Source
pMOS transistor
N-switch
a
s
S = 0
s
N
S = 1
b
b
0
0
1
1(degraded)
Good 0, Poor 1
2
1
a
S = 1
s
s
S = 0
b
1
0
0(degraded)
Good 1,Poor 0
b
CMOS switch
(Transmission
gate)
a
1
P
s
s
s
b
a
C
b
a
b
s
S = 0
S = 1
s
Good 0
Good 1
3
Signal Strength
Strength of signal
How close it approximates ideal voltage source
2
Pass Transistors
Transistors can be used as switches
5
Transmission Gates
Pass transistors produce degraded outputs
Transmission gates pass both 0 and 1 well
6
3
Complementary CMOS
Complementary CMOS logic gates
nMOS pull-down network
pMOS pull-up network
a.k.a. static CMOS
Pull-up OFF
Pull-up ON
Pull-down ON
X (not allowed)
7
nMOS: 1 = ON
pMOS: 0 = ON
Series: both must be ON
Parallel: either can be ON
8
4
Conduction Complement
Complementary CMOS gates always produce 0
or 1
Ex: NAND gate
Series nMOS: Y=0 when both inputs are 1
Thus Y=1 when either input is 0
Requires parallel pMOS
Inverter
Pull-up
path
Input
a
Output
a
Pull-down
path
Gnd
VDD
Pull-up
tree
b
2-input NAND
a
z
a
b
Pull-down
tree
Gnd
Pull-down
truth table
a b z
0 0 Z
0 1 Z
1 0 Z
1 1 0
Pull-up
truth table
a b z
0 0 1
0 1 1
1 0 1
1 1 Z
NAND
truth table
a b z
0 0 1
0 1 1
1 0 1
1 1 0
10
5
2-input NOR
a
Pull-up
tree
b
z
a
b
Pull-down
truth table
a b z
0 0 Z
0 1 0
1 0 0
1 1 0
Pull-up
truth table
a b z
0 0 1
0 1 Z
1 0 Z
1 1 Z
NOR
truth table
a b z
Gnd
0 0 1
There is always (for all input combinations) a path 0 1 0
from either 1 or 0 to the output
1 0 0
No direct path from 1 to 0 (low power dissipation)
1 1 0
Pull-down
tree
11
a
c
b
d
a
z
b
c
d
Gnd
12
6
Compound Gates-2
VDD
How to implement
F = ab + bc + ca?
a
b
c
b
F = ab + bc + ca
VDD
a
c
F
a
c
a
b
b
c
F
Gnd
Gnd
13
Compound Gates
Compound gates can do any inverting function
Ex:
14
7
Example: O3AI
15
CMOS Multiplexers
Transmission gate
implementation ( 4 transistors)
Assume s is available
s
a
s
F = as + bs
s
b
s
Complex gate implementation based on F = as + bs requires 10 transistors
16
8
Pull-up
network
d
e
F
F
f
g
h
a
d
f
b
e
g
c
h
Gnd
17
a
b
c
d
e
F
F
c
b
a
f
g
h
e
d
f
g
h
Gnd
Generally, complex CMOS gates can be derived directly from maxterms of the
function (as in a Karnaugh map)
18
9
01
11
10
00
1
1
1
1
01
1
0
0
0
11
0
0
0
0
b
10
1
1
1
1
a d
ab
Pull-up
network
F
c
F = ab + bd + bc
= b(a+d+c)
F = b + acd (how many transistors?)
19
Graph Models
How to generate pull-up circuit from the pull-down circuit?
Draw pull-down graph for pull-down circuit
Every vertex is a source-drain connection
Every edge is an nMOS transistor
20
10
Graph Models
I3
I1
b
Pull-up
circuit
VDD
Pull-down
circuit
a
d
a
b
d
c
I2
c
Gnd
a
VDD
I3
d
I1
I2
b
c
Gnd
Pull-down
Pull-up
21
Tristates
Tristate buffer produces Z when not enabled
EN
22
11
Nonrestoring Tristate
Transmission gate acts as tristate buffer
Only two transistors
But nonrestoring
Noise on A is passed on to Y
23
Tristate Inverter
Tristate inverter produces restored output
Violates conduction complement rule
Because we want a Z output
24
12
Multiplexers
2:1 multiplexer chooses between two inputs
S
D1
D0
25
26
13
27
Inverting Mux
Inverting multiplexer
Use compound AOI22
Or pair of tristate inverters
Essentially the same thing
28
14
a
8-transistor implementation
F=a
b
b
TG2
a
0 0
0 1
1 0
1 1
TG1
TG2
F
4:1 Multiplexer
4:1 mux chooses one of 4 inputs using two selects
Two levels of 2:1 muxes
Or four tristates
30
15
D Latch
When CLK = 1, latch is transparent
D flows through to Q like a buffer
31
C
Q
C
Positive level-sensitive
D-latch
Recirculating latch
Clock
Q
32
16
D Latch Design
Multiplexer chooses D or old Q
33
Clock = 1
D
Q
Q
Q
Q changes
faster than Q
Q
34
17
D Latch Operation
35
D Flip-flop
When CLK rises, D is copied to Q
At all other times, Q holds its value
a.k.a. positive edge-triggered flip-flop, masterslave flip-flop
36
18
D Flip-flop Design
Built from master and slave D latches
37
Flip-Flop Design
Master
D
C
Slave
Q M
C
C
C
Clock
Q M
D
Q M
Clock = 1
Q
Q
Q
38
19
D Flip-flop Operation
39
Race Condition
Back-to-back flops can malfunction from clock
skew
Second flip-flop fires late
Sees first flip-flop change and captures its result
Called hold-time failure or race condition
40
20
Nonoverlapping Clocks
Nonoverlapping clocks can prevent races
As long as nonoverlap exceeds clock skew
41
Behavioral
Algorithms
Boolean equations
Differential equations
Processor
Gates
Transistors
Polygons
Cells
Chip
Physical (geometric)
21
Timing information:
module carry (co, a, b, ci);
output co;
input a, b, ci;
Wire #10 co = (a & b) | (a & ci) | (b & ci);
end module
Technology-independent
3-bit
internal
signal
22