diff --git a/src/spicelib/devices/bsim3/b3acld.c b/src/spicelib/devices/bsim3/b3acld.c index 3cb060352..cf829fec7 100644 --- a/src/spicelib/devices/bsim3/b3acld.c +++ b/src/spicelib/devices/bsim3/b3acld.c @@ -26,7 +26,7 @@ double xcggb, xcgdb, xcgsb, xcbgb, xcbdb, xcbsb, xcddb, xcssb, xcdgb; double gdpr, gspr, gds, gbd, gbs, capbd, capbs, xcsgb, xcdsb, xcsdb; double cggb, cgdb, cgsb, cbgb, cbdb, cbsb, cddb, cdgb, cdsb, omega; double GSoverlapCap, GDoverlapCap, GBoverlapCap, FwdSum, RevSum, Gm, Gmbs; -double dxpart, sxpart, xgtg, xgtd, xgts, xgtb, xcqgb, xcqdb, xcqsb, xcqbb; +double dxpart, sxpart, xgtg, xgtd, xgts, xgtb, xcqgb=0.0, xcqdb=0.0, xcqsb=0.0, xcqbb=0.0; double gbspsp, gbbdp, gbbsp, gbspg, gbspb; double gbspdp, gbdpdp, gbdpg, gbdpb, gbdpsp; double ddxpart_dVd, ddxpart_dVg, ddxpart_dVb, ddxpart_dVs; diff --git a/src/spicelib/devices/bsim3/b3ld.c b/src/spicelib/devices/bsim3/b3ld.c index 888f1b7f2..03b0eaa15 100644 --- a/src/spicelib/devices/bsim3/b3ld.c +++ b/src/spicelib/devices/bsim3/b3ld.c @@ -51,7 +51,7 @@ double tol; #endif double gcsgb, gcssb, MJ, MJSW, MJSWG; double vbd, vbs, vds, vgb, vgd, vgs, vgdo, xfact; -double qgate, qbulk, qdrn, qsrc, qinoi, cqgate, cqbulk, cqdrn; +double qgate=0.0, qbulk=0.0, qdrn=0.0, qsrc, qinoi, cqgate, cqbulk, cqdrn; double Vds, Vgs, Vbs, Gmbs, FwdSum, RevSum; double Vgs_eff, Vfb; double Phis, dPhis_dVb, sqrtPhis, dsqrtPhis_dVb, Vth, dVth_dVb, dVth_dVd; @@ -117,8 +117,8 @@ double Leff, Weff, dWeff_dVg, dWeff_dVb; double AbulkCV, dAbulkCV_dVb; double qgdo, qgso, cgdo, cgso; -double qcheq, qdef, gqdef, cqdef, cqcheq, gtau_diff, gtau_drift; -double gcqdb,gcqsb,gcqgb,gcqbb; +double qcheq=0.0, qdef, gqdef=0.0, cqdef, cqcheq, gtau_diff, gtau_drift; +double gcqdb=0.0,gcqsb=0.0,gcqgb=0.0,gcqbb=0.0; double dxpart, sxpart, ggtg, ggtd, ggts, ggtb; double ddxpart_dVd, ddxpart_dVg, ddxpart_dVb, ddxpart_dVs; double dsxpart_dVd, dsxpart_dVg, dsxpart_dVb, dsxpart_dVs; diff --git a/src/spicelib/devices/bsim3/b3pzld.c b/src/spicelib/devices/bsim3/b3pzld.c index 9d4d254c7..08ba37fec 100644 --- a/src/spicelib/devices/bsim3/b3pzld.c +++ b/src/spicelib/devices/bsim3/b3pzld.c @@ -28,7 +28,7 @@ double xcdgb, xcddb, xcdsb, xcdbb, xcsgb, xcsdb, xcssb, xcsbb; double gdpr, gspr, gds, gbd, gbs, capbd, capbs, FwdSum, RevSum, Gm, Gmbs; double cggb, cgdb, cgsb, cbgb, cbdb, cbsb, cddb, cdgb, cdsb; double GSoverlapCap, GDoverlapCap, GBoverlapCap; -double dxpart, sxpart, xgtg, xgtd, xgts, xgtb, xcqgb, xcqdb, xcqsb, xcqbb; +double dxpart, sxpart, xgtg, xgtd, xgts, xgtb, xcqgb=0.0, xcqdb=0.0, xcqsb=0.0, xcqbb=0.0; double gbspsp, gbbdp, gbbsp, gbspg, gbspb; double gbspdp, gbdpdp, gbdpg, gbdpb, gbdpsp; double ddxpart_dVd, ddxpart_dVg, ddxpart_dVb, ddxpart_dVs; diff --git a/src/spicelib/devices/bsim3soi/b4soiacld.c b/src/spicelib/devices/bsim3soi/b4soiacld.c index cdeeb9f12..3f66d2321 100644 --- a/src/spicelib/devices/bsim3soi/b4soiacld.c +++ b/src/spicelib/devices/bsim3soi/b4soiacld.c @@ -47,7 +47,7 @@ double xcedb, xcesb; double Gme, gddpe, gsspe, gbbe, gTte; /* v3.1 added variables for RF */ -double T0; +double T0=0.0; double gcrgd, gcrgg, gcrgs, gcrgb, gcrg; double xcgmgmb, xcgmdb, xcgmsb, xcgmeb, xcdgmb, xcsgmb, xcegmb; double geltd; diff --git a/src/spicelib/devices/bsim3soi/b4soild.c b/src/spicelib/devices/bsim3soi/b4soild.c index 44d0687b9..8f41aa642 100644 --- a/src/spicelib/devices/bsim3soi/b4soild.c +++ b/src/spicelib/devices/bsim3soi/b4soild.c @@ -92,7 +92,7 @@ register B4SOIinstance *here; register int selfheat; double Gmin; -double ag0, qgd, qgs, von, cbhat, VgstNVt, ExpVgst; +double ag0, qgd, qgs, von, cbhat, VgstNVt, ExpVgst=0.0; double cdhat, cdreq, ceqbd, ceqbs, ceqqb, ceqqd, ceqqg, ceq, geq; double arg; double delvbd, delvbs, delvds, delvgd, delvgs; @@ -110,7 +110,7 @@ double gcTt, gTtg, gTtb, gTtdp, gTtt, gTtsp; double vbd, vbs, vds, vgb, vgd, vgs, vgdo, xfact; double vg, vd, vs, vp, ve, vb; double Vds, Vgs, Vbs, Gmbs, FwdSum, RevSum; -double Vgs_eff, Vfb, dVfb_dVb, dVfb_dVd, dVfb_dT; +double Vgs_eff, Vfb=0.0, dVfb_dVb, dVfb_dVd, dVfb_dT; double Phis, dPhis_dVb, sqrtPhis, dsqrtPhis_dVb, Vth, dVth_dVb, dVth_dVd, dVth_dT; double Vgst, dVgst_dVg, dVgst_dVb, dVgs_eff_dVg; double n, dn_dVb, Vtm; @@ -121,15 +121,15 @@ double EsatL, dEsatL_dVg, dEsatL_dVd, dEsatL_dVb, dEsatL_dT; double dVdsat_dVg, dVdsat_dVb, dVdsat_dVd, dVdsat_dT, Vasat; double dVasat_dVg, dVasat_dVb, dVasat_dVd, dVasat_dT; double Va, dVa_dVd, dVa_dVg, dVa_dVb, dVa_dT; -double Vbseff, dVbseff_dVb; +double Vbseff=0.0, dVbseff_dVb; double CoxWL; -double T0, dT0_dVg, dT0_dVd, dT0_dVb, dT0_dT; +double T0=0.0, dT0_dVg, dT0_dVd, dT0_dVb, dT0_dT; double T1, dT1_dVg, dT1_dVd, dT1_dVb, dT1_dT; double T2, dT2_dVg, dT2_dVd, dT2_dVb, dT2_dT; -double T3, dT3_dVg, dT3_dVd, dT3_dVb, dT3_dT; +double T3, dT3_dVg, dT3_dVd, dT3_dVb, dT3_dT=0.0; double T4, dT4_dVd, dT4_dVb, dT4_dT; -double T5, dT5_dVg, dT5_dVd, dT5_dVb, dT5_dT; -double T6, dT6_dVg, dT6_dVd, dT6_dVb, dT6_dT; +double T5, dT5_dVg, dT5_dVd, dT5_dVb, dT5_dT=0.0; +double T6, dT6_dVg, dT6_dVd, dT6_dVb, dT6_dT=0.0; double T7; double T8, dT8_dVd; double T9, dT9_dVd; @@ -166,36 +166,36 @@ double qgdo, qgso, cgdo, cgso; double dxpart, sxpart; struct b4soiSizeDependParam *pParam; -int ByPass, Check, ChargeComputationNeeded, error; +int ByPass, Check, ChargeComputationNeeded=0, error; double gbbsp, gbbdp, gbbg, gbbb, gbbp, gbbT; double gddpsp, gddpdp, gddpg, gddpb, gddpT; double gsspsp, gsspdp, gsspg, gsspb, gsspT; -double Gbpbs, Gbpps; -double ves, ved, veb, vge, delves, vedo, delved; +double Gbpbs=0.0, Gbpps; +double ves, ved, veb, vge=0.0, delves, vedo, delved; double vps, vpd, Vps, delvps; double Vbd, Ves, Vesfb, DeltVthtemp, dDeltVthtemp_dT; double Vbp, dVbp_dVb; double DeltVthw, dDeltVthw_dVb, dDeltVthw_dT; double Gm0, Gds0, Gmb0, GmT0, Gmc, GmT; double dDIBL_Sft_dVb; -double Igidl, Ggidld, Ggidlg, Ggidlb; -double Gjsd, Gjsb, GjsT, Gjdd, Gjdb, GjdT; -double Ibp, Iii, Giid, Giig, Giib, GiiT, Gcd, Gcb, GcT, ceqbody, ceqbodcon; +double Igidl, Ggidld=0.0, Ggidlg, Ggidlb=0.0; +double Gjsd, Gjsb=0.0, GjsT, Gjdd, Gjdb=0.0, GjdT; +double Ibp, Iii, Giid=0.0, Giig, Giib=0.0, GiiT, Gcd, Gcb, GcT, ceqbody, ceqbodcon; double gppb, gppp; double delTemp, deldelTemp, Temp; double ceqth, ceqqth; double K1; -double qjs, gcjsbs, gcjsT; -double qjd, gcjdbs, gcjdds, gcjdT; +double qjs=0.0, gcjsbs=0.0, gcjsT; +double qjd=0.0, gcjdbs=0.0, gcjdds=0.0, gcjdT; double qge; double ceqqe; double ni, Eg, Cbox, CboxWL; double cjsbs; double dVfbeff_dVrg; -double qinv, qgate, qbody, qdrn, qsrc, qsub, cqgate, cqbody, cqdrn, cqsub, cqtemp; +double qinv, qgate=0.0, qbody=0.0, qdrn=0.0, qsrc, qsub=0.0, cqgate, cqbody, cqdrn, cqsub, cqtemp; double Cgg, Cgd, Cgb; -double Csg, Csd, Csb, Cbg, Cbd, Cbb; +double Csg, Csd, Csb, Cbg=0.0, Cbd=0.0, Cbb=0.0; double Cgg1, Cgb1, Cgd1, Cbg1, Cbb1, Cbd1, Csg1, Csd1, Csb1; double Vdsatii; double Ibs1 ,dIbs1_dVb ,dIbs1_dT; @@ -211,8 +211,8 @@ double Ic ,dIc_dVb ,dIc_dVd; double Ibs; double Ibd; double Denomi ,dDenomi_dVg ,dDenomi_dVd ,dDenomi_dVb ,dDenomi_dT; -double Qsub0 ,dQsub0_dVg ,dQsub0_dVb ,dQsub0_dVd ; -double Qac0 ,dQac0_dVb ,dQac0_dVd; +double Qsub0=0.0 ,dQsub0_dVg ,dQsub0_dVb ,dQsub0_dVd ; +double Qac0=0.0, dQac0_dVb, dQac0_dVd; double Qe1 , dQe1_dVb, dQe1_dVe, dQe1_dT; double Ce1b ,Ce1e, Ce1T; double dQac0_dVrg, dQsub0_dVrg; @@ -223,9 +223,9 @@ double jdifs, jdifd, djdifs_dT, djdifd_dT; double jbjts, jbjtd, djbjts_dT, djbjtd_dT; double jrecs, jrecd, djrecs_dT, djrecd_dT; double jtuns, jtund, djtuns_dT, djtund_dT; -double rds0, ua, ub, uc; +double rds0=0.0, ua, ub, uc; double dvbi_dT, dvfbb_dT, du0temp_dT; -double dvsattemp_dT, drds0_dT, dua_dT, dub_dT, duc_dT, dni_dT, dVtm_dT; +double dvsattemp_dT, drds0_dT=0.0, dua_dT, dub_dT, duc_dT, dni_dT, dVtm_dT; double dVfbeff_dT, dQac0_dT, dQsub0_dT; double CbT, CsT, CgT; double rho, rho_ref, ku0temp; /* v4.0 */ @@ -245,14 +245,14 @@ double NVtmf, NVtmr, dNVtmf_dT, dNVtmr_dT; double TempRatioMinus1; double Ahlis, dAhlis_dT, Ahlid, dAhlid_dT ; double WsTsi, WdTsi; -double dPhiBSWG_dT, dcjsbs_dT, darg_dT, ddT3_dVb_dT; +double dPhiBSWG_dT, dcjsbs_dT, darg_dT=0.0, ddT3_dVb_dT=0.0; double dT7_dT, dT0_dT7, dT1_dT7, dT2_dT7; double CoxWLb, CoxWLcenb; double ExpVbsNVtm, dExpVbsNVtm_dVb, dExpVbsNVtm_dT; double ExpVbdNVtm, dExpVbdNVtm_dVb, dExpVbdNVtm_dVd, dExpVbdNVtm_dT; double Ien, dIen_dT, Iendif, dIendif_dT; -double Ibsdif, dIbsdif_dVb, dIbsdif_dT; -double Ibddif, dIbddif_dVb, dIbddif_dVd, dIbddif_dT; +double Ibsdif=0.0, dIbsdif_dVb=0.0, dIbsdif_dT=0.0; +double Ibddif=0.0, dIbddif_dVb=0.0, dIbddif_dVd=0.0, dIbddif_dT=0.0; double Ehlis, dEhlis_dVb, dEhlis_dT; double EhlisFactor, dEhlisFactor_dVb, dEhlisFactor_dT; double Ehlid, dEhlid_dVb, dEhlid_dVd, dEhlid_dT; @@ -270,7 +270,7 @@ double T3zb, lt1zb, ltwzb, Theta0zb; double Delt_vthzb, dDelt_vthzb_dT; double DeltVthwzb, dDeltVthwzb_dT; double DeltVthtempzb, dDeltVthtempzb_dT; -double Vthzb, dVthzb_dT, Vfbzb, dVfbzb_dT; +double Vthzb=0.0, dVthzb_dT=0.0, Vfbzb=0.0, dVfbzb_dT; /* v3.2 */ double noff, dnoff_dVd, dnoff_dVb; @@ -280,11 +280,11 @@ double vgmb; double geltd, gcrg, gcrgg, gcrgd, gcrgs, gcrgb, ceqgcrg; double vges, vgms, vgedo, vgmdo, vged, vgmd, delvged, delvgmd; double delvges, delvgms, vgme; -double gcgmgmb, gcgmdb, gcgmsb, gcdgmb, gcsgmb; -double gcgmeb, gcegmb, qgme, qgmid, ceqqgmid; +double gcgmgmb=0.0, gcgmdb, gcgmsb, gcdgmb, gcsgmb; +double gcgmeb, gcegmb, qgme, qgmid=0.0, ceqqgmid; double gcgbb; double vgge, vggm; -double wdiosCV_NoSwap, wdiodCV_NoSwap; +double wdiosCV_NoSwap=0.0, wdiodCV_NoSwap=0.0; /* v3.0 */ double Igc, dIgc_dVg, dIgc_dVd, dIgc_dVb, Igs, dIgs_dVg, dIgs_dVs, Igd, dIgd_dVg, dIgd_dVd; @@ -298,7 +298,7 @@ double gIgtotg, gIgtotd, gIgtotb, gIgtots, Igtoteq; /* v3.0 */ double Vbsitf, dVbsitf_dVg, dVbsitf_dVd, dVbsitf_dVb, dVbsitf_dVe, dVbsitf_dT; double dIgb1_dVe, gige, Giie, dT0_dVe, dRatio_dVe, dVdiff_dVe; -double dT1_dVe, dT5_dVe, dIgb_dVe, dVox_dVe, dVoxdepinv_dVe, dVaux_dVe; +double dT1_dVe, dT5_dVe, dIgb_dVe, dVox_dVe, dVoxdepinv_dVe=0.0, dVaux_dVe; double Gme, gTte, gbbe, gddpe, gsspe; double Vbs0, dVbs0_dVg, dVbs0_dVd, dVbs0_dVe, dVbs0_dT; double Vbs0mos, dVbs0mos_dVe, dVbs0mos_dT; @@ -314,14 +314,14 @@ double dT2_dVe, dVbsh_dVg, dVbsh_dVd, dVbsh_dVe, dVbsh_dT; double dVgsteff_dVe, dVbseff_dVg, dVbseff_dVd, dVbseff_dVe, dVbseff_dT; /* v2.2 release */ -double Vgb, dVgb_dVg, dVgb_dVb, Vox, dVox_dVg, dVox_dVd, dVox_dVb; +double Vgb=0.0, dVgb_dVg=0.0, dVgb_dVb=0.0, Vox, dVox_dVg, dVox_dVd, dVox_dVb; double OxideRatio, Vaux, dVaux_dVg, dVaux_dVd, dVaux_dVb; double Igb, dIgb_dVg, dIgb_dVd, dIgb_dVb; double ceqgate; double dT0_dVox, Voxeff, dVoxeff_dVox; -double dVox_dT, dVaux_dT, dIgb_dT; -double Voxacc, dVoxacc_dVg, dVoxacc_dVd, dVoxacc_dVb; -double Voxdepinv, dVoxdepinv_dVg, dVoxdepinv_dVb, dVoxdepinv_dVd, dVoxdepinv_dT; +double dVox_dT, dVaux_dT=0.0, dIgb_dT; +double Voxacc=0.0, dVoxacc_dVg=0.0, dVoxacc_dVd=0.0, dVoxacc_dVb=0.0; +double Voxdepinv=0.0, dVoxdepinv_dVg=0.0, dVoxdepinv_dVb=0.0, dVoxdepinv_dVd=0.0, dVoxdepinv_dT=0.0; double Igb1, dIgb1_dVg, dIgb1_dVd, dIgb1_dVb, dIgb1_dT; double Igb2, dIgb2_dVg, dIgb2_dVd, dIgb2_dVb, dIgb2_dT; double gigs, gigd, gigb, gigg; @@ -330,20 +330,20 @@ double gigT; /* v4.0 */ double IdlovVdseff, dIdlovVdseff_dVg, dIdlovVdseff_dVd, dIdlovVdseff_dVb; double IdovVds; -double vdbs, vsbs, vdbd, vsbd, vsbdo, vbs_jct, vbd_jct; +double vdbs, vsbs, vdbd=0.0, vsbd, vsbdo, vbs_jct, vbd_jct; double Vsbs, Vdbd, Vdbs; double delvdbd, delvsbs, delvdbs, delvbd_jct, delvbs_jct; -double gcdbdb, gcsbsb, gcsbb, gcdbb; -double ceqqjd, ceqqjs; +double gcdbdb, gcsbsb, gcsbb=0.0, gcdbb=0.0; +double ceqqjd=0.0, ceqqjs=0.0; double Lpe_Vb; /* v4.0 for Vth */ double DITS_Sft, dDITS_Sft_dVb, dDITS_Sft_dVd, dDITS_Sft_dT; double FP, dFP_dT, dFP_dVg; double VADITS, dVADITS_dVg, dVADITS_dVd, dVADITS_dT; /* for DITS */ double Iii_Igidl, Giigidl_b, Giigidl_d, Giigidl_g, Giigidl_e, Giigidl_T; double gjsdb; -double Idbdp, Isbsp, cdbdp, csbsp, gcjdbdp, gcjsbsp, GGjdb, GGjsb; +double Idbdp=0.0, Isbsp=0.0, cdbdp, csbsp, gcjdbdp, gcjsbsp, GGjdb, GGjsb; double vdes, vses, vdedo, delvdes, delvses, delvded, Isestot, cseshat, Idedtot, cdedhat; -double PowWeffWr, rd0, rs0, rdwmin, rswmin, drs0_dT, drd0_dT, drswmin_dT, +double PowWeffWr, rd0, rs0=0.0, rdwmin, rswmin=0.0, drs0_dT, drd0_dT, drswmin_dT, drdwmin_dT, Rd, dRd_dVg, dRd_dVb, dRd_dT, Rs, dRs_dVg, dRs_dVb, dRs_dT; double dgstot_dvd, dgstot_dvg, dgstot_dvs, dgstot_dvb, dgstot_dve, dgstot_dT; double dgdtot_dvd, dgdtot_dvg, dgdtot_dvs, dgdtot_dvb, dgdtot_dve, dgdtot_dT; diff --git a/src/spicelib/devices/bsim3soi/b4soinoi.c b/src/spicelib/devices/bsim3soi/b4soinoi.c index 77f7b39a7..081d4193f 100644 --- a/src/spicelib/devices/bsim3soi/b4soinoi.c +++ b/src/spicelib/devices/bsim3soi/b4soinoi.c @@ -108,7 +108,7 @@ double T0, T1, T2, T5, T10, T11; double Ssi, Swi; /* v3.2 */ -double npart_theta, npart_beta, igsquare, esat; +double npart_theta, npart_beta, igsquare, esat=0.0; /* v3.2 end */ double gspr, gdpr; diff --git a/src/spicelib/devices/bsim3soi/b4soitemp.c b/src/spicelib/devices/bsim3soi/b4soitemp.c index f49e9a8c9..49214b0e4 100644 --- a/src/spicelib/devices/bsim3soi/b4soitemp.c +++ b/src/spicelib/devices/bsim3soi/b4soitemp.c @@ -49,11 +49,11 @@ register B4SOImodel *model = (B4SOImodel*) inModel; register B4SOIinstance *here; struct b4soiSizeDependParam *pSizeDependParamKnot, *pLastKnot, *pParam; double tmp, tmp1, tmp2, Eg, Eg0, ni, T0, T1, T2, T3, T4, T5; -double Ldrn, Wdrn; +double Ldrn=0.0, Wdrn; double Temp, TempRatio, Inv_L, Inv_W, Inv_LW, Vtm0, Tnom, TRatio; double SDphi, SDgamma; double Inv_saref, Inv_sbref, Inv_sa, Inv_sb, rho, dvth0_lod; -double W_tmp, Inv_ODeff, OD_offset, dk2_lod, deta0_lod, kvsat; +double W_tmp, Inv_ODeff, OD_offset, dk2_lod, deta0_lod, kvsat=0.0; int Size_Not_Found, i; double PowWeffWr, T10; /*v4.0 */ diff --git a/src/spicelib/devices/bsim4/b4temp.c b/src/spicelib/devices/bsim4/b4temp.c index 9239bd31a..72714f053 100644 --- a/src/spicelib/devices/bsim4/b4temp.c +++ b/src/spicelib/devices/bsim4/b4temp.c @@ -77,7 +77,7 @@ BSIM4model *model = (BSIM4model*) inModel; BSIM4instance *here; struct bsim4SizeDependParam *pSizeDependParamKnot, *pLastKnot, *pParam; double tmp, tmp1, tmp2, tmp3, Eg, Eg0, ni, epssub; -double T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, Lnew, Wnew; +double T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, Lnew=0.0, Wnew; double delTemp, Temp, TRatio, Inv_L, Inv_W, Inv_LW, Vtm0, Tnom; double dumPs, dumPd, dumAs, dumAd, PowWeffWr; double DMCGeff, DMCIeff, DMDGeff; diff --git a/src/spicelib/devices/bsim4v2/b4v2acld.c b/src/spicelib/devices/bsim4v2/b4v2acld.c index 814124639..2f80db592 100644 --- a/src/spicelib/devices/bsim4v2/b4v2acld.c +++ b/src/spicelib/devices/bsim4v2/b4v2acld.c @@ -31,8 +31,8 @@ double xcggbr, xcgdbr, xcgsbr, xcgbbr, xcggbi, xcgdbi, xcgsbi, xcgbbi; double Cggr, Cgdr, Cgsr, Cgbr, Cggi, Cgdi, Cgsi, Cgbi; double xcddbr, xcdgbr, xcdsbr, xcdbbr, xcsdbr, xcsgbr, xcssbr, xcsbbr; double xcddbi, xcdgbi, xcdsbi, xcdbbi, xcsdbi, xcsgbi, xcssbi, xcsbbi; -double xcdbdb, xcsbsb, xcgmgmb, xcgmdb, xcgmsb, xcdgmb, xcsgmb; -double xcgmbb, xcbgmb; +double xcdbdb, xcsbsb=0.0, xcgmgmb=0.0, xcgmdb=0.0, xcgmsb=0.0, xcdgmb, xcsgmb; +double xcgmbb=0.0, xcbgmb; double capbd, capbs, omega; double gstot, gstotd, gstotg, gstots, gstotb, gspr; double gdtot, gdtotd, gdtotg, gdtots, gdtotb, gdpr; @@ -43,7 +43,7 @@ double gIgtotg, gIgtotd, gIgtots, gIgtotb; double cgso, cgdo, cgbo; double gbspsp, gbbdp, gbbsp, gbspg, gbspb; double gbspdp, gbdpdp, gbdpg, gbdpb, gbdpsp; -double T0, T1, T2, T3; +double T0=0.0, T1, T2, T3; double Csg, Csd, Css; double Cdgr, Cddr, Cdsr, Cdbr, Csgr, Csdr, Cssr, Csbr; double Cdgi, Cddi, Cdsi, Cdbi, Csgi, Csdi, Cssi, Csbi; diff --git a/src/spicelib/devices/bsim4v2/b4v2geo.c b/src/spicelib/devices/bsim4v2/b4v2geo.c index 2287ca540..d2da18413 100644 --- a/src/spicelib/devices/bsim4v2/b4v2geo.c +++ b/src/spicelib/devices/bsim4v2/b4v2geo.c @@ -159,7 +159,7 @@ int geo, rgeo, minSD, Type; double nf, Weffcj, Rsh, DMCG, DMCI, DMDG; double *Rtot; { -double Rint, Rend = 0.0; +double Rint=0.0, Rend = 0.0; double nuIntD = 0.0, nuEndD = 0.0, nuIntS = 0.0, nuEndS = 0.0; if (geo < 9) /* since geo = 9 and 10 only happen when nf = even */ diff --git a/src/spicelib/devices/bsim4v2/b4v2ld.c b/src/spicelib/devices/bsim4v2/b4v2ld.c index 9d35c2351..ba47f8865 100644 --- a/src/spicelib/devices/bsim4v2/b4v2ld.c +++ b/src/spicelib/devices/bsim4v2/b4v2ld.c @@ -52,8 +52,8 @@ double Isestot, cseshat, Idedtot, cdedhat; double geltd, gcrg, gcrgg, gcrgd, gcrgs, gcrgb, ceqgcrg; double vges, vgms, vgedo, vgmdo, vged, vgmd, delvged, delvgmd; double delvges, delvgms, vgmb; -double gcgmgmb, gcgmdb, gcgmsb, gcdgmb, gcsgmb; -double gcgmbb, gcbgmb, qgmb, qgmid, ceqqgmid; +double gcgmgmb=0.0, gcgmdb=0.0, gcgmsb=0.0, gcdgmb, gcsgmb; +double gcgmbb=0.0, gcbgmb, qgmb, qgmid=0.0, ceqqgmid; double vbd, vbs, vds, vgb, vgd, vgs, vgdo, xfact; double vdbs, vdbd, vsbs, vsbdo, vsbd; @@ -62,20 +62,20 @@ double delvbd_jct, delvbs_jct, vbs_jct, vbd_jct; double SourceSatCurrent, DrainSatCurrent; double ag0, qgb, von, cbhat, VgstNVt, ExpVgst; -double ceqqb, ceqqd, ceqqg, ceqqjd, ceqqjs, ceq, geq; +double ceqqb, ceqqd, ceqqg, ceqqjd=0.0, ceqqjs=0.0, ceq, geq; double cdrain, cdhat, ceqdrn, ceqbd, ceqbs, ceqjd, ceqjs, gjbd, gjbs; double czbd, czbdsw, czbdswg, czbs, czbssw, czbsswg, evbd, evbs, arg, sarg; double delvbd, delvbs, delvds, delvgd, delvgs; double Vfbeff, dVfbeff_dVg, dVfbeff_dVb, V3, V4; double gcbdb, gcbgb, gcbsb, gcddb, gcdgb, gcdsb, gcgdb, gcggb, gcgsb, gcsdb; double gcgbb, gcdbb, gcsbb, gcbbb; -double gcdbdb, gcsbsb; +double gcdbdb, gcsbsb=0.0; double gcsgb, gcssb, MJD, MJSWD, MJSWGD, MJS, MJSWS, MJSWGS; -double qgate, qbulk, qdrn, qsrc, cqgate, cqbody, cqdrn; +double qgate=0.0, qbulk=0.0, qdrn=0.0, qsrc, cqgate, cqbody, cqdrn; double Vdb, Vds, Vgs, Vbs, Gmbs, FwdSum, RevSum; double Igidl, Ggidld, Ggidlg, Ggidlb; -double Voxacc, dVoxacc_dVg, dVoxacc_dVb; -double Voxdepinv, dVoxdepinv_dVg, dVoxdepinv_dVd, dVoxdepinv_dVb; +double Voxacc=0.0, dVoxacc_dVg=0.0, dVoxacc_dVb=0.0; +double Voxdepinv=0.0, dVoxdepinv_dVg=0.0, dVoxdepinv_dVd=0.0, dVoxdepinv_dVb=0.0; double VxNVt, ExpVxNVt, Vaux, dVaux_dVg, dVaux_dVd, dVaux_dVb; double Igc, dIgc_dVg, dIgc_dVd, dIgc_dVb; double Igcs, dIgcs_dVg, dIgcs_dVd, dIgcs_dVb; @@ -90,7 +90,7 @@ 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, Vth_NarrowW; +double Vgs_eff, Vfb=0.0, 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 Vtm; @@ -108,7 +108,7 @@ double dVdsat_dVg, dVdsat_dVb, dVdsat_dVd, Vasat, dAlphaz_dVg, dAlphaz_dVb; double dVasat_dVg, dVasat_dVb, dVasat_dVd, Va, dVa_dVd, dVa_dVg, dVa_dVb; double Vbseff, dVbseff_dVb, VbseffCV, dVbseffCV_dVb; double Arg1, One_Third_CoxWL, Two_Third_CoxWL, Alphaz, CoxWL; -double T0, dT0_dVg, dT0_dVd, dT0_dVb; +double T0=0.0, 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; @@ -151,8 +151,8 @@ double Rds, dRds_dVg, dRds_dVb, WVCox, WVCoxRds; double Vgst2Vtm, VdsatCV; double Leff, Weff, dWeff_dVg, dWeff_dVb; double AbulkCV, dAbulkCV_dVb; -double qcheq, qdef, gqdef, cqdef, cqcheq; -double gcqdb, gcqsb, gcqgb, gcqbb; +double qcheq, qdef, gqdef=0.0, cqdef=0.0, cqcheq=0.0; +double gcqdb=0.0, gcqsb=0.0, gcqgb=0.0, gcqbb=0.0; double dxpart, sxpart, ggtg, ggtd, ggts, ggtb; double ddxpart_dVd, ddxpart_dVg, ddxpart_dVb, ddxpart_dVs; double dsxpart_dVd, dsxpart_dVg, dsxpart_dVb, dsxpart_dVs; diff --git a/src/spicelib/devices/bsim4v2/b4v2noi.c b/src/spicelib/devices/bsim4v2/b4v2noi.c index ed2eba0ed..6c1dfabbc 100644 --- a/src/spicelib/devices/bsim4v2/b4v2noi.c +++ b/src/spicelib/devices/bsim4v2/b4v2noi.c @@ -90,7 +90,7 @@ double lnNdens[BSIM4v2NSRCS]; double T0, T1, T2, T5, T10, T11; double Vds, Ssi, Swi; -double tmp, gdpr, gspr, npart_theta, npart_beta, igsquare; +double tmp=0.0, gdpr, gspr, npart_theta=0.0, npart_beta=0.0, igsquare; double m; diff --git a/src/spicelib/devices/bsim4v2/b4v2pzld.c b/src/spicelib/devices/bsim4v2/b4v2pzld.c index 65450ba9a..638f4daa4 100644 --- a/src/spicelib/devices/bsim4v2/b4v2pzld.c +++ b/src/spicelib/devices/bsim4v2/b4v2pzld.c @@ -36,14 +36,14 @@ double gIdtotg, gIdtotd, gIdtots, gIdtotb; double gIbtotg, gIbtotd, gIbtots, gIbtotb; double gIgtotg, gIgtotd, gIgtots, gIgtotb; double cgso, cgdo, cgbo; -double xcdbdb, xcsbsb, xcgmgmb, xcgmdb, xcgmsb, xcdgmb, xcsgmb; -double xcgmbb, xcbgmb; -double dxpart, sxpart, xgtg, xgtd, xgts, xgtb, xcqgb, xcqdb, xcqsb, xcqbb; +double xcdbdb=0.0, xcsbsb=0.0, xcgmgmb=0.0, xcgmdb=0.0, xcgmsb=0.0, xcdgmb=0.0, xcsgmb=0.0; +double xcgmbb=0.0, xcbgmb=0.0; +double dxpart, sxpart, xgtg, xgtd, xgts, xgtb, xcqgb=0.0, xcqdb=0.0, xcqsb=0.0, xcqbb=0.0; double gbspsp, gbbdp, gbbsp, gbspg, gbspb; double gbspdp, gbdpdp, gbdpg, gbdpb, gbdpsp; double ddxpart_dVd, ddxpart_dVg, ddxpart_dVb, ddxpart_dVs; double dsxpart_dVd, dsxpart_dVg, dsxpart_dVb, dsxpart_dVs; -double T0, T1, CoxWL, qcheq, Cdg, Cdd, Cds, Csg, Csd, Css; +double T0=0.0, T1, CoxWL, qcheq, Cdg, Cdd, Cds, Csg, Csd, Css; double ScalingFactor = 1.0e-9; struct bsim4SizeDependParam *pParam; double ggidld, ggidlg, ggidlb, ggislg, ggislb, ggisls; diff --git a/src/spicelib/devices/bsim4v2/b4v2temp.c b/src/spicelib/devices/bsim4v2/b4v2temp.c index bb0b2145e..c37f9f502 100644 --- a/src/spicelib/devices/bsim4v2/b4v2temp.c +++ b/src/spicelib/devices/bsim4v2/b4v2temp.c @@ -60,7 +60,7 @@ BSIM4v2model *model = (BSIM4v2model*) inModel; BSIM4v2instance *here; struct bsim4SizeDependParam *pSizeDependParamKnot, *pLastKnot, *pParam; double tmp, tmp1, tmp2, tmp3, Eg, Eg0, ni; -double T0, T1, T2, T3, T4, T5, T8, T9, Lnew, Wnew; +double T0, T1, T2, T3, T4, T5, T8, T9, Lnew=0.0, Wnew; double delTemp, Temp, TRatio, Inv_L, Inv_W, Inv_LW, Vtm0, Tnom; double dumPs, dumPd, dumAs, dumAd, PowWeffWr; double DMCGeff, DMCIeff, DMDGeff; diff --git a/src/spicelib/devices/bsim4v3/b4v3acld.c b/src/spicelib/devices/bsim4v3/b4v3acld.c index adf4f71bf..1263a7412 100644 --- a/src/spicelib/devices/bsim4v3/b4v3acld.c +++ b/src/spicelib/devices/bsim4v3/b4v3acld.c @@ -29,8 +29,8 @@ double xcggbr, xcgdbr, xcgsbr, xcgbbr, xcggbi, xcgdbi, xcgsbi, xcgbbi; double Cggr, Cgdr, Cgsr, Cgbr, Cggi, Cgdi, Cgsi, Cgbi; double xcddbr, xcdgbr, xcdsbr, xcdbbr, xcsdbr, xcsgbr, xcssbr, xcsbbr; double xcddbi, xcdgbi, xcdsbi, xcdbbi, xcsdbi, xcsgbi, xcssbi, xcsbbi; -double xcdbdb, xcsbsb, xcgmgmb, xcgmdb, xcgmsb, xcdgmb, xcsgmb; -double xcgmbb, xcbgmb; +double xcdbdb, xcsbsb=0.0, xcgmgmb=0.0, xcgmdb=0.0, xcgmsb=0.0, xcdgmb, xcsgmb; +double xcgmbb=0.0, xcbgmb; double capbd, capbs, omega; double gstot, gstotd, gstotg, gstots, gstotb, gspr; double gdtot, gdtotd, gdtotg, gdtots, gdtotb, gdpr; @@ -41,7 +41,7 @@ double gIgtotg, gIgtotd, gIgtots, gIgtotb; double cgso, cgdo, cgbo; double gbspsp, gbbdp, gbbsp, gbspg, gbspb; double gbspdp, gbdpdp, gbdpg, gbdpb, gbdpsp; -double T0, T1, T2, T3; +double T0=0.0, T1, T2, T3; double Csg, Csd, Css; double Cdgr, Cddr, Cdsr, Cdbr, Csgr, Csdr, Cssr, Csbr; double Cdgi, Cddi, Cdsi, Cdbi, Csgi, Csdi, Cssi, Csbi; diff --git a/src/spicelib/devices/bsim4v3/b4v3geo.c b/src/spicelib/devices/bsim4v3/b4v3geo.c index 1f96af699..910b592c9 100644 --- a/src/spicelib/devices/bsim4v3/b4v3geo.c +++ b/src/spicelib/devices/bsim4v3/b4v3geo.c @@ -159,7 +159,7 @@ int geo, rgeo, minSD, Type; double nf, Weffcj, Rsh, DMCG, DMCI, DMDG; double *Rtot; { -double Rint, Rend = 0.0; +double Rint=0.0, Rend = 0.0; double nuIntD = 0.0, nuEndD = 0.0, nuIntS = 0.0, nuEndS = 0.0; if (geo < 9) /* since geo = 9 and 10 only happen when nf = even */ diff --git a/src/spicelib/devices/bsim4v3/b4v3ld.c b/src/spicelib/devices/bsim4v3/b4v3ld.c index 502aeb111..ac0107d38 100644 --- a/src/spicelib/devices/bsim4v3/b4v3ld.c +++ b/src/spicelib/devices/bsim4v3/b4v3ld.c @@ -57,8 +57,8 @@ 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; double delvges, delvgms, vgmb; -double gcgmgmb, gcgmdb, gcgmsb, gcdgmb, gcsgmb; -double gcgmbb, gcbgmb, qgmb, qgmid, ceqqgmid; +double gcgmgmb=0.0, gcgmdb=0.0, gcgmsb=0.0, gcdgmb, gcsgmb; +double gcgmbb=0.0, gcbgmb, qgmb, qgmid=0.0, ceqqgmid; double vbd, vbs, vds, vgb, vgd, vgs, vgdo, xfact; double vdbs, vdbd, vsbs, vsbdo, vsbd; @@ -67,20 +67,20 @@ double delvbd_jct, delvbs_jct, vbs_jct, vbd_jct; double SourceSatCurrent, DrainSatCurrent; double ag0, qgb, von, cbhat, VgstNVt, ExpVgst; -double ceqqb, ceqqd, ceqqg, ceqqjd, ceqqjs, ceq, geq; +double ceqqb, ceqqd, ceqqg, ceqqjd=0.0, ceqqjs=0.0, ceq, geq; double cdrain, cdhat, ceqdrn, ceqbd, ceqbs, ceqjd, ceqjs, gjbd, gjbs; double czbd, czbdsw, czbdswg, czbs, czbssw, czbsswg, evbd, evbs, arg, sarg; double delvbd, delvbs, delvds, delvgd, delvgs; double Vfbeff, dVfbeff_dVg, dVfbeff_dVb, V3, V4; double gcbdb, gcbgb, gcbsb, gcddb, gcdgb, gcdsb, gcgdb, gcggb, gcgsb, gcsdb; double gcgbb, gcdbb, gcsbb, gcbbb; -double gcdbdb, gcsbsb; +double gcdbdb, gcsbsb=0.0; double gcsgb, gcssb, MJD, MJSWD, MJSWGD, MJS, MJSWS, MJSWGS; -double qgate, qbulk, qdrn, qsrc, cqgate, cqbody, cqdrn; +double qgate=0.0, qbulk=0.0, qdrn=0.0, qsrc, cqgate, cqbody, cqdrn; double Vdb, Vds, Vgs, Vbs, Gmbs, FwdSum, RevSum; double Igidl, Ggidld, Ggidlg, Ggidlb; -double Voxacc, dVoxacc_dVg, dVoxacc_dVb; -double Voxdepinv, dVoxdepinv_dVg, dVoxdepinv_dVd, dVoxdepinv_dVb; +double Voxacc=0.0, dVoxacc_dVg=0.0, dVoxacc_dVb=0.0; +double Voxdepinv=0.0, dVoxdepinv_dVg=0.0, dVoxdepinv_dVd=0.0, dVoxdepinv_dVb=0.0; double VxNVt, ExpVxNVt, Vaux, dVaux_dVg, dVaux_dVd, dVaux_dVb; double Igc, dIgc_dVg, dIgc_dVd, dIgc_dVb; double Igcs, dIgcs_dVg, dIgcs_dVd, dIgcs_dVb; @@ -95,7 +95,7 @@ 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, Vth_NarrowW; +double Vgs_eff, Vfb=0.0, 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 Vtm; @@ -113,7 +113,7 @@ double dVdsat_dVg, dVdsat_dVb, dVdsat_dVd, Vasat, dAlphaz_dVg, dAlphaz_dVb; double dVasat_dVg, dVasat_dVb, dVasat_dVd, Va, dVa_dVd, dVa_dVg, dVa_dVb; double Vbseff, dVbseff_dVb, VbseffCV, dVbseffCV_dVb; double Arg1, One_Third_CoxWL, Two_Third_CoxWL, Alphaz, CoxWL; -double T0, dT0_dVg, dT0_dVd, dT0_dVb; +double T0=0.0, 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; @@ -156,8 +156,8 @@ double Rds, dRds_dVg, dRds_dVb, WVCox, WVCoxRds; double Vgst2Vtm, VdsatCV; double Leff, Weff, dWeff_dVg, dWeff_dVb; double AbulkCV, dAbulkCV_dVb; -double qcheq, qdef, gqdef, cqdef, cqcheq; -double gcqdb, gcqsb, gcqgb, gcqbb; +double qcheq, qdef, gqdef=0.0, cqdef=0.0, cqcheq=0.0; +double gcqdb=0.0, gcqsb=0.0, gcqgb=0.0, gcqbb=0.0; double dxpart, sxpart, ggtg, ggtd, ggts, ggtb; double ddxpart_dVd, ddxpart_dVg, ddxpart_dVb, ddxpart_dVs; double dsxpart_dVd, dsxpart_dVg, dsxpart_dVb, dsxpart_dVs; diff --git a/src/spicelib/devices/bsim4v3/b4v3noi.c b/src/spicelib/devices/bsim4v3/b4v3noi.c index 11ba3afd3..8358c995c 100644 --- a/src/spicelib/devices/bsim4v3/b4v3noi.c +++ b/src/spicelib/devices/bsim4v3/b4v3noi.c @@ -92,7 +92,7 @@ double lnNdens[BSIM4v3NSRCS]; double T0, T1, T2, T5, T10, T11; double Vds, Ssi, Swi; -double tmp, gdpr, gspr, npart_theta, npart_beta, igsquare; +double tmp=0.0, gdpr, gspr, npart_theta=0.0, npart_beta=0.0, igsquare; double m; diff --git a/src/spicelib/devices/bsim4v3/b4v3pzld.c b/src/spicelib/devices/bsim4v3/b4v3pzld.c index 8119ea55f..b551cf333 100644 --- a/src/spicelib/devices/bsim4v3/b4v3pzld.c +++ b/src/spicelib/devices/bsim4v3/b4v3pzld.c @@ -35,14 +35,14 @@ double gIdtotg, gIdtotd, gIdtots, gIdtotb; double gIbtotg, gIbtotd, gIbtots, gIbtotb; double gIgtotg, gIgtotd, gIgtots, gIgtotb; double cgso, cgdo, cgbo; -double xcdbdb, xcsbsb, xcgmgmb, xcgmdb, xcgmsb, xcdgmb, xcsgmb; -double xcgmbb, xcbgmb; -double dxpart, sxpart, xgtg, xgtd, xgts, xgtb, xcqgb, xcqdb, xcqsb, xcqbb; +double xcdbdb=0.0, xcsbsb=0.0, xcgmgmb=0.0, xcgmdb=0.0, xcgmsb=0.0, xcdgmb=0.0, xcsgmb=0.0; +double xcgmbb=0.0, xcbgmb=0.0; +double dxpart, sxpart, xgtg, xgtd, xgts, xgtb, xcqgb=0.0, xcqdb=0.0, xcqsb=0.0, xcqbb=0.0; double gbspsp, gbbdp, gbbsp, gbspg, gbspb; double gbspdp, gbdpdp, gbdpg, gbdpb, gbdpsp; double ddxpart_dVd, ddxpart_dVg, ddxpart_dVb, ddxpart_dVs; double dsxpart_dVd, dsxpart_dVg, dsxpart_dVb, dsxpart_dVs; -double T0, T1, CoxWL, qcheq, Cdg, Cdd, Cds, Csg, Csd, Css; +double T0=0.0, T1, CoxWL, qcheq, Cdg, Cdd, Cds, Csg, Csd, Css; double ScalingFactor = 1.0e-9; struct bsim4v3SizeDependParam *pParam; double ggidld, ggidlg, ggidlb, ggislg, ggislb, ggisls; diff --git a/src/spicelib/devices/bsim4v3/b4v3temp.c b/src/spicelib/devices/bsim4v3/b4v3temp.c index eab71c684..8890c7216 100644 --- a/src/spicelib/devices/bsim4v3/b4v3temp.c +++ b/src/spicelib/devices/bsim4v3/b4v3temp.c @@ -62,7 +62,7 @@ BSIM4v3model *model = (BSIM4v3model*) inModel; BSIM4v3instance *here; struct bsim4v3SizeDependParam *pSizeDependParamKnot, *pLastKnot, *pParam; double tmp, tmp1, tmp2, tmp3, Eg, Eg0, ni; -double T0, T1, T2, T3, T4, T5, T8, T9, Lnew, Wnew; +double T0, T1, T2, T3, T4, T5, T8, T9, Lnew=0.0, Wnew; double delTemp, Temp, TRatio, Inv_L, Inv_W, Inv_LW, Vtm0, Tnom; double dumPs, dumPd, dumAs, dumAd, PowWeffWr; double DMCGeff, DMCIeff, DMDGeff;