|
|
|
@ -46,7 +46,6 @@ double dRs_dvg, dRd_dvg, dRs_dvb, dRd_dvb; |
|
|
|
double dT0_dvg, dT1_dvb, dT3_dvg, dT3_dvb; |
|
|
|
double vses, vdes, vdedo, delvses, delvded, delvdes; |
|
|
|
double Isestot, cseshat, Idedtot, cdedhat; |
|
|
|
double tol0, tol1, tol2, tol3, tol4, tol5, tol6; |
|
|
|
|
|
|
|
double geltd, gcrg, gcrgg, gcrgd, gcrgs, gcrgb, ceqgcrg; |
|
|
|
double vges, vgms, vgedo, vgmdo, vged, vgmd, delvged, delvgmd; |
|
|
|
@ -60,7 +59,7 @@ double delvdbs, delvdbd, delvsbs; |
|
|
|
double delvbd_jct, delvbs_jct, vbs_jct, vbd_jct; |
|
|
|
|
|
|
|
double SourceSatCurrent, DrainSatCurrent; |
|
|
|
double ag0, qgd, qgs, qgb, von, cbhat, VgstNVt, ExpVgst; |
|
|
|
double ag0, qgb, von, cbhat, VgstNVt, ExpVgst; |
|
|
|
double ceqqb, ceqqd, ceqqg, ceqqjd, ceqqjs, ceq, geq; |
|
|
|
double cdrain, cdhat, ceqdrn, ceqbd, ceqbs, ceqjd, ceqjs, gjbd, gjbs; |
|
|
|
double czbd, czbdsw, czbdswg, czbs, czbssw, czbsswg, evbd, evbs, arg, sarg; |
|
|
|
@ -80,41 +79,39 @@ double Igc, dIgc_dVg, dIgc_dVd, dIgc_dVb; |
|
|
|
double Igcs, dIgcs_dVg, dIgcs_dVd, dIgcs_dVb; |
|
|
|
double Igcd, dIgcd_dVg, dIgcd_dVd, dIgcd_dVb; |
|
|
|
double Igs, dIgs_dVg, dIgs_dVs, Igd, dIgd_dVg, dIgd_dVd; |
|
|
|
double Igbacc, dIgbacc_dVg, dIgbacc_dVd, dIgbacc_dVb; |
|
|
|
double Igbacc, dIgbacc_dVg, dIgbacc_dVb; |
|
|
|
double Igbinv, dIgbinv_dVg, dIgbinv_dVd, dIgbinv_dVb; |
|
|
|
double Igb, dIgb_dVg, dIgb_dVd, dIgb_dVb; |
|
|
|
double Istoteq, gIstotg, gIstotd, gIstots, gIstotb; |
|
|
|
double Idtoteq, gIdtotg, gIdtotd, gIdtots, gIdtotb; |
|
|
|
double Ibtoteq, gIbtotg, gIbtotd, gIbtots, gIbtotb; |
|
|
|
double Igtoteq, gIgtotg, gIgtotd, gIgtots, gIgtotb; |
|
|
|
double Igstot, cgshat, Igdtot, cgdhat, Igbtot, cgbhat; |
|
|
|
double Vgs_eff, Vfb, dVbs_dVb, Vth_NarrowW; |
|
|
|
double Vgs_eff, Vfb, Vth_NarrowW; |
|
|
|
double Phis, dPhis_dVb, sqrtPhis, dsqrtPhis_dVb, Vth, dVth_dVb, dVth_dVd; |
|
|
|
double Vgst, dVgst_dVg, dVgst_dVb, dVgs_eff_dVg, Nvtms, Nvtmd; |
|
|
|
double Vgdt, Vgsaddvth, Vgsaddvth2, Vgsaddvth1o3, Vtm; |
|
|
|
double Vtm; |
|
|
|
double n, dn_dVb, dn_dVd, voffcv, noff, dnoff_dVd, dnoff_dVb; |
|
|
|
double ExpArg, ExpArg1, V0, CoxWLcen, QovCox, LINK; |
|
|
|
double V0, CoxWLcen, QovCox, LINK; |
|
|
|
double DeltaPhi, dDeltaPhi_dVg; |
|
|
|
double Cox, Tox, Tcen, dTcen_dVg, dTcen_dVd, dTcen_dVb; |
|
|
|
double Ccen, Coxeff, dCoxeff_dVd, dCoxeff_dVg, dCoxeff_dVb; |
|
|
|
double Denomi, dDenomi_dVg, dDenomi_dVd, dDenomi_dVb; |
|
|
|
double ueff, dueff_dVg, dueff_dVd, dueff_dVb; |
|
|
|
double Esat, dEsat_dVg, dEsat_dVd, dEsat_dVb, Vdsat, Vdsat0; |
|
|
|
double Esat, Vdsat; |
|
|
|
double EsatL, dEsatL_dVg, dEsatL_dVd, dEsatL_dVb; |
|
|
|
double Ilimit, Iexp, dIexp_dVg, dIexp_dVd, dIexp_dVb; |
|
|
|
double dVdsat_dVg, dVdsat_dVb, dVdsat_dVd, Vasat, dAlphaz_dVg, dAlphaz_dVb; |
|
|
|
double dVasat_dVg, dVasat_dVb, dVasat_dVd, Va, Va2, dVa_dVd, dVa_dVg, dVa_dVb; |
|
|
|
double dVasat_dVg, dVasat_dVb, dVasat_dVd, Va, dVa_dVd, dVa_dVg, dVa_dVb; |
|
|
|
double Vbseff, dVbseff_dVb, VbseffCV, dVbseffCV_dVb; |
|
|
|
double Arg1, Arg2, One_Third_CoxWL, Two_Third_CoxWL, Alphaz, CoxWL; |
|
|
|
double Arg1, One_Third_CoxWL, Two_Third_CoxWL, Alphaz, CoxWL; |
|
|
|
double T0, dT0_dVg, dT0_dVd, dT0_dVb; |
|
|
|
double T1, dT1_dVg, dT1_dVd, dT1_dVb; |
|
|
|
double T2, dT2_dVg, dT2_dVd, dT2_dVb; |
|
|
|
double T3, dT3_dVg, dT3_dVd, dT3_dVb; |
|
|
|
double T4, dT4_dVg, dT4_dVd, dT4_dVb; |
|
|
|
double T5, dT5_dVg, dT5_dVd, dT5_dVb; |
|
|
|
double T4, dT4_dVd; |
|
|
|
double T5, dT5_dVb; |
|
|
|
double T6, dT6_dVg, dT6_dVd, dT6_dVb; |
|
|
|
double T7, dT7_dVg, dT7_dVd, dT7_dVb; |
|
|
|
double T8, dT8_dVg, dT8_dVd, dT8_dVb; |
|
|
|
double T7, dT7_dVg; |
|
|
|
double T8, dT8_dVd; |
|
|
|
double T9, dT9_dVg, dT9_dVd, dT9_dVb; |
|
|
|
double T10, dT10_dVg, dT10_dVb, dT10_dVd; |
|
|
|
double T11, T12; |
|
|
|
@ -122,19 +119,19 @@ double tmp, Abulk, dAbulk_dVb, Abulk0, dAbulk0_dVb; |
|
|
|
double Cclm, dCclm_dVg, dCclm_dVd, dCclm_dVb; |
|
|
|
double FP, dFP_dVg, PvagTerm, dPvagTerm_dVg, dPvagTerm_dVd, dPvagTerm_dVb; |
|
|
|
double VADITS, dVADITS_dVg, dVADITS_dVd; |
|
|
|
double Lpe_Vb, DITS_Sft, dDITS_Sft_dVb, dDITS_Sft_dVd; |
|
|
|
double Lpe_Vb, dDITS_Sft_dVb, dDITS_Sft_dVd; |
|
|
|
double VACLM, dVACLM_dVg, dVACLM_dVd, dVACLM_dVb; |
|
|
|
double VADIBL, dVADIBL_dVg, dVADIBL_dVd, dVADIBL_dVb; |
|
|
|
double Xdep, dXdep_dVb, lt1, dlt1_dVb, ltw, dltw_dVb, Delt_vth, dDelt_vth_dVb; |
|
|
|
double Theta0, dTheta0_dVb, Theta1, dTheta1_dVb; |
|
|
|
double Thetarout, dThetarout_dVb, TempRatio, tmp1, tmp2, tmp3, tmp4; |
|
|
|
double DIBL_Sft, dDIBL_Sft_dVd, DIBL_fact, Lambda, dLambda_dVg; |
|
|
|
double Theta0, dTheta0_dVb; |
|
|
|
double TempRatio, tmp1, tmp2, tmp3, tmp4; |
|
|
|
double DIBL_Sft, dDIBL_Sft_dVd, Lambda, dLambda_dVg; |
|
|
|
double Idtot, Ibtot, a1, ScalingFactor; |
|
|
|
|
|
|
|
double Vgsteff, dVgsteff_dVg, dVgsteff_dVd, dVgsteff_dVb; |
|
|
|
double Vdseff, dVdseff_dVg, dVdseff_dVd, dVdseff_dVb; |
|
|
|
double VdseffCV, dVdseffCV_dVg, dVdseffCV_dVd, dVdseffCV_dVb; |
|
|
|
double diffVds, diffVdsCV, dAbulk_dVg; |
|
|
|
double diffVds, dAbulk_dVg; |
|
|
|
double beta, dbeta_dVg, dbeta_dVd, dbeta_dVb; |
|
|
|
double gche, dgche_dVg, dgche_dVd, dgche_dVb; |
|
|
|
double fgche1, dfgche1_dVg, dfgche1_dVd, dfgche1_dVb; |
|
|
|
@ -146,7 +143,7 @@ double Isub, Gbd, Gbg, Gbb; |
|
|
|
double VASCBE, dVASCBE_dVg, dVASCBE_dVd, dVASCBE_dVb; |
|
|
|
double CoxeffWovL; |
|
|
|
double Rds, dRds_dVg, dRds_dVb, WVCox, WVCoxRds; |
|
|
|
double Vgst2Vtm, VdsatCV, dVdsatCV_dVd, dVdsatCV_dVg, dVdsatCV_dVb; |
|
|
|
double Vgst2Vtm, VdsatCV; |
|
|
|
double Leff, Weff, dWeff_dVg, dWeff_dVb; |
|
|
|
double AbulkCV, dAbulkCV_dVb; |
|
|
|
double qcheq, qdef, gqdef, cqdef, cqcheq; |
|
|
|
@ -156,10 +153,10 @@ double ddxpart_dVd, ddxpart_dVg, ddxpart_dVb, ddxpart_dVs; |
|
|
|
double dsxpart_dVd, dsxpart_dVg, dsxpart_dVb, dsxpart_dVs; |
|
|
|
double gbspsp, gbbdp, gbbsp, gbspg, gbspb, gbspdp; |
|
|
|
double gbdpdp, gbdpg, gbdpb, gbdpsp; |
|
|
|
double qgdo, qgso, cgdo, cgso, cqbs, cqbd; |
|
|
|
double Cgg, Cgd, Cgs, Cgb, Cdg, Cdd, Cds, Cdb, Qg, Qd; |
|
|
|
double Csg, Csd, Css, Csb, Cbg, Cbd, Cbs, Cbb, Qs, Qb; |
|
|
|
double Cgg1, Cgb1, Cgd1, Cbg1, Cbb1, Cbd1, Csg1, Csd1, Csb1, Qac0, Qsub0; |
|
|
|
double qgdo, qgso, cgdo, cgso; |
|
|
|
double Cgg, Cgd, Cgb, Cdg, Cdd, Cds; |
|
|
|
double Csg, Csd, Css, Csb, Cbg, Cbd, Cbb; |
|
|
|
double Cgg1, Cgb1, Cgd1, Cbg1, Cbb1, Cbd1, Qac0, Qsub0; |
|
|
|
double dQac0_dVg, dQac0_dVb, dQsub0_dVg, dQsub0_dVd, dQsub0_dVb; |
|
|
|
|
|
|
|
struct bsim4SizeDependParam *pParam; |
|
|
|
|