1: circuits & layoutslide 1ee 447 vlsi design vlsi design circuits & layout
TRANSCRIPT
1: Circuits & Layout Slide 1EE 447 VLSI Design
VLSI Design
Circuits & Layout
1: Circuits & Layout Slide 2EE 447 VLSI Design
Outline
CMOS Gate Design Pass Transistors CMOS Latches & Flip-Flops Standard Cell Layouts Stick Diagrams
1: Circuits & Layout Slide 3EE 447 VLSI Design
CMOS Gate Design A 4-input CMOS NOR gate
A
B
C
DY
1: Circuits & Layout Slide 4EE 447 VLSI Design
Complementary CMOS Complementary CMOS logic gates
– nMOS pull-down network– pMOS pull-up network– a.k.a. static CMOS
pMOSpull-upnetwork
outputinputs
nMOSpull-downnetwork
X (crowbar)0Pull-down ON
1Z (float)Pull-down OFF
Pull-up ONPull-up OFF
1: Circuits & Layout Slide 5EE 447 VLSI Design
Series and Parallel nMOS: 1 = ON pMOS: 0 = ON Series: both must be ON Parallel: either can be ON
(a)
a
b
a
b
g1
g2
0
0
a
b
0
1
a
b
1
0
a
b
1
1
OFF OFF OFF ON
(b)
a
b
a
b
g1
g2
0
0
a
b
0
1
a
b
1
0
a
b
1
1
ON OFF OFF OFF
(c)
a
b
a
b
g1 g2 0 0
OFF ON ON ON
(d) ON ON ON OFF
a
b
0
a
b
1
a
b
11 0 1
a
b
0 0
a
b
0
a
b
1
a
b
11 0 1
a
b
g1 g2
1: Circuits & Layout Slide 6EE 447 VLSI Design
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
Rule of Conduction Complements– Pull-up network is complement of pull-down– Parallel -> series, series -> parallel
A
B
Y
1: Circuits & Layout Slide 7EE 447 VLSI Design
Compound Gates Compound gates can do any inverting function Ex: (AND-AND-OR-INVERT, AOI22)Y A B C D
A
B
C
D
A
B
C
D
A B C DA B
C D
B
D
YA
CA
C
A
B
C
D
B
D
Y
(a)
(c)
(e)
(b)
(d)
(f)
1: Circuits & Layout Slide 8EE 447 VLSI Design
Example: O3AI Y A B C D
1: Circuits & Layout Slide 9EE 447 VLSI Design
Example: O3AI Y A B C D
A B
Y
C
D
DC
B
A
1: Circuits & Layout Slide 10EE 447 VLSI Design
Pass Transistors Transistors can be used as switches
g
s d
g
s d
1: Circuits & Layout Slide 11EE 447 VLSI Design
Pass Transistors Transistors can be used as switches
g
s d
g = 0s d
g = 1s d
0 strong 0
Input Output
1 degraded 1
g
s d
g = 0
s d
g = 1
s d
0 degraded 0
Input Output
strong 1
g = 1
g = 1
g = 0
g = 0
1: Circuits & Layout Slide 12EE 447 VLSI Design
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 Thus PMOS are best for pull-up network
1: Circuits & Layout Slide 13EE 447 VLSI Design
Transmission Gates Pass transistors produce degraded outputs Transmission gates pass both 0 and 1 well
1: Circuits & Layout Slide 14EE 447 VLSI Design
Transmission Gates Pass transistors produce degraded outputs Transmission gates pass both 0 and 1 well
g = 0, gb = 1
a b
g = 1, gb = 0
a b
0 strong 0
Input Output
1 strong 1
g
gb
a b
a b
g
gb
a b
g
gb
a b
g
gb
g = 1, gb = 0
g = 1, gb = 0
1: Circuits & Layout Slide 15EE 447 VLSI Design
Tristates Tristate buffer produces Z when not enabled
111
001
Z10
Z00
YAEN
A Y
EN
A Y
EN
EN
1: Circuits & Layout Slide 16EE 447 VLSI Design
Nonrestoring Tristate Transmission gate acts as tristate buffer
– Only two transistors
– But nonrestoring
• Noise on A is passed on to Y (after several stages, the noise may degrade the signal beyond recognition)
A Y
EN
EN
1: Circuits & Layout Slide 17EE 447 VLSI Design
Tristate Inverter Tristate inverter produces restored output
– Violates conduction complement rule– Because we want a Z output
A
YEN
EN
1: Circuits & Layout Slide 18EE 447 VLSI Design
Tristate Inverter Tristate inverter produces restored output
– Violates conduction complement rule– Because we want a Z output
A
YEN
A
Y
EN = 0Y = 'Z'
Y
EN = 1Y = A
A
EN
1: Circuits & Layout Slide 19EE 447 VLSI Design
Multiplexers 2:1 multiplexer chooses between two inputs
X11
X01
1X0
0X0
YD0D1S
0
1
S
D0
D1Y
1: Circuits & Layout Slide 20EE 447 VLSI Design
Multiplexers 2:1 multiplexer chooses between two inputs
1X11
0X01
11X0
00X0
YD0D1S
0
1
S
D0
D1Y
1: Circuits & Layout Slide 21EE 447 VLSI Design
Gate-Level Mux Design How many transistors are needed?
1 0 (too many transistors)Y SD SD
1: Circuits & Layout Slide 22EE 447 VLSI Design
Gate-Level Mux Design How many transistors are needed? 20
1 0 (too many transistors)Y SD SD
44
D1
D0S Y
4
2
22 Y
2
D1
D0S
1: Circuits & Layout Slide 23EE 447 VLSI Design
Transmission Gate Mux Nonrestoring mux uses two transmission gates
1: Circuits & Layout Slide 24EE 447 VLSI Design
Transmission Gate Mux Nonrestoring mux uses two transmission gates
– Only 4 transistors
S
S
D0
D1
YS
1: Circuits & Layout Slide 25EE 447 VLSI Design
Inverting Mux Inverting multiplexer
– Use compound AOI22– Or pair of tristate inverters– Essentially the same thing
Noninverting multiplexer adds an inverter
S
D0 D1
Y
S
D0
D1Y
0
1S
Y
D0
D1
S
S
S
S
S
S
1: Circuits & Layout Slide 26EE 447 VLSI Design
4:1 Multiplexer 4:1 mux chooses one of 4 inputs using two selects
1: Circuits & Layout Slide 27EE 447 VLSI Design
4:1 Multiplexer 4:1 mux chooses one of 4 inputs using two selects
– Two levels of 2:1 muxes– Or four tristates
S0
D0
D1
0
1
0
1
0
1Y
S1
D2
D3
D0
D1
D2
D3
Y
S1S0 S1S0 S1S0 S1S0
1: Circuits & Layout Slide 28EE 447 VLSI Design
D Latch When CLK = 1, latch is transparent
– Q follows D (a buffer with a Delay) When CLK = 0, the latch is opaque
– Q holds its last value independent of D a.k.a. transparent latch or level-sensitive latch
CLK
D Q
Latc
h D
CLK
Q
1: Circuits & Layout Slide 29EE 447 VLSI Design
D Latch Design Multiplexer chooses D or old Q
1
0
D
CLK
QCLK
CLKCLK
CLK
DQ Q
Q
1: Circuits & Layout Slide 30EE 447 VLSI Design
D Latch Operation
CLK = 1
D Q
Q
CLK = 0
D Q
Q
D
CLK
Q
1: Circuits & Layout Slide 31EE 447 VLSI Design
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
Flo
p
CLK
D Q
D
CLK
Q
1: Circuits & Layout Slide 32EE 447 VLSI Design
D Flip-flop Design Built from master and slave D latches
QM
CLK
CLKCLK
CLK
Q
CLK
CLK
CLK
CLK
D
Latc
h
Latc
h
D QQM
CLK
CLK
A “negative level-sensitive” latch A “positive level-sensitive” latch
1: Circuits & Layout Slide 33EE 447 VLSI Design
D Flip-flop Operation
CLK = 1
D
CLK = 0
Q
D
QM
QMQ
D
CLK
Q
Inverted version of D
Inverts NOT(QM) and holds it.Hold the last value of NOT D
1: Circuits & Layout Slide 34EE 447 VLSI Design
Race Condition Back-to-back flops can malfunction from clock skew
– Second flip-flop fires Early– Sees first flip-flop change and captures its result– Called hold-time failure or race condition
CLK1
D Q1
Flo
p
Flo
p
CLK2
Q2
CLK1
CLK2
Q1
Q2
1: Circuits & Layout Slide 35EE 447 VLSI Design
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 1
11
1
2
22
2
2
1
QMQD
1: Circuits & Layout Slide 36EE 447 VLSI Design
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
1: Circuits & Layout Slide 37EE 447 VLSI Design
Example: Inverter
1: Circuits & Layout Slide 38EE 447 VLSI Design
Inverter, contd..
1: Circuits & Layout Slide 39EE 447 VLSI Design
Example: NAND3 Horizontal N-diffusion and p-diffusion strips Vertical polysilicon gates Metal1 VDD rail at top
Metal1 GND rail at bottom 32 by 40
1: Circuits & Layout Slide 40EE 447 VLSI Design
NAND3, contd.
1: Circuits & Layout Slide 41EE 447 VLSI Design
Stick Diagrams Stick diagrams help plan layout quickly
– Need not be to scale– Draw with color pencils or dry-erase markers
1: Circuits & Layout Slide 42EE 447 VLSI Design
Stick Diagrams Stick diagrams help plan layout quickly
– Need not be to scale– Draw with color pencils or dry-erase markers
VinVout
VDD
GND
1: Circuits & Layout Slide 43EE 447 VLSI Design
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
1: Circuits & Layout Slide 44EE 447 VLSI Design
Well spacing Wells must surround transistors by 6
– Implies 12 between opposite transistor flavors– Leaves room for one wire track
1: Circuits & Layout Slide 45EE 447 VLSI Design
Area Estimation Estimate area by counting wiring tracks
– Multiply by 8 to express in
1: Circuits & Layout Slide 46EE 447 VLSI Design
Example: O3AI Sketch a stick diagram for O3AI and estimate area
– Y A B C D
1: Circuits & Layout Slide 47EE 447 VLSI Design
Example: O3AI Sketch a stick diagram for O3AI and estimate area
– Y A B C D
1: Circuits & Layout Slide 48EE 447 VLSI Design
Example: O3AI Sketch a stick diagram for O3AI and estimate area
– Y A B C D