b3temp.c

来自「ngspice又一个电子CAD仿真软件代码.功能更全」· C语言 代码 · 共 1,044 行 · 第 1/3 页

C
1,044
字号
				  + model->BSIM3lxj * Inv_L				  + model->BSIM3wxj * Inv_W				  + model->BSIM3pxj * Inv_LW;		  pParam->BSIM3vsat = model->BSIM3vsat				    + model->BSIM3lvsat * Inv_L				    + model->BSIM3wvsat * Inv_W				    + model->BSIM3pvsat * Inv_LW;		  pParam->BSIM3at = model->BSIM3at				  + model->BSIM3lat * Inv_L				  + model->BSIM3wat * Inv_W				  + model->BSIM3pat * Inv_LW;		  pParam->BSIM3a0 = model->BSIM3a0				  + model->BSIM3la0 * Inv_L				  + model->BSIM3wa0 * Inv_W				  + model->BSIM3pa0 * Inv_LW; 				  		  pParam->BSIM3ags = model->BSIM3ags				  + model->BSIM3lags * Inv_L				  + model->BSIM3wags * Inv_W				  + model->BSIM3pags * Inv_LW;				  		  pParam->BSIM3a1 = model->BSIM3a1				  + model->BSIM3la1 * Inv_L				  + model->BSIM3wa1 * Inv_W				  + model->BSIM3pa1 * Inv_LW;		  pParam->BSIM3a2 = model->BSIM3a2				  + model->BSIM3la2 * Inv_L				  + model->BSIM3wa2 * Inv_W				  + model->BSIM3pa2 * Inv_LW;		  pParam->BSIM3keta = model->BSIM3keta				    + model->BSIM3lketa * Inv_L				    + model->BSIM3wketa * Inv_W				    + model->BSIM3pketa * Inv_LW;		  pParam->BSIM3nsub = model->BSIM3nsub				    + model->BSIM3lnsub * Inv_L				    + model->BSIM3wnsub * Inv_W				    + model->BSIM3pnsub * Inv_LW;		  pParam->BSIM3npeak = model->BSIM3npeak				     + model->BSIM3lnpeak * Inv_L				     + model->BSIM3wnpeak * Inv_W				     + model->BSIM3pnpeak * Inv_LW;		  pParam->BSIM3ngate = model->BSIM3ngate				     + model->BSIM3lngate * Inv_L				     + model->BSIM3wngate * Inv_W				     + model->BSIM3pngate * Inv_LW;		  pParam->BSIM3gamma1 = model->BSIM3gamma1				      + model->BSIM3lgamma1 * Inv_L				      + model->BSIM3wgamma1 * Inv_W				      + model->BSIM3pgamma1 * Inv_LW;		  pParam->BSIM3gamma2 = model->BSIM3gamma2				      + model->BSIM3lgamma2 * Inv_L				      + model->BSIM3wgamma2 * Inv_W				      + model->BSIM3pgamma2 * Inv_LW;		  pParam->BSIM3vbx = model->BSIM3vbx				   + model->BSIM3lvbx * Inv_L				   + model->BSIM3wvbx * Inv_W				   + model->BSIM3pvbx * Inv_LW;		  pParam->BSIM3vbm = model->BSIM3vbm				   + model->BSIM3lvbm * Inv_L				   + model->BSIM3wvbm * Inv_W				   + model->BSIM3pvbm * Inv_LW;		  pParam->BSIM3xt = model->BSIM3xt				   + model->BSIM3lxt * Inv_L				   + model->BSIM3wxt * Inv_W				   + model->BSIM3pxt * Inv_LW;                  pParam->BSIM3vfb = model->BSIM3vfb                                   + model->BSIM3lvfb * Inv_L                                   + model->BSIM3wvfb * Inv_W                                   + model->BSIM3pvfb * Inv_LW;		  pParam->BSIM3k1 = model->BSIM3k1				  + model->BSIM3lk1 * Inv_L				  + model->BSIM3wk1 * Inv_W				  + model->BSIM3pk1 * Inv_LW;		  pParam->BSIM3kt1 = model->BSIM3kt1				   + model->BSIM3lkt1 * Inv_L				   + model->BSIM3wkt1 * Inv_W				   + model->BSIM3pkt1 * Inv_LW;		  pParam->BSIM3kt1l = model->BSIM3kt1l				    + model->BSIM3lkt1l * Inv_L				    + model->BSIM3wkt1l * Inv_W				    + model->BSIM3pkt1l * Inv_LW;		  pParam->BSIM3k2 = model->BSIM3k2				  + model->BSIM3lk2 * Inv_L				  + model->BSIM3wk2 * Inv_W				  + model->BSIM3pk2 * Inv_LW;		  pParam->BSIM3kt2 = model->BSIM3kt2				   + model->BSIM3lkt2 * Inv_L				   + model->BSIM3wkt2 * Inv_W				   + model->BSIM3pkt2 * Inv_LW;		  pParam->BSIM3k3 = model->BSIM3k3				  + model->BSIM3lk3 * Inv_L				  + model->BSIM3wk3 * Inv_W				  + model->BSIM3pk3 * Inv_LW;		  pParam->BSIM3k3b = model->BSIM3k3b				   + model->BSIM3lk3b * Inv_L				   + model->BSIM3wk3b * Inv_W				   + model->BSIM3pk3b * Inv_LW;		  pParam->BSIM3w0 = model->BSIM3w0				  + model->BSIM3lw0 * Inv_L				  + model->BSIM3ww0 * Inv_W				  + model->BSIM3pw0 * Inv_LW;		  pParam->BSIM3nlx = model->BSIM3nlx				   + model->BSIM3lnlx * Inv_L				   + model->BSIM3wnlx * Inv_W				   + model->BSIM3pnlx * Inv_LW;		  pParam->BSIM3dvt0 = model->BSIM3dvt0				    + model->BSIM3ldvt0 * Inv_L				    + model->BSIM3wdvt0 * Inv_W				    + model->BSIM3pdvt0 * Inv_LW;		  pParam->BSIM3dvt1 = model->BSIM3dvt1				    + model->BSIM3ldvt1 * Inv_L				    + model->BSIM3wdvt1 * Inv_W				    + model->BSIM3pdvt1 * Inv_LW;		  pParam->BSIM3dvt2 = model->BSIM3dvt2				    + model->BSIM3ldvt2 * Inv_L				    + model->BSIM3wdvt2 * Inv_W				    + model->BSIM3pdvt2 * Inv_LW;		  pParam->BSIM3dvt0w = model->BSIM3dvt0w				    + model->BSIM3ldvt0w * Inv_L				    + model->BSIM3wdvt0w * Inv_W				    + model->BSIM3pdvt0w * Inv_LW;		  pParam->BSIM3dvt1w = model->BSIM3dvt1w				    + model->BSIM3ldvt1w * Inv_L				    + model->BSIM3wdvt1w * Inv_W				    + model->BSIM3pdvt1w * Inv_LW;		  pParam->BSIM3dvt2w = model->BSIM3dvt2w				    + model->BSIM3ldvt2w * Inv_L				    + model->BSIM3wdvt2w * Inv_W				    + model->BSIM3pdvt2w * Inv_LW;		  pParam->BSIM3drout = model->BSIM3drout				     + model->BSIM3ldrout * Inv_L				     + model->BSIM3wdrout * Inv_W				     + model->BSIM3pdrout * Inv_LW;		  pParam->BSIM3dsub = model->BSIM3dsub				    + model->BSIM3ldsub * Inv_L				    + model->BSIM3wdsub * Inv_W				    + model->BSIM3pdsub * Inv_LW;		  pParam->BSIM3vth0 = model->BSIM3vth0				    + model->BSIM3lvth0 * Inv_L				    + model->BSIM3wvth0 * Inv_W				    + model->BSIM3pvth0 * Inv_LW;		  pParam->BSIM3ua = model->BSIM3ua				  + model->BSIM3lua * Inv_L				  + model->BSIM3wua * Inv_W				  + model->BSIM3pua * Inv_LW;		  pParam->BSIM3ua1 = model->BSIM3ua1				   + model->BSIM3lua1 * Inv_L				   + model->BSIM3wua1 * Inv_W				   + model->BSIM3pua1 * Inv_LW;		  pParam->BSIM3ub = model->BSIM3ub				  + model->BSIM3lub * Inv_L				  + model->BSIM3wub * Inv_W				  + model->BSIM3pub * Inv_LW;		  pParam->BSIM3ub1 = model->BSIM3ub1				   + model->BSIM3lub1 * Inv_L				   + model->BSIM3wub1 * Inv_W				   + model->BSIM3pub1 * Inv_LW;		  pParam->BSIM3uc = model->BSIM3uc				  + model->BSIM3luc * Inv_L				  + model->BSIM3wuc * Inv_W				  + model->BSIM3puc * Inv_LW;		  pParam->BSIM3uc1 = model->BSIM3uc1				   + model->BSIM3luc1 * Inv_L				   + model->BSIM3wuc1 * Inv_W				   + model->BSIM3puc1 * Inv_LW;		  pParam->BSIM3u0 = model->BSIM3u0				  + model->BSIM3lu0 * Inv_L				  + model->BSIM3wu0 * Inv_W				  + model->BSIM3pu0 * Inv_LW;		  pParam->BSIM3ute = model->BSIM3ute				   + model->BSIM3lute * Inv_L				   + model->BSIM3wute * Inv_W				   + model->BSIM3pute * Inv_LW;		  pParam->BSIM3voff = model->BSIM3voff				    + model->BSIM3lvoff * Inv_L				    + model->BSIM3wvoff * Inv_W				    + model->BSIM3pvoff * Inv_LW;		  pParam->BSIM3delta = model->BSIM3delta				     + model->BSIM3ldelta * Inv_L				     + model->BSIM3wdelta * Inv_W				     + model->BSIM3pdelta * Inv_LW;		  pParam->BSIM3rdsw = model->BSIM3rdsw				    + model->BSIM3lrdsw * Inv_L				    + model->BSIM3wrdsw * Inv_W				    + model->BSIM3prdsw * Inv_LW;		  pParam->BSIM3prwg = model->BSIM3prwg				    + model->BSIM3lprwg * Inv_L				    + model->BSIM3wprwg * Inv_W				    + model->BSIM3pprwg * Inv_LW;		  pParam->BSIM3prwb = model->BSIM3prwb				    + model->BSIM3lprwb * Inv_L				    + model->BSIM3wprwb * Inv_W				    + model->BSIM3pprwb * Inv_LW;		  pParam->BSIM3prt = model->BSIM3prt				    + model->BSIM3lprt * Inv_L				    + model->BSIM3wprt * Inv_W				    + model->BSIM3pprt * Inv_LW;		  pParam->BSIM3eta0 = model->BSIM3eta0				    + model->BSIM3leta0 * Inv_L				    + model->BSIM3weta0 * Inv_W				    + model->BSIM3peta0 * Inv_LW;		  pParam->BSIM3etab = model->BSIM3etab				    + model->BSIM3letab * Inv_L				    + model->BSIM3wetab * Inv_W				    + model->BSIM3petab * Inv_LW;		  pParam->BSIM3pclm = model->BSIM3pclm				    + model->BSIM3lpclm * Inv_L				    + model->BSIM3wpclm * Inv_W				    + model->BSIM3ppclm * Inv_LW;		  pParam->BSIM3pdibl1 = model->BSIM3pdibl1				      + model->BSIM3lpdibl1 * Inv_L				      + model->BSIM3wpdibl1 * Inv_W				      + model->BSIM3ppdibl1 * Inv_LW;		  pParam->BSIM3pdibl2 = model->BSIM3pdibl2				      + model->BSIM3lpdibl2 * Inv_L				      + model->BSIM3wpdibl2 * Inv_W				      + model->BSIM3ppdibl2 * Inv_LW;		  pParam->BSIM3pdiblb = model->BSIM3pdiblb				      + model->BSIM3lpdiblb * Inv_L				      + model->BSIM3wpdiblb * Inv_W				      + model->BSIM3ppdiblb * Inv_LW;		  pParam->BSIM3pscbe1 = model->BSIM3pscbe1				      + model->BSIM3lpscbe1 * Inv_L				      + model->BSIM3wpscbe1 * Inv_W				      + model->BSIM3ppscbe1 * Inv_LW;		  pParam->BSIM3pscbe2 = model->BSIM3pscbe2				      + model->BSIM3lpscbe2 * Inv_L				      + model->BSIM3wpscbe2 * Inv_W				      + model->BSIM3ppscbe2 * Inv_LW;		  pParam->BSIM3pvag = model->BSIM3pvag				    + model->BSIM3lpvag * Inv_L				    + model->BSIM3wpvag * Inv_W				    + model->BSIM3ppvag * Inv_LW;		  pParam->BSIM3wr = model->BSIM3wr				  + model->BSIM3lwr * Inv_L				  + model->BSIM3wwr * Inv_W				  + model->BSIM3pwr * Inv_LW;		  pParam->BSIM3dwg = model->BSIM3dwg				   + model->BSIM3ldwg * Inv_L				   + model->BSIM3wdwg * Inv_W				   + model->BSIM3pdwg * Inv_LW;		  pParam->BSIM3dwb = model->BSIM3dwb				   + model->BSIM3ldwb * Inv_L				   + model->BSIM3wdwb * Inv_W				   + model->BSIM3pdwb * Inv_LW;		  pParam->BSIM3b0 = model->BSIM3b0				  + model->BSIM3lb0 * Inv_L				  + model->BSIM3wb0 * Inv_W				  + model->BSIM3pb0 * Inv_LW;		  pParam->BSIM3b1 = model->BSIM3b1				  + model->BSIM3lb1 * Inv_L				  + model->BSIM3wb1 * Inv_W				  + model->BSIM3pb1 * Inv_LW;		  pParam->BSIM3alpha0 = model->BSIM3alpha0				      + model->BSIM3lalpha0 * Inv_L				      + model->BSIM3walpha0 * Inv_W				      + model->BSIM3palpha0 * Inv_LW;                  pParam->BSIM3alpha1 = model->BSIM3alpha1                                      + model->BSIM3lalpha1 * Inv_L                                      + model->BSIM3walpha1 * Inv_W                                      + model->BSIM3palpha1 * Inv_LW;		  pParam->BSIM3beta0 = model->BSIM3beta0				     + model->BSIM3lbeta0 * Inv_L				     + model->BSIM3wbeta0 * Inv_W				     + model->BSIM3pbeta0 * Inv_LW;		  /* CV model */		  pParam->BSIM3elm = model->BSIM3elm				  + model->BSIM3lelm * Inv_L				  + model->BSIM3welm * Inv_W				  + model->BSIM3pelm * Inv_LW;		  pParam->BSIM3cgsl = model->BSIM3cgsl				    + model->BSIM3lcgsl * Inv_L				    + model->BSIM3wcgsl * Inv_W				    + model->BSIM3pcgsl * Inv_LW;		  pParam->BSIM3cgdl = model->BSIM3cgdl				    + model->BSIM3lcgdl * Inv_L				    + model->BSIM3wcgdl * Inv_W				    + model->BSIM3pcgdl * Inv_LW;		  pParam->BSIM3ckappa = model->BSIM3ckappa				      + model->BSIM3lckappa * Inv_L				      + model->BSIM3wckappa * Inv_W				      + model->BSIM3pckappa * Inv_LW;		  pParam->BSIM3cf = model->BSIM3cf				  + model->BSIM3lcf * Inv_L				  + model->BSIM3wcf * Inv_W				  + model->BSIM3pcf * Inv_LW;		  pParam->BSIM3clc = model->BSIM3clc				   + model->BSIM3lclc * Inv_L				   + model->BSIM3wclc * Inv_W				   + model->BSIM3pclc * Inv_LW;		  pParam->BSIM3cle = model->BSIM3cle				   + model->BSIM3lcle * Inv_L				   + model->BSIM3wcle * Inv_W				   + model->BSIM3pcle * Inv_LW;		  pParam->BSIM3vfbcv = model->BSIM3vfbcv				     + model->BSIM3lvfbcv * Inv_L				     + model->BSIM3wvfbcv * Inv_W				     + model->BSIM3pvfbcv * Inv_LW;                  pParam->BSIM3acde = model->BSIM3acde                                    + model->BSIM3lacde * Inv_L                                    + model->BSIM3wacde * Inv_W                                    + model->BSIM3pacde * Inv_LW;                  pParam->BSIM3moin = model->BSIM3moin                                    + model->BSIM3lmoin * Inv_L                                    + model->BSIM3wmoin * Inv_W                                    + model->BSIM3pmoin * Inv_LW;                  pParam->BSIM3noff = model->BSIM3noff                                    + model->BSIM3lnoff * Inv_L                                    + model->BSIM3wnoff * Inv_W                                    + model->BSIM3pnoff * Inv_LW;                  pParam->BSIM3voffcv = model->BSIM3voffcv                                      + model->BSIM3lvoffcv * Inv_L                                      + model->BSIM3wvoffcv * Inv_W                                      + model->BSIM3pvoffcv * Inv_LW;                  pParam->BSIM3abulkCVfactor = 1.0 + pow((pParam->BSIM3clc					     / pParam->BSIM3leffCV),					     pParam->BSIM3cle);	          T0 = (TRatio - 1.0);	          pParam->BSIM3ua = pParam->BSIM3ua + pParam->BSIM3ua1 * T0;	          pParam->BSIM3ub = pParam->BSIM3ub + pParam->BSIM3ub1 * T0;	          pParam->BSIM3uc = pParam->BSIM3uc + pParam->BSIM3uc1 * T0;                  if (pParam->BSIM3u0 > 1.0)                       pParam->BSIM3u0 = pParam->BSIM3u0 / 1.0e4;                  pParam->BSIM3u0temp = pParam->BSIM3u0				      * pow(TRatio, pParam->BSIM3ute);                   pParam->BSIM3vsattemp = pParam->BSIM3vsat - pParam->BSIM3at 			                * T0;	          pParam->BSIM3rds0 = (pParam->BSIM3rdsw + pParam->BSIM3prt * T0)                                    / pow(pParam->BSIM3weff * 1E6, pParam->BSIM3wr);		  if (BSIM3checkModel(model, here, ckt))		  {   IFuid namarray[2];                      namarray[0] = model->BSIM3modName;                      namarray[1] = here->BSIM3name;                      (*(SPfrontEnd->IFerror)) (ERR_FATAL, "Fatal error(s) detected during BSIM3V3.2 parameter checking for %s in model %s", namarray);                      return(E_BADPARM);   		  }                  pParam->BSIM3cgdo = (model->BSIM3cgdo + pParam->BSIM3cf)				    * pParam->BSIM3weffCV;                  pParam->BSIM3cgso = (model->BSIM3cgso + pParam->BSIM3cf)				    * pParam->BSIM3weffCV;                  pParam->BSIM3cgbo = model->BSIM3cgbo * pParam->BSIM3leffCV;                  T0 = pParam->BSIM3leffCV * pParam->BSIM3leffCV;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?