### Introduction to CMOS VLSI Design Lecture 1: Circuits & Layout

```VLSI Design
Circuits & Layout
Outline
 CMOS Gate Design
 Pass Transistors
 CMOS Latches & Flip-Flops
 Standard Cell Layouts
 Stick Diagrams
CMOS Gate Design
 A 4-input CMOS NOR gate
A
B
C
D
Y
Complementary CMOS
 Complementary CMOS logic gates
 nMOS pull-down network
 pMOS pull-up network
 a.k.a. static CMOS
inputs
pM O S
pull- up
netw or k
output
nM O S
pull- dow n
netw or k
Pull-up OFF
Pull-up ON
Pull-down OFF
Z (float)
1
Pull-down ON
0
X (crowbar)
Series and Parallel
a
a
0
g1
g2
(a)
 pMOS: 0 = ON
 Series: both must be ON
 Parallel: either can be ON
g2
b
OF F
OF F
OF F
ON
a
a
a
a
0
1
0
1
a
(d)
b
b
b
b
ON
OF F
OF F
OF F
a
a
a
a
0
( c)
b
1
b
1
b
g2
0
b
1
a
g1
1
1
0
(b)
g2
1
0
b
g1
a
b
a
g1
a
0
0
b
 nMOS: 1 = ON
a
0
0
1
1
0
1
1
b
b
b
b
OF F
ON
ON
ON
a
a
a
a
0
0
0
1
1
0
1
1
b
b
b
b
ON
ON
ON
OF F
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
Y
A
B
 Rule of Conduction Complements


Pull-up network is complement of pull-down
Parallel -> series, series -> parallel
Compound Gates
 Compound gates can do any inverting function
 Ex: AND-AND-OR-INV
Y  ( A  B )  (C  D )
(AOI22)
A
C
A
C
B
D
B
D
( a)
A
( b)
B C
( c)
D
A
B
( d)
C
D
A
B
A
C
B
D
A
B
C
D
Y
( e)
C
D
( f)
Y
Example: O3AI

Y  (A  B  C) D
Example: O3AI

Y  (A  B  C) D
A
B
C
D
Y
D
A
B
C
Pass Transistors
 Transistors can be used as switches
g
s
d
g
s
d
Pass Transistors
 Transistors can be used as switches
g =0
g
s
s
Input
d
d
0
g =1
s
d
s
s
Output
strong 0
g =1
g =0
g
g =1
1
Input
d
g =0
0
Output
d
g =1
s
g =0
d
strong 1
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

 pMOS pass strong 1

 Thus NMOS are best for pull-down network
 Thus PMOS are best for pull-up network
Transmission Gates
 Pass transistors produce degraded outputs
 Transmission gates pass both 0 and 1 well
Transmission Gates
 Pass transistors produce degraded outputs
 Transmission gates pass both 0 and 1 well
Input
g = 0, gb = 1
g
a
a
b
a
b
gb
b
a
g
b
gb
g = 1, gb = 0
strong 1
1
b
g
g
a
g = 1, gb = 0
0
strong 0
g = 1, gb = 0
gb
Output
a
b
gb
Tristates
 Tristate buffer produces Z when not enabled
EN
EN
A
Y
0
0
Z
0
1
Z
1
0
0
1
1
1
Y
A
EN
Y
A
EN
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)
EN
A
Y
EN
Tristate Inverter
 Tristate inverter produces restored output
 Note however that the Tristate buffer

ignores the conduction complement rule because we want a
Z output
A
EN
Y
EN
Tristate Inverter
 Tristate inverter produces restored output
 Note however that the Tristate buffer

ignores the conduction complement rule because we want a
Z output
A
A
A
EN
Y
Y
Y
EN = 0
Y = 'Z '
EN = 1
Y =A
EN
Multiplexers
 2:1 multiplexer chooses between two inputs
S
D1
D0
0
X
0
0
X
1
1
0
X
1
1
X
S
Y
D0
0
Y
D1
1
Multiplexers
 2:1 multiplexer chooses between two inputs
S
D1
D0
Y
0
X
0
0
0
X
1
1
1
0
X
0
1
1
X
1
S
D0
0
Y
D1
1
Gate-Level Mux Design

D

S
D
(
t
o
o
m
a
n
y
t
r
a
n
s
i
s
t
o
r
s
)
1
0
 YS
 How many transistors are needed?
Gate-Level Mux Design

D

S
D
(
t
o
o
m
a
n
y
t
r
a
n
s
i
s
t
o
r
s
)
1
0
 YS
 How many transistors are needed? 20
D1
S
D0
Y
D1
S
D0
4
2
4
2
4
2
2
Y
Transmission Gate Mux
 Nonrestoring mux uses two transmission
gates
Transmission Gate Mux
 Nonrestoring mux uses two transmission
gates

Only 4 transistors
S
D0
S
Y
D1
S
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
S
S
Y
S
S
S
Y
S
D0
0
Y
S
D1
1
4:1 Multiplexer
 4:1 mux chooses one of 4 inputs using two
selects
4:1 Multiplexer
 4:1 mux chooses one of 4 inputs using two
selects


Two levels of 2:1 muxes
Or four tristates
S1S0 S1S0 S1S0 S1S0
D0
S0
D0
0
D1
1
S1
D1
0
Y
Y
D2
0
D3
1
1
D2
D3
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
D
Latch
C LK
C LK
D
Q
Q
D Latch Design
 Multiplexer chooses D or old Q
C LK
D
1
C LK
Q
Q
Q
D
Q
0
C LK
Old Q
C LK
C LK
D Latch Operation
Q
D
C LK = 1
C LK
D
Q
Q
Q
D
C LK = 0
Q
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
C LK
C LK
D
F lop
D
Q
Q
D Flip-flop Design
 Built from master and slave D latches
C LK
C LK
C LK
QM
Q
D
C LK
QM
Latch
Latch
D
C LK
C LK
C LK
C LK
Q
C LK
A “negative level-sensitive” latch
C LK
A “positive level-sensitive” latch
D Flip-flop Operation
Inverted version of D
D
QM
Q
C LK = 0
Holds the last value of NOT(D)
D
QM
Q
Q -> NOT(NOT(QM))
C LK = 1
C LK
D
Q
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
Nonoverlapping Clocks
 Nonoverlapping clocks can prevent races

As long as nonoverlap exceeds clock skew
 Good for safe design

Industry manages skew more carefully instead
2
1
QM
Q
D
2
2
2
1
2
1
1
1
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
Example: Inverter
Layout using Electric
Inverter, contd..
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 
NAND3 (using Electric), contd.
Stick Diagrams
 Stick diagrams help plan layout quickly


Need not be to scale
Draw with color pencils or dry-erase markers
Stick Diagrams
 Stick diagrams help plan layout quickly


Need not be to scale
Draw with color pencils or dry-erase markers
VDD
Vin
Vout
GND
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
Well spacing
 Wells must surround transistors by 6 


Implies 12  between opposite transistor flavors
Leaves room for one wire track
Area Estimation
 Estimate area by counting wiring tracks

Multiply by 8 to express in 
Example: O3AI
 Sketch a stick diagram for O3AI and estimate area

Y  (A  B  C) D
Example: O3AI
 Sketch a stick diagram for O3AI and estimate area

Y  (A  B  C) D
Example: O3AI
 Sketch a stick diagram for O3AI and estimate area

Y  (A  B  C) D
```