-- File: [Thyme]Top>ThymeBasics.thy -- Last edited: -- Tremain, July 29, 1983 12:33 PM -- SChen, June 11, 1983 7:03 PM -- Barth, April 11, 1983 11:51 AM Diode: circuit[anode, cathode| Imax_ 1A, Io_ 10nA, Temp_ 25] asserts[Imax>Io, Io>0, Temp>-100]= { diodeModel: model_ dcDiode[anode, cathode| Io, 8.61707E-5*(Temp+273.16), \(Imax/Io)]; junction: current[anode, cathode]_ diodeModel[0] }; MosFet: circuit[gate, source, drain, bulk| Lm_ 7.5, -- mask value of channel Length (micron) Wm_ 50, -- mask value of channel width (micron) As_ 1500, -- mask value of source area (micron**2) Ad_ 1500, -- mask value of drain area (micron**2) Ps_ 160, -- mask value of source perimeter (micron) -- better exclude the edge under the gate Pd_ 160, -- mask value of drain perimeter (micron) -- better exclude the edge under the gate Vfb_ -6.79025E-2, -- flat band voltage (v) Na_ 1.222319E15, -- substrate doping Na (cm-3) Tox_ 700, -- effective gate oxide thickness (A) Lk1_ -1.35683, -- coefficient for calculating K1. (micron) Wk1_ 0, -- coefficient for calculating K1. (micron) K20_ 1.371516E-2, -- coefficient for calculating K2. () Lk2_ -4.96626, -- coefficient for calculating K2. (micron) Wk2_ 0, -- coefficient for calculating K2. (micron) Etao_ 2.552937E-3, -- eta coefficient (), eta=Etao+nEta*Tox/Le nEta_ 3.59803, -- eta coefficient () Un_ 831.342, -- effective channel mobility (cm2/v/sec) Vo_ 14.8133, -- mobility modulation coefficient (v) Lu_ -0.109125, -- mobility modulation coefficient (micron) Ecrit_ 1.29325, -- Critical field strength (v/micron) Lv_ 9.54961, -- coefficient for U1 (micron) dL_ -0.387413, -- change in electrical channel Length from mask (micron) dLComp_ 0, -- poly mask (gate length) compensation (micron) dW_ 0, -- change in electrical channel width from mask (micron) dWComp_ 1, -- dif mask (gate width) compensation (micron) Xj2_ 0.8, -- 2 times lateral diffusion, (micron) TDegC_ 25, -- temparature (degree C) NoCap_ 0, -- flag. if # 0, shut off gate capacitance. Type_ 1, -- channel type (1: n channel, -1: p channel) Jmax_ 100u, -- maximum current density allowed to go thru -- bs or bd junctions (A/u2) Jo_ 5p, -- reverse saturation current density of the -- bs or bd junctions (A/u2) -- the max forward bias allowed for the source-bulk and drain-bulk -- junctions is MAX[2phif, (kT/q)*Ln[Jmax/Jo]] Cj_ 3.1E-14, -- zero-bias substrate junction capacitance (F/micron**2) Cjm_ 0, -- zero-bias perimeter substrate capacitance (F/micron) Pb_ 0.866, -- junction built-in voltage (v) M_ 0.1 -- off gate capacitance multiplier ] asserts[As>0, Ad>0, Ps>0, Pd>0, Tox>0, Un>0, Ecrit>0, Xj2>0, Jmax>Jo, Jo>0, Cj>=0, Cjm>=0, M>=0, M<0.4]= { Mos0: circuit[| TDegK] asserts[TDegK>200]= { Mos1: circuit[| Cox, TDegKBy300, Vt]= { Mos2: circuit[| Ni, K10, Le, We] asserts[Na>Ni, Le>.5, We>.5]= { Mos3: circuit[| TwoPhiF, K1, Eta, U0, Cgbo] asserts[Pb>TwoPhiF]= { mosModel: model_ CSIM[gate, source, drain, bulk| Vfb, -- vfb(V) TwoPhiF, -- twoPhiF(V) K1, -- k1(V^0.5) K20*(1.0 + Lk2/Le + Wk2/We), -- k2() Eta, -- eta() (Un*1E8)*Cox*We/Le, -- betao(F/Vsec), >0 U0, -- u0(1/V) 1E-7 MAX ((1/Le-1/Lv)/(2*Ecrit)), -- u1(1/V) Cgbo*M, -- CgboM(F) Cgbo*2.0/3.0, -- Cgbo23rds(F) Cox*We*Xj2/2.0, -- Cov(F) Cj*As+Cjm*Ps, -- Cbso(F) Cj*Ad+Cjm*Pd, -- Cbdo(F) Pb, -- phiB(V) Jo*As, -- Io for source(A) Jo*Ad, -- Io for drain(A) Vt, -- kT/q(V) (TwoPhiF/Vt) MIN \(Jmax/Jo), -- expMax() NoCap, -- NoCap() Type -- nChannel ]; i: current[drain, source] _ mosModel[0]; cgb: capacitor[gate, bulk] _ mosModel[1]; cgs: capacitor[gate, source] _ mosModel[2]; cgd: capacitor[gate, drain] _ mosModel[3]; cbs: capacitor[bulk, source] _ mosModel[4]; cbd: capacitor[bulk, drain] _ mosModel[5]; jbs: current[bulk, source] _ mosModel[6]; jbd: current[bulk, drain] _ mosModel[7] }; mos3: Mos3[| TwoPhiF_ 2.0*Vt*\(Na/Ni), -- (V), K1_ K10*(0.1 MAX (1.0 + Lk1/Le + Wk1/We)), -- (V^0.5) Eta_ 1E-7 MAX (Etao + nEta*Tox/10000/Le), -- () U0_ 1E-8 MAX (1.0/Vo*(1.0 + Lu/Le)), -- (1/V) Cgbo_ Cox*Le*We -- (F) ] }; mos2: Mos2[| Ni_ 1.45E10*TDegKBy300*/TDegKBy300* ^(1.12*(1-300/TDegK)/(2.0*Vt)), -- (#/cm3) K10_ /(3.20438E-19*Na*11.7*8.854215E-14)*1.0E-8/Cox, -- SqRt[2q*Esi*Na]/Cox (V^0.5) Le_ Lm - Xj2+ dL+ dLComp, -- (micron) We_ Wm + dW + dWComp -- (micron) ] }; mos1: Mos1[| Cox_ 3.9*8.854215E-14/Tox, -- (F/cm/A)=(F/micron2) TDegKBy300_ TDegK/300.0, -- T/300 () Vt_ 8.61707E-5*TDegK -- (ev) ] }; mos0: Mos0[| TDegK_ TDegC+273.16] }; Diffusion: circuit[cathode, anode| a_ 0, p_ 0, Cj_ 0, Cjm_ 0, Pb_0.866, TDegC_ 25, Jmax_ 100u, Jo_ 5p] asserts[a>=0, p>=0, Cj>=0, Cjm>=0, TDegC>-75, Jmax>Jo, Jo>0]= { Dif: circuit[| Vt] asserts[Pb>Vt]= { DModel: model_ acDiode[cathode, anode| Cj*a+Cjm*p, -- zero-bias capacitance of diode Pb, -- junction built-in voltage (v) Vt, -- kT/q Jo*a, -- Io (Pb/Vt) MIN \(Jmax/Jo) ]; C: capacitor[cathode, anode] _ DModel[0]; -- voltage dependent capacitance I: current[cathode, anode] _ DModel[1] -- leakage current }; dif: Dif[| Vt_ 8.61707E-5*(TDegC+273.16)] }; Pulse: circuit[output| amplitude_ 5V, offset_ 0, period_ 10ns, width_ 5ns, tRise_ 2ns, tFall_ 2ns, tDelay_ 0] asserts[width0]= { pg: voltage[output, Gnd]_ StepGen[ OnLevel, OffLevel, tRise, tDelay] }; (635)\1927b73B81b71B3501b95B