Beruflich Dokumente
Kultur Dokumente
CMOS LOGIC 2
Key concepts: The use of transistors as switches • The difference between a flip-flop and a
latch • Setup time and hold time • Pipelines and latency • The difference between datapath,
standard-cell, and gate-array logic cells • Strong and weak logic levels • Pushing bubbles •
Ratio of logic • Resistance per square of layers and their relative values in CMOS • Design
rules and λ
= = A F = A F
'0' off '0' on
GND or
VSS
(a) (b) (c)
1
2 SECTION 2 CMOS LOGIC ASICS... THE COURSE
1 0 0
off off off on on off on on p-channel
n-channel
CMOS logic • a two-input NAND gate • a two-input NOR gate • Good '1's • Good '0's
ASICs... THE COURSE 2.1 CMOS Transistors 3
drain
gate bulk
+ + + +
VGS L
VDS VGS source VDS
W
gate T ox
L L2
tf = ––– = –––––––
vx µnVDS
4 SECTION 2 CMOS LOGIC ASICS... THE COURSE
Q = C(VGC – Vtn) = C [ (VGS – Vtn) – 0.5 VDS ] = WLCox [ (VGS – Vtn) – 0.5 VDS ]
IDSn = Q/tf
'
= (W/L)µnCox[ (VGS – Vtn) – 0.5 VDS ]VDS = (W/L)k n [ (VGS – Vtn) – 0.5 VDS ]VDS
(a) (b)
IDS /mA 1
3 2
n-ch. W/L=60/6 VGS /V
3.0
IDS /mA n-ch.
2 n-ch. W/L=6/0.6
2.5 3 W/L=6/0.6
2.0 3
1
0 2
1.5 VDS /V
3 1
1.0
2
0 0.5, 0.0 1 0
VGS /V 1
0 1 2 3
0
VDS /V
(c)
IDS(sat) /mA 2
3
VDS =3.0 V
2 n-ch. W/L=6/0.6
MOS n-channel transistor characteristics IDS (sat) ∝ VGS –V tn
IDSp = –k'p(W/L)[ (VGS – Vtp) – 0.5 VDS ]VDS ; VDS > VGS – Vtp
IDSp(sat) = –βp/2 (VGS – Vtp)2 ; VDS < VGS – Vtp .
• Vtp is negative
• VDS and VGS are normally negative (and –3V<–2V)
6 SECTION 2 CMOS LOGIC ASICS... THE COURSE
SPICE parameters
.MODEL CMOSN NMOS LEVEL=3 PHI=0.7 TOX=10E-09 XJ=0.2U TPG=1 VTO=0.65
DELTA=0.7
+ LD=5E-08 KP=2E-04 UO=550 THETA=0.27 RSH=2 GAMMA=0.6 NSUB=1.4E+17
NFS=6E+11
+ VMAX=2E+05 ETA=3.7E-02 KAPPA=2.9E-02 CGDO=3.0E-10 CGSO=3.0E-10
CGBO=4.0E-10
+ CJ=5.6E-04 MJ=0.56 CJSW=5E-11 MJSW=0.52 PB=1
.MODEL CMOSP PMOS LEVEL=3 PHI=0.7 TOX=10E-09 XJ=0.2U TPG=-1 VTO=-
0.92 DELTA=0.29
+ LD=3.5E-08 KP=4.9E-05 UO=135 THETA=0.18 RSH=2 GAMMA=0.47
NSUB=8.5E+16 NFS=6.5E+11
+ VMAX=2.5E+05 ETA=2.45E-02 KAPPA=7.96 CGDO=2.4E-10 CGSO=2.4E-10
CGBO=3.8E-10
+ CJ=9.3E-04 MJ=0.47 CJSW=2.9E-10 MJSW=0.505 PB=1
ASICs... THE COURSE 2.1 CMOS Transistors 7
gate gate
'1' → '0' '0' → '1'–V tn '1'
strong '0' weak '1'
n-type –Q n-type n-type n-type +
'0' source drain source drain
p-type p-type VDD
no channel charge
(a) (b)
VGD =0 '0' VGS = –Vtp VGS <V tp '0' VGD < Vtp
gate gate
'1' → '0'– Vtp '0' → '1' '1'
weak '0' strong '1'
p-type p-type p-type +Q p-type +
'0' drain source drain source
n-type n-type VDD
+ +
VDD no channel charge VDD
(c) (d)
2 4
1hour 5
3
1 furnace spin
wafer resist
6 7 8 9 10 11 12
Key words: boule • wafer • boat • silicon dioxide • resist • mask • chemical etch • isotropic •
plasma etch • anisotropic • ion implantation • implant energy and dose • polysilicon • chemical
vapor deposition (CVD) • sputtering • photolithography • submicron and deep-submicron
process • n-well process • p-well process • twin-tub (or twin-well) • triple-well • substrate
contacts (well contacts or tub ties) • active (CAA) • gate oxide • field • field implant or chan-
nel-stop implant • field oxide (FOX) • bloat • dopant • self-aligned process • positive resist •
negative resist • drain engineering • LDD process • lightly doped drain • LDD diffusion or LDD
implant • stipple-pattern
ASICs... THE COURSE 2.2 The CMOS Process 9
Derivation
Mask/layer name from drawn Alternative names for mask/layer Mask label
layers
n-well =nwell bulk, substrate, tub, n-tub, moat CWN
p-well =pwell bulk, substrate, tub, p-tub, moat CWP
active =pdiff+ndiff thin oxide, thinox, island, gate oxide CAA
polysilicon =poly poly, gate CPG
n-diffusion
=grow(ndiff) ndiff, n-select, nplus, n+ CSN
implant
p-diffusion
=grow(pdiff) pdiff, p-select, pplus, p+ CSP
implant
contact cut, poly contact, diffusion con-
contact =contact CCP and CCA
tact
metal1 =m1 first-level metal CMF
metal2 =m2 second-level metal CMS
via2 =via2 metal2/metal3 via, m2/m3 via CVS
metal3 =m3 third-level metal CMT
glass =glass passivation, overglass, pad COG
10 SECTION 2 CMOS LOGIC ASICS... THE COURSE
Active mask
CAA (mask) = ndiff (drawn) ∨ pdiff (drawn)
Source and drain diffusion (on the silicon) in terms of drawn layers
n-diffusion (silicon) = (ndiff (drawn)) ∧ (¬poly (drawn)) and
p-diffusion (silicon) = (pdiff (drawn)) ∧ (¬poly (drawn))
12 SECTION 2 CMOS LOGIC ASICS... THE COURSE
nwell
p-diffusion
2λ
pdiff polysilicon
field oxide
field implant
poly
gate oxide
y LDD diffusion z
y
source/drain diffusion
x x
n-well (or substrate)
(a) (b) 2λ
y z m3
(a) y (b)
x x
via2
m2+via2 +m3 m2
The interconnect layers via1 TiW
AlCu
m1 (3000Å)
m2 W plug
contact m3
(4000Å)
+m1 2λ contact
+via1 Pt barrier
+m2 (200Å)
Key words: diffusion • Ω /square (ohms per square) • sheet resistance • silicide • self-
aligned silicide (salicide) • LI, white metal, local interconnect, metal0, or m0 • m1 or metal1
• diffusion contacts • polysilicon contacts • barrier metal • contact plugs (via plugs) •
chemical–mechanical polishing (CMP) • intermetal oxide (IMO) • interlevel dielectric
(ILD) • metal vias, cuts, or vias • stacked vias and stacked contacts • two-level metal
(2LM) • 3LM (m3 or metal3) • via1 • via2 • metal pitch • electromigration • contact resis-
tance and via resistance
14 SECTION 2 CMOS LOGIC ASICS... THE COURSE
1.
1 well 2.
2 active 3.
3 poly
10 (1.1) 3 (2.1) 5 (2.3) 3 (2.4) nwell 1 (3.5)
nwell 3 0 or 4 pdiff
(2.2) (2.5)
nwell 3 (3.4)
pdiff pdiff ndiff nwell
0 (1.4) 9 (1.2) 2 (3.3)
ndiff 3 ndiff 0 or 4 pdiff
hot 2 (3.2)
pwell (2.2) (2.5)
pwell 0 or 6 (1.3) poly
3 (2.1) 5 (2.3) 3 (2.4) pwell
2 (3.1)
4
4. select
pwell nwell 5.
5 poly 2 (5.3a)
1.5
p-select n-select contact (5.2a)
poly
pdiff
ndiff 2 × 2 (5.1a)
6.
6 active
1 (4.3) 3 (4.1) contact 2 (6.3a) nwell
poly
1.5 (6.2a) 2 (6.4a)
ndiff pdiff
2 (4.2)
n-select p-select
poly
2 × 2 1.5
77. metal1 8.
8 via1 (6.1a) (6.2a)
1 (7.3)
pdiff poly 2 (8.4)
3 (7.1)
poly 2 (8.5) via1
3 1 (8.3)
metal2 contact
(7.2a)
m1 m2
active
contact m1 2 poly 2 (8.5) 2 × 2 (8.1)
(7.2b) 3 (8.2) ndiff
1 (7.4)
99. metal2 15.
15 metal3
10.
10 overglass (microns)
14.
14 via2
30 (10.4)
3 (9.1) m3 6 (10.3)
2 × 2 (14.1) 2 (14.4) m3
m2 6
m2 1 (15.1)
via2 (14.3) m2
via1
4 (15.2)
m3 15
3 1 3 (10.5)
(14.2) via1 glass
(9.2b) 4 (9.3) via2
(9.2a) m3 m1
m2
m1
2 (15.3) 100 × 100 (10.1)
AOI221 OAI321
OR = parallel
AND = series VDD VDD
A 6/1 6/1
B A B adjust
C Z 3 4 sizes
D C 6/1 6/1
D
1 E
push bubbles to the inputs 6/1 6/(1+1+1) =
E
Z 2/1
OR = parallel
A AND = series
B 1/1 2/1 2/1
C Z E A C
D 2/1 2/1
E 2 B D
S'
strong '1' charge sharing
S=0 S'
A Z A Z
A Z '0'
S=1 VSMALL→VF VBIG→VF
A Z Z
S A
strong '0'
C SMALL '1' C BIG
S
Charge sharing: suppose CBIG =0.2pF and CSMALL =0.02pF, VBIG =0V and VSMALL =5V;
then
2.5.1 Latch
D Q D Q D Q
I1 I2 I1 I2 I1 I2
CLKP CLKP storage
loop
I3 I3 I3
CLKN
CLK
I4 I5
CLKN CLKP CLK CLK
D D
1D
C1 Q Q
t t
(a) (b) (c)
CMOS latch • enable • transparent • static • sequential logic cell • storage • initial value
18 SECTION 2 CMOS LOGIC ASICS... THE COURSE
2.5.2 Flip-Flop
master slave
CLKN CLKP
D M S Q
(a) I1 I2 I6 I8
CLKP CLKP CLKN CLKN
QN
I3 I7 I9
CLKN CLKP
CLK
I4 I5 1D
CLKN CLKP C1
load master
D M S Q
(b) I1 I2 I6 I8
store
CLK=1 QN
I3 I7 I9
load slave
D M S Q
(c) I1 I2 I6 I8
store
CLK=0
QN
I3 I7 I9
CLK 50%
t SU
(d) D
tH
M decision
window
Q
tPD
t
CMOS flip-flop
• master latch • slave latch
• active clock edge • negative-edge–triggered flip-flop
• setup time (tSU) • hold time (tH) • clock-to-Q propagation delay (tPD)
• decision window
ASICs... THE COURSE 2.6 Datapath Logic Cells 19
COUT[2] COUT[3]
A[3] S[3] m2
B[3] m1
A B COUT
A[2] S[2]
CIN S
B[2] COUT[2] COUT[3]
CIN COUT A[1] S[1]
A ADD B[1]
B SUM A[0] S[0] control
B[0] m2 m2
CIN CIN[0]
data
VSS m1 m1 VSS
(a) (b) (c) (d)
A datapath adder
• Ripple-carry adder (RCA)
• Data signals • control signals • datapath • datapath cell or datapath element
• Datapath advantages: predictable and equal delay for each bit • built-in interconnect
• Disadvantages of a datapath: overhead • harder design • software is more complex
20 SECTION 2 CMOS LOGIC ASICS... THE COURSE
Binary arithmetic
Binary Number Representation
Operation Signed Ones’ Two’s
Unsigned
magnitude complement complement
no change if positive then if negative if negative
MSB=0 then flip bits then {flip bits;
add 1}
else MSB=1
3= 0011 0011 0011 0011
–3= NA 1011 1100 1101
zero= 0000 0000 or 1000 1111 or 0000 0000
max. positive= 1111=15 0111=7 0111=7 0111=7
max. negative= 0000=0 1111=–7 1000=–7 1000=–8
addition= S=A+B if SG(A)=SG(B) S= S=A+B
then S=A+B
S= A+B A+B+COUT[MS
else {if B<A then B]
=addend+auge
S=A–B
nd
else S=B–A}
COUT is carry
out
SG(A)=sign of A
addition result: OR=COUT[M if SG(A)=SG(B) OV= OV=
SB] then
OV=overflow, XOR(COUT[MS XOR(COUT[MS
OV=COUT[MSB]
B], B],
OR=out of range
else OV=0 (impossi- COUT[MSB–1]) COUT[MSB–1]
COUT is carry
ble) )
out
SG(S)=sign of S NA if SG(A)=SG(B) NA NA
then SG(S)=SG(A)
else {if B<A then
S= A+B
SG(S)=SG(A)
else SG(S)=SG(B)}
subtraction= D=A–B SG(B)=NOT(SG(B)); Z=–B (negate); Z=–B (negate);
D= A–B D=A+B D=A+Z D=A+Z
=minuend
–subtrahend
22 SECTION 2 CMOS LOGIC ASICS... THE COURSE
2.6.2 Adders
Generate, G[i] and propagate, P[i]
method 1 method 2
G[i] = A[i] · B[i] G[i] = A[i] · B[i]
P[i] = A[i] ⊕ B[i P[i] = A[i] + B[i]
C[i] = G[i] + P[i] · C[i–1] C[i] = G[i] + P[i] · C[i–1]
S[i] = P[i] ⊕ C[i–1] S[i] = A[i] ⊕ B[i] ⊕ C[i–1]
Carry signal:
Carry-save adder (CSA) cell CSA(A1[i], A2[i], A3[i ], CIN, S1[i], S2[i], COUT) has three out-
puts:
S1[i] = CIN ,
S2[i] = A1[i] ⊕ A2[i] ⊕ A3[i ] = PARITY(A1[i], A2[i], A3[i ])
COUT = A1[i] · A2[i] + [(A1[i] + A2[i]) · A3[i ]] = MAJ(A1[i], A2[i], A3[i ])
ASICs... THE COURSE 2.6 Datapath Logic Cells 23
COUT[MSB] COUT[MSB–1]
COUT[MSB] OV
COUT[MSB–1]
COUT A1[MSB:0] n S1[MSB:0]
+ n
A1 A2[MSB:0] n
A2
CSA S1 + Σ
S2 +
A3 A3[MSB:0] n S2[MSB:0]
n
CIN CIN[0]
CLK CLK
CLK CLK CSA1 CSA2 RCA
n
A1[MSB:0] n 1 4
+ + S[MSB:0]
A2[MSB:0] n 2 + Σ Σ
+ + n n
A3[MSB:0] n + Σ 3 5
+
+ CSA2 RCA 1 23 4 5
A4[MSB:0] n
CSA1 pipeline registers
pipeline registers
(f) (g)
C[7]=(G[7]+P[7]·C[6])·BYPASS'+C[3]·BYPASS
carry-skip adder:
C[3]= G[3]
C[2] =G[2] +P[3]G[2]
C[1] =G[1] +P[2]G[1] + P[3]P[2]G[1]
+P[0] +P[2]P[1]G[0] +P[3]P[2]P[1]G[0]
G[0]
P[0] P[0]P[1] P[0]P[1]P[2] P[0]P[1]P[2]P[3]
CLG CLG CLG
G[1] G[2] G[3]
P[1] L1 P[2] L2 P[3] L3
Carry-select adder duplicates two small adders for the cases CIN='0' and CIN='1' and then
uses a MUX to select the case that we need
ASICs... THE COURSE 2.6 Datapath Logic Cells 25
Si_j_1 or Si_j_0 or
Ci_j_1 Ci_j_0
Qi_j Ci_j_k
Si_j_k or Ci_j_k
Ci_j_k (k =0 or 1)
G1
Si_j_0 or Si_j_k or
Ci_j_0 1 2 Q2_1
1 Ci_j_k C[0]
Si_j_1 or
Ci_j_1 S[1] C[2] S[0]
2.6.4 Multipliers
• Mental arithmetic: 15 (multiplicand) × 19 (multiplier) = 15 × (20–1) = 15 × 21
• Suppose we want to multiply by B=00010111 (decimal 16+4+2+1=23)
• Use the canonical signed-digit vector (CSD vector) D= 00101001 (decimal 32–8+1=
23)
• B has a weight of 4, but D has a weight of 3 — and saves hardware
ASICs... THE COURSE 2.6 Datapath Logic Cells 27
normalized area/k λ2
delay
120 3000
ripple-carry ripple-carry
carry-select carry-select
80 2000
carry-save carry-save
40 1000
2-input
NAND =1
8 16 32 64 8 16 32 64
bits bits
(a) (b)
Datapath adders
We can use a radix other than 2, for example Booth encoding (radix-4):
B=101001 (decimal 9–32=–23) ⇒ E= 1 21 (decimal –16–8+1=–23)
B=01011 (eleven) ⇒ E= 11 1 (16–4–1)
B=101 ⇒ E= 11
28 SECTION 2 CMOS LOGIC ASICS... THE COURSE
Each dot
'0' A B represents
'0' '0' an output of
S50 S40 COUT CIN one stage
redundant FA and an
carry input to the S50 0
a0 b0 '0' full adder S50 S23 next. S41
'0'
S51 S41 S31 Sum S41 S14 S32
S23
S32 S05 S14
a1 b1 c1 5.1 5.2 S05
S42 S32 S22 1
5.1
b2 c2 d2 5.3
5.2
S33 S23 S13 '0' 2
5.3
c3 d3 e3 5.4
5.4 3
S24 S14 S04
half
adder 4
d4 e4 f4
S15 S05
5.5 5
e5 f5 5.5
full
adder P5 6
'0'
f6 (c)
P6 P5 P4 P5
(a) (b)
S54S45 S53S44 S52S43 S51S42 S50 S41 S23S14 S22S13 S21S12 S20S11 S10'0' S00
1 S S S S S S S S S
1 35 2 34 3 33 4 32 5 05 6 04 7 03 8 02 9 01
S25 S15
S S31 S30 P1 P0
2
10 11 12 24 13 14 15 16 '0'
'0'
S40 P2
3 17 18 19 20 21 '0'
P3
4 '0' 0
22 23 24 '0'
P4 1
5 25
2
6 P5 3
26
4
S55 A B
7 5
27 28 29 30 P6 COUT CIN
FA 6
full 7
P11 P10 P9 P8 P7 adder
P5
Sum
0
S25 S34 S15 S24 S42 S51 S05 S14 S32 S41 S04S13 S00
1
S43 S33 S23 '0'
1 2 3 '0' 4 5 6 '0'
2
3 S35 S44 S52 S22 S03 S12 P0
4 7 8 9 10 11 S31 12 '0'
S45 S54 S53 S50 S40 S21S02 S11
13 14 15 16 17 18 19 S30 20 S20
S55 '0' S10S01
21 22 23 24 25 26 27 28 29 30 '0'
P10 P9 P8 P7 P6 P5 P4 P3 P2 P1
P11
The number of stages and thus delay (in units of an FA delay—excluding the CPA) for an n-bit
tree-based multiplier using (3, 2) counters is
log1.5 n = log10 n/log10 1.5 = log10 n/0.176
ASICs... THE COURSE 2.6 Datapath Logic Cells 31
A3
S32 two-input 2-bit A0 Z'0
AND submultiplier B0
B2
A3 A1 A3 A1 A1
A2 A0 A2 A0 B0 Z'1
B0 (3, 2) B0 A0
S32 B1 counter Z0 B1
B2 B1 B1 Z'2
B3
B2
(3, 2) A0
counter B3 B0 Z'4
A1
B1
(a) (b) (c)
CLK PRE A
Z[MSB:0]
D[MSB:0] Q[MSB:0]
A[MSB:0] Z[MSB:0] B[MSB:0]
B[MSB:0]
(c)
(a) (b)
A[MSB:0] + S[MSB:0]
S Σ
A[MSB:0] Z[MSB:0] Z[MSB:0] Z Z
0 +/-1 =0 =1 B[MSB:0] +/-
B[MSB:0] 1
(d) (e) (f) (g) (h)
NR1
DATAin
to core I1
logic
2.9 Summary
• The use of transistors as switches
• The difference between a flip-flop and a latch
• The meaning of setup time and hold time
36 SECTION 2 CMOS LOGIC ASICS... THE COURSE
2.10 Problems
Suggested homework: 2.1, 2.2, 2.38, 2.39 (from ASICs... the book)