<Cedar5.2>ProcessDefs>CMos2.0u100C.thy>> <> <> NETran: circuit[gate, source, drain, bulk | l _ 2, w _ 8, as _ 240, ad _ 240, ps _ 80, pd _ 80, dWFact _ 1] = { fet: MosFet[gate, source, drain, bulk | Lm _ l*Lambda, Wm _ w*Lambda, As _ as*Lambda*Lambda, Ad _ ad*Lambda*Lambda, Ps _ ps*Lambda, Pd _ pd*Lambda, Vfb_ -0.710305, Na_ 4.505551E+16, Tox_ 310, Lk1_ -0.340033, Wk1_ 0.193772, K20_ 0.179467, Lk2_ -0.148137, Wk2_ -0.180754, Etao_ 2.541379E-02, nEta_ 3.38740, Un_ 396.157, Vo_ 38.8748, Lu_ 1.000E-06, Ecrit_ 2.15085, Lv_ 3.67376, dL_ -0.136870, dW_ -1.20537*dWFact, Xj2 _ 0.4, TDegC _ 100, Cj _ 5.27E-17, Cjm _ 6.64E-17, Pb _ 1.1265 ] }; -- NETran ETran: circuit[gate, source, drain | L _ 2, W _ 4, sdExtend _ 0, dWFact _ 1] = { <> <> <> nt: NETran[gate, source, drain, Gnd | l _ L, w _ W, as _ W*sdExtend, ad _ W*sdExtend, ps _ 2*sdExtend+(sdExtend>0)*W, pd _ 2*sdExtend+(sdExtend>0)*W, dWFact _ dWFact ] }; -- ETran PETran: circuit[gate, source, drain, bulk | l _ 2, w _ 24, as _ 720, ad _ 720, ps _ 110, pd _ 110, dWFact _ 1] = { fet: MosFet[gate, source, drain, bulk | Lm _ l*Lambda, Wm _ w*Lambda, As _ as*Lambda*Lambda, Ad _ ad*Lambda*Lambda, Ps _ ps*Lambda, Pd _ pd*Lambda, Vfb_ -0.264791, Na_ 1.133016E+16, Tox_ 310, Lk1_ -1.11216, Wk1_ -3.509532E-02, K20_ -5.339097E-02, Lk2_ 1.32741, Wk2_ 1.41077, Etao_ 3.449609E-02, nEta_ 2.61475, Un_ 135.857, Vo_ 18.9479, Lu_ 0.516323, Ecrit_ 9.55550, Lv_ 3.51166, dL_ -8.836786E-02, dW_ -1.19803*dWFact, TDegC _ 100, Xj2 _ 0.4, Type _ -1, Cj _ 1.92E-16, Cjm _ 2.43E-16, Pb _ 1.18 ] }; -- PETran CTran: circuit[gate, source, drain | L _ 2, W _ 4, sdExtend _ 0, dWFact _ 1] = { pt: PETran[gate, source, drain, Vdd | l _ L, w _ W, as _ W*sdExtend, ad _ W*sdExtend, ps _ 2*sdExtend+(sdExtend>0)*W, pd _ 2*sdExtend+(sdExtend>0)*W, dWFact _ dWFact ] }; -- CTran NDTran: circuit[gate, source, drain | -- from NMos4.0u75C.thy L _ 4, W _ 2, sourceExtension _ 1, drainExtension _ 1, dWFact _ 1]= { fet: MosFet[gate, source, drain, Gnd | Lm _ L*Lambda, Wm _ W*Lambda, As _ sourceExtension*W*Lambda*Lambda, Ad _ drainExtension*W*Lambda*Lambda, Ps _ (2*sourceExtension+W)*Lambda, Pd _ (2*drainExtension+W)*Lambda, Vfb _ -4.23788, Na _ 9.721774E+14, Tox _ 700, Lk1 _ -1.21598, Wk1 _ 2.89924, K20 _ -1.090938E-02, Lk2 _ 9.20827, Wk2 _ -0.935040, Etao _ 2.529529E-02, nEta _ 3.90803, Un _ 636.284, Vo _ 35.1750, Lu _ -0.154980, Ecrit _ 1.21462, Lv _ 21.3101, dL _ 0.550266, dW _ -2.41600*dWFact, TDegC _ Temp, Cj _ 8.6E-17, Cjm _ 2.17E-16, Pb _ 0.9325 ] }; -- NDTran WireCap: circuit[n | -- l=length, w=width, a=area, p=perimeter lM2 _ 0, wM2 _ 4, aM2 _ 0, pM2 _ 0, -- 2nd layer metal lM _ 0, wM _ 3, aM _ 0, pM _ 0, -- 1rst layer metal lP _ 0, wP _ 2, aP _ 0, pP _ 0, -- poly aG_ 0, pG _ 0, -- poly over thin oxide (if transistor unsimulated) aM2C _ .197E-4pF, pM2C _ .486E-4pF, -- /(uM)^2, /uM, 2nd layer metal to bulk aMC _ .276E-4pF, pMC _ .496E-4pF, -- 1rst layer metal to bulk aPC _ .628E-4pF, pPC _ .577E-4pF, -- poly to bulk aGC _ 11.8e-4pF -- poly over thin oxide ] = { ?: capacitor[n, Gnd] = Lambda*(Lambda*((aM2 + lM2*wM2)*aM2C + (aM + lM*wM)*aMC + (aP + lP*wP)*aPC + aG*aGC) + (pM2 + 2*lM2 + 2*wM2)*pM2C + (pM + 2*lM + 2*wM)*pMC + (pP + 2*lP)*pPC) }; -- WireCap DifCap: circuit[n | lnD _ 0, wnD _ 0, anD _ 0, pnD _ 0, lpD _ 0, wpD _ 0, apD _ 0, ppD _ 0]= { <> ndc: Diffusion[n, Gnd | a _ (lnD*wnD+anD)*Lambda*Lambda, p _ (2*(lnD+wnD)+pnD)*Lambda, Cj _ 1.5E-4pF, -- /(um)^2 Cjm _ 3E-4pF, -- /um of sidewall Pb _ 1.1265, TDegC _ 100]; pdc: Diffusion[n, Gnd | a _ (lpD*wpD + apD)*Lambda*Lambda, p _ (2*(lpD + wpD) + ppD)*Lambda, Cj _ 3.1E-4pF, Cjm _ 3.0E-4pF, Pb _ 1.18, TDegC _ 100] }; -- DifCap WireRes: circuit[nodeA, nodeB | lM2 _ 0, wM2 _ 4, lM _ 0, wM _ 3, lP _ 0, wP _ 2, lnD _ 0, wnD _ 2, lpD _ 0, wpD _ 2, sM2R _ 0.06, -- ohms/square sMR _ 0.06, sPR _ 3.5, -- polysilicide snDR _ 35, spDR _ 120] = { R: resistor[nodeA, nodeB] = lM2/wM2*sM2R + lM/wM*sMR + lP/wP*sPR + lnD/wnD*snDR + lpD/wpD*spDR }; -- WireRes ConRes: circuit[nodeA, nodeB | nM2M _ 0, -- number of parallel 2nd layer metal to 1rst layer metal vias nMP _ 0, -- number of parallel 1rst layer metal to poly contacts nMD _ 0, -- number of parallel 1rst layer metal to diffusion contacts nPD _ 0, -- number of parallel poly to diffusion contacts, butting cM2MR _ 40, -- ohms/via, 2nd layer metal to 1rst layer cMPR _ 4, -- ohms/contact, metal-polysilicide cMDR _ 25, -- ohms/contact, metal-diffusion cPDR _ 50 -- ohms/contact, poly-diffusion, with metal strap, i.e. butting contact ] = { R: resistor[nodeA, nodeB] = 1/(nM2M/cM2MR + nMP/cMPR + nMD/cMDR + nPD/cPDR) }; -- ConRes Stray: circuit[n | aM2 _ 0, pM2 _ 0, aM _ 0, pM _ 0, aP _ 0, pP _ 0, anD _ 0, pnD _ 0, apD _ 0, ppD _ 0, aG _ 0, pG _ 0 ] = { wireCap: WireCap [n | aM2 _ aM2, pM2 _ pM2, aM _ aM, pM _ pM, aP _ aP, pP _ pP, aG _ aG, pG _ pG]; difCap: DifCap [n | anD _ anD, pnD _ pnD, apD _ apD, ppD _ ppD]; }; -- Stray <> <> <> <> <> <> <> <> <> <> <<>>