Comb Logic
Comb Logic
Cdbn
Cgbn
I Dn 1 W G n= = KP n R n V DS L n
RpEQV = Rp/2 or GpEQV = 2Gp RpEQV = 2Rp or GpEQV = Gp/2
pMOS
Assume: bulk at VDD
VDD
Csbp Rp
VDD ON/ OFF
(W/L)p
Cgbp
I Dn 1 W G p= = KP p R p V DS L p
= ID1 + ID2
0 0 VDD VDD
n n
Kenneth R. Laker, University of Pennsylvania, updated 23Feb11
0 VDD 0 VDD
= ID1 + ID2
k'n,d
k'n,d
00
VDD VDD
VDD 0 0 VDD
Gn
Gn
k'n
k'n
Gn = 1/Rn
I Di ID 1 W W G i= = = KP i =KP R i V DS V DS L i L
VOL for INV: 2 1 1 2 V OL =V DD V T0n k V DD V T0n k R R R knEQV L R V DD nEQV R L nEQVR L k nEQV L k nEQV L k nEQV L
0 0
(Pattern Dependent)
Cload-NR2
Cload-NR2
VA = VDD, VB = 0 or VA = 0, VB = VDD
2V V T0n 2V DDV T0n knEQV RL DD k nEQV R L = =k n R L= 2 2 2V DDV T0nV OL NR2 V OLNR2 2V DDV T0n V OL INV V OL INV
VA VDD, VB = 0 or VA = 0, VB VDD 0V 0->VDD one input switching 0 VDD and the other input set to 0 V.
C load INV 2 V T0n 4V DDV T0n PHL INV = [ ln 1] k n V DDV T0n V DD V T0n V DDV OL INV
kn -> knEQV
Kenneth R. Laker, University of Pennsylvania, updated 23Feb11
10
11
Gn = 1/Rn
Gn
Gn
Gn Vi = VDD
INV Equivalent to NRn
Vi = 0 OL V
n
IL
n
Gni = mGn
12
1. Design to set max VOL to VOL spec., i.e. Vk = 0 V , Vi = 0 for all i k VDD Set (W/L)k = (W/L) = (W/L)EQV
2V 2V DD V T0n knEQV RDD V T0n k nEQV R L = =k n R L = L 2 2 2V DDV T0n V OL NRnV OL NRn 2V DDV T0n V OL INV V OL INV
2. Design to set for knEQV at min value, i.e. Vk VDD, Vi = 0 for all i k 0 0. L H and all other inputs set to 0 V.
C load INV 2 V T0n 4V DDV T0n PHL INV = [ ln 1] k n V DDV T0n V DD V T0n V DDV OL INV
Cload-INV -> Cload-NRn n Cgd Cext Cload-INV -> Cload-NRn = nCdbn + n Cdb + Cint + Cgb ->
PHL-NRn
(VOL-NRn = VOL-INV worstvalue max case) (knEQV = kn worst case) min value
13
VT1 VT0n
0 0 VDD VDD
0 VDD 0 VDD
14
R = 1/G
knEQV
W 1 W = L EQV 2 L
2V DD V T0n 1 k nEQV R L = k n R L = 2 2 2V DD V T0n V OLND2 V OL ND2
Kenneth R. Laker, University of Pennsylvania, updated 23Feb11
15
Vout
nCgb
# sb2 #
Cwire 2Cn-int
##
##
Cext
CASE1: Cload = Cgd1 + Cgs1 + Cdb1 + Csb1 + Cdb2 + Cgd2 + Cint + (worst casecase) value) Cgb (worst max C aa db1 + Csb1 + Cdb2 + Cint + Cgb (worst case) CASE2: >
PLH_ND2
16
Vout Cext
nCgb
VB = 0 -> VDD
VA
S D
VA = 0 -> VDD
VB = VDD DD
CASE1:
VB
2Cn-int
VB
Vx Vout = high -> low Vx = low .0 (worst case) max value) case
17
knEQV
W 1 W = L EQV 2 L
k n R L=
k n=2 k nEQV
C load ND2 2 V T0n 4 V DD V T0n PHL ND2 [ ln 1] k nEQV V DD V T0n V DD V T0n V DD V OL ND2 knEQV
18
VT1 VT0n
VOH &
n
VTn = VT0n
W 1 W = L EQV n L
19
Cn-int
Vx1 Vx2 Vxn-1
Cext
C2 2Cn-int
Vx1
<=>
Vxn-1
2Cn-int Cn
Worst-case H-L: V1 = V2 ... = Vn-1 = VDD and Vn = 0 -> VDD => Vout = VDD -> 0 DD and Vx1 = highx2 low; Vxn-1=high = high -> low xn-1 = high -> low Vx1 V -> Vx2 V -> low; ... ; V
out
Worst-case L-H: V1 = V2 ... = Vn-1 = VDD and Vn = VDD -> VOL => Vout = 0 -> VOH DD OH OH and Vx1Vx1 Vx2 Vx2 = Vout = high;-> high = low -> high = low -> high; Vxn-1 low -> low ... ; Vxn-1 Cload-NDn Cn-int1 + 2 (n - 1)Cn-int + Cext = (2n -1) Cn-int + Cext (worst case max value)
20
W 1 W = L EQV n L
2V DD V T0n
C load NDn 2V T0n 4 V DD V T0n PHL NDn knEQV [ ln 1] k nEQV V DD V T0n V DD V T0n V DD V OL NDn
21
VT = VT0p
V1 V2 1 1 1 0 0 1 0 0 approximation: VT = VT0p
VT VT0p
Vout 0 0 0 1
VT = VT0n
VT = VT0n
Gp G pEQV = 2
22
G nEQV =2 G n
kp = 2 kpEQV
Kenneth R. Laker, University of Pennsylvania, updated 23Feb11
kn = 1/2 knEQV
23
2Cp-int Vx
Cdbn1 = Cdbn2 = Cdbn Cdbp1 = Cdbp2 = Cdbp Csb1p = Csb2p = Csbp = Cdbp
Cp-int
nCgb
Cn-int Cn-int
Cext
(worst case)
WORST CASE for PULL-DOWN => V1 = 0, V2 = 0 -> VDD & Vx Vout = VDD -> 0 Cload-NR2 2Cn-int + Cp-int + 2Cp-int + Cext = 2Cn-int + 3Cp-int + Cext (worst case) KEEP COMPLEMETARY CMOS NRn: Cload-NRn nCn-int + (2n - 1)Cp-int + Cext GATES SIMPLE (i.e. limit n) Kenneth R. Laker, University of Pennsylvania, updated 23Feb11
24
C load NR2 2 V T0n 4V DD V T0n kp = n 1] m = 1 or 2 kpEQV PHL NR2 [ ln m k n V DD V T0n V DD V2 T0n V DD Vth(NRn) = VDD/2 => kp2=V T0pn 4V DD k V T0p (worst case m = 1) = (1/m) k C load NR2 n k n PLH NR2 [ ln 1]nEQV V DD k p /2V DD V T0p V DD V T0p
p
Kenneth R. Laker, University of Pennsylvania, updated 23Feb11
25
C load NRn 2 V T0n 4V DD V T0n PHL NRn [ ln 1] 1 m n m k n V DD V T0n V DD V T0n V DD PLH NRn k p /n Vp V T0p V DD V T0p DD C load NRn [ 2V T0p ln 4 V DD V T0p V DD 1]
(worst case m = 1)
26
G pEQV =2G p
VT VT0n
nEQV
Gn G nEQV = 2
27
Cp-int
V1
Vx
Cn-int 2Cn-int
Cext
V2
WORST CASE for PULL-DOWN =>V1 = VDD, V2 = 0 -> VDD & Vx Vout = VDD -> 0 Cload-ND2 Cn-in + 2Cn-int + 2Cp-int + Cext = 3Cn-int + 2Cp-int + Cext (worst case)
(worst case)
28
C load ND2 2 V T0n 4V DD V T0n PHL ND2 [ ln 1] k n /2 V DD V T0n V DD V T0n V DD 2V T0p 4V DD V T0p C load ND2 PLH ND2 [ ln 1] m = 1 or 2 V DD m k p V DD V T0p V DD V T0p (worst case m = 1)
NOTE for ND2: m = 2 => both pMOS transistors switch simultaneously. C load NDn 2 V T0n 4 V DD V T0n PHL NDn [ ln 1] k n / nV DD V T0n V DD V T0n V DD 2V T0p 4V DD V T0p C load NDn PLH NDn [ ln 1] 1 m n V DD m k p V DD V T0p V DD V T0p
Kenneth R. Laker, University of Pennsylvania, updated 23Feb11
(worst case m = 1)
29
Delay Macromodels
Cext = 0 CL = = 0.5 pF Cext 0.5 pF C = 1 pF CLext = 1.0 pF
VDD
ND3
30
VDD
ND3
VDD
ND3
C ext c ext = 1 pF
Cext = 0
cext
int , XY = PXY c ext =0
31
cext
cext
Cext = 0.5 pF
C ext c ext = 1 pF cext
Kenneth R. Laker, University of Pennsylvania, updated 23Feb11
32
33
34
NOR NAND
G G G E G AG DG E = A D G A G DG E
GB GC G BG C = G BGC
G EQV =G AG D D E G BGC
35
IL
where i = 1, 2, 3 or 4
W W W W W [ ] L A L D L E L B L C W = L EQV W W W W W L A L D L E L B L C
Kenneth R. Laker, University of Pennsylvania, updated 23Feb11
36
W W W W W [ ] L A L D L E L B L C W = L EQV W W W W W L A L D L E L B L C
Let
W W W W W W = = = = = L n L A L B L C L D L E
G EQV =G AG D D E G BG C W W W W W 2 W 1 W 7 W = 2 = = L EQV L n L n L n L n 3 L n 2 L n 6 L n
37
38
D S
GND
Kenneth R. Laker, University of Pennsylvania, updated 23Feb11
39
OPTIMIZED
40
diffusion breaks
d d d d d
41
42
43
3. If no common n- and p- Euler paths are found in step 2, partition the gate n- and p- graphs into the minimum number of sub-graphs that will result in separate common n- and p- Euler paths.
44
45
46
47
48
49
- VTp
50
kp (- VDD - VTp)2
kp [2(- VDD - Vtp) (Vout VDD) - (Vout VDD)2] kp [2(- VDD - Vtp) - (Vout VDD)]
51
52
53
54
Z = As Bs
Z Z
F = BA + BA = AB + AB It is crucial that a conducting TG network always be provided between the output and one of the inputs.
Kenneth R. Laker, University of Pennsylvania, updated 23Feb11
55
A B A B F = AB + AB
Cpar
A 1 1 0 0
A 0 0 1 1
B 1 0 1 0
B 0 1 0 1
AB 0 1 Z Z
AB Z Z 1 0
Z = High Z
Kenneth R. Laker, University of Pennsylvania, updated 23Feb11
56
F1 F2 F3 F4
F 1 AB F 2 AB F 3 B A C par F 4 A B
AND(A, B)
57
Z = AB NAND (A, B)