Introduction To Cmos Vlsi Design: Circuits & Layout
Introduction To Cmos Vlsi Design: Circuits & Layout
Introduction To Cmos Vlsi Design: Circuits & Layout
CMOS VLSI
Design
Outline
A
B
C
D
Y
Complementary CMOS
Complementary CMOS logic gates
nMOS pull-down network
pMOS pull-up network
inputs
a.k.a. static CMOS
Pull-up OFF
Pull-up ON
Pull-down ON
X (crowbar)
pMOS
pull-up
network
output
nMOS
pull-down
network
nMOS: 1 = ON
pMOS: 0 = ON
Series: both must be ON
Parallel: either can be ON
a
0
g1
g2
(a)
(b)
a
g1
g2
(c)
a
g1
g2
b
1
b
OFF
OFF
OFF
ON
ON
OFF
OFF
OFF
0
b
g2
a
g1
0
b
(d)
OFF
ON
ON
ON
ON
ON
ON
OFF
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
Y
Requires parallel pMOS
A
Compound Gates
Compound gates can do any inverting function
Ex: Y = (A.B + C.D)
A
(a)
(b)
B C
(c)
(d)
A
B
C
D
(f)
(e)
Example: O3AI
Y = ((A+B+C).D)
Example: O3AI
Y = ((A+B+C).D)
A
B
C
D
Y
D
Circuits andSlide
Layout
10
Signal Strength
Strength of signal
How close it approximates ideal voltage source
VDD and GND rails are strongest 1 and 0
nMOS pass strong 0
But degraded or weak 1
pMOS pass strong 1
But degraded or weak 0
Thus nMOS are best for pull-down network
Circuits andSlide
Layout
11
Pass Transistors
Transistors can be used as switches
g
s
g
s
Circuits andSlide
Layout
12
Pass Transistors
Transistors can be used as switches
g=0
g
s
d
g=1
d
g=0
g
s
Input g = 1 Output
0
strong 0
Input
d
g=1
s
g=1
g=0
g=0
degraded 1
Output
degraded 0
strong 1
Circuits andSlide
Layout
13
Transmission Gates
Pass transistors produce degraded outputs
Transmission gates pass both 0 and 1 well
Circuits andSlide
Layout
14
Transmission Gates
Pass transistors produce degraded outputs
Transmission gates pass both 0 and 1 well
Input
g
a
b
gb
b
gb
g = 0, gb = 1
a
b
g = 1, gb = 0
0
strong 0
g = 1, gb = 0
a
b
g = 1, gb = 0
strong 1
1
g
a
g
b
gb
Output
b
gb
Circuits andSlide
Layout
15
Tristates
Tristate buffer produces Z when not enabled
EN
EN
A
EN
A
EN
Circuits andSlide
Layout
16
Tristates
Tristate buffer produces Z when not enabled
EN
EN
Y
A
EN
A
EN
Circuits andSlide
Layout
17
Nonrestoring Tristate
Transmission gate acts as tristate buffer
Only two transistors
But nonrestoring
Noise on A is passed on to Y
EN
A
Y
EN
CMOS VLSI Design
Circuits andSlide
Layout
18
Tristate Inverter
Tristate inverter produces restored output
Violates conduction complement rule
Because we want a Z output
A
EN
EN
Circuits andSlide
Layout
19
Tristate Inverter
Tristate inverter produces restored output
Violates conduction complement rule
Because we want a Z output
A
A
EN
EN = 0
Y = 'Z'
EN = 1
Y=A
EN
Circuits andSlide
Layout
20
Multiplexers
2:1 multiplexer chooses between two inputs
D1
D0
D0
D1
Circuits andSlide
Layout
21
Multiplexers
2:1 multiplexer chooses between two inputs
D1
D0
S
D0
D1
Circuits andSlide
Layout
22
Circuits andSlide
Layout
23
D1
S
D0
D1
S
D0
2
4
Circuits andSlide
Layout
24
Circuits andSlide
Layout
25
S
D0
Y
S
D1
S
Circuits andSlide
Layout
26
Inverting Mux
Inverting multiplexer
Use compound AOI22
Or pair of tristate inverters
Essentially the same thing
Noninverting multiplexer adds an inverter
D0
S
S
D1
D0
D1
Y
S
S
Y
D0
D1
Circuits andSlide
Layout
27
4:1 Multiplexer
4:1 mux chooses one of 4 inputs using two selects
Circuits andSlide
Layout
28
4:1 Multiplexer
4:1 mux chooses one of 4 inputs using two selects
Two levels of 2:1 muxes
S1S0 S1S0 S1S0 S1S0
Or four tristates
D0
S0
D0
D1
D2
D3
S1
D1
0
1
Y
D2
D3
Circuits andSlide
Layout
29
D Latch
When CLK = 1, latch is transparent
D flows through to Q like a buffer
When CLK = 0, the latch is opaque
Q holds its old value independent of D
a.k.a. transparent latch or level-sensitive latch
Latch
CLK
CLK
D
Q
Q
Circuits andSlide
Layout
30
D Latch Design
Multiplexer chooses D or old Q
CLK
D
1
0
CLK
Q
Q
Q
CLK
CLK
CLK
Circuits andSlide
Layout
31
D Latch Operation
Q
D
CLK = 1
Q
D
CLK = 0
CLK
D
Q
CMOS VLSI Design
Circuits andSlide
Layout
32
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, master-slave
flip-flop
CLK
CLK
D
Flop
Q
Q
Circuits andSlide
Layout
33
D Flip-flop Design
Built from master and slave D latches
CLK
CLK
CLK
CLK
QM
Latch
Latch
CLK
D
QM
D
CLK
Q
CLK
CLK
Q
CLK
CLK
Circuits andSlide
Layout
34
D Flip-flop Operation
D
QM
CLK = 0
QM
CLK = 1
CLK
D
Q
Circuits andSlide
Layout
35
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
CLK1
CLK2
Q1
Flop
Flop
CLK1
CLK2
Q2
Q1
Q2
Circuits andSlide
Layout
36
Nonoverlapping Clocks
Nonoverlapping clocks can prevent races
As long as nonoverlap exceeds clock skew
We will use them in this class for safe design
Industry manages skew more carefully instead
2
1
QM
D
2
Q
1
1
2
Circuits andSlide
Layout
37
Gate Layout
Layout can be very time consuming
Design gates to fit together nicely
Build a library of standard cells
Standard cell design methodology
VDD and GND should abut (standard height)
Adjacent gates should satisfy design rules
nMOS at bottom and pMOS at top
All gates include well and substrate contacts
Circuits andSlide
Layout
38
Example: Inverter
Circuits andSlide
Layout
39
Example: NAND3
Circuits andSlide
Layout
40
Stick Diagrams
Stick diagrams help plan layout quickly
Need not be to scale
Draw with color pencils or dry-erase markers
Circuits andSlide
Layout
41
Wiring Tracks
A wiring track is the space required for a wire
4 width, 4 spacing from neighbor = 8 pitch
Transistors also consume one wiring track
Circuits andSlide
Layout
42
Well spacing
Wells must surround transistors by 6
Implies 12 between opposite transistor flavors
Leaves room for one wire track
Circuits andSlide
Layout
43
Area Estimation
Estimate area by counting wiring tracks
Multiply by 8 to express in
Circuits andSlide
Layout
44
Example: O3AI
Sketch a stick diagram for O3AI and estimate area
Y = ((A+B+C).D)
Circuits andSlide
Layout
45
Example: O3AI
Sketch a stick diagram for O3AI and estimate area
Y = ((A+B+C).D)
Circuits andSlide
Layout
46
Example: O3AI
Sketch a stick diagram for O3AI and estimate area
Y = ((A+B+C).D)
Circuits andSlide
Layout
47