|
|
@ -25,9 +25,10 @@ BSIM4v2RdsEndSha(double, double, double, double, double, double, int, int, doubl |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
|
|
|
int |
|
|
int |
|
|
BSIM4v2NumFingerDiff(nf, minSD, nuIntD, nuEndD, nuIntS, nuEndS) |
|
|
|
|
|
int minSD; |
|
|
|
|
|
double nf, *nuIntD, *nuEndD, *nuIntS, *nuEndS; |
|
|
|
|
|
|
|
|
BSIM4v2NumFingerDiff( |
|
|
|
|
|
double nf, |
|
|
|
|
|
int minSD, |
|
|
|
|
|
double *nuIntD, double *nuEndD, double *nuIntS, double *nuEndS) |
|
|
{ |
|
|
{ |
|
|
int NF; |
|
|
int NF; |
|
|
NF = (int)nf; |
|
|
NF = (int)nf; |
|
|
@ -54,10 +55,11 @@ return 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int |
|
|
int |
|
|
BSIM4v2PAeffGeo(nf, geo, minSD, Weffcj, DMCG, DMCI, DMDG, Ps, Pd, As, Ad) |
|
|
|
|
|
int geo, minSD; |
|
|
|
|
|
double Weffcj, DMCG, DMCI, DMDG; |
|
|
|
|
|
double nf, *Ps, *Pd, *As, *Ad; |
|
|
|
|
|
|
|
|
BSIM4v2PAeffGeo( |
|
|
|
|
|
double nf, |
|
|
|
|
|
int geo, int minSD, |
|
|
|
|
|
double Weffcj, double DMCG, double DMCI, double DMDG, |
|
|
|
|
|
double *Ps, double *Pd, double *As, double *Ad) |
|
|
{ |
|
|
{ |
|
|
double T0, T1, T2; |
|
|
double T0, T1, T2; |
|
|
double ADiso, ADsha, ADmer, ASiso, ASsha, ASmer; |
|
|
double ADiso, ADsha, ADmer, ASiso, ASsha, ASmer; |
|
|
@ -154,10 +156,12 @@ return 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int |
|
|
int |
|
|
BSIM4v2RdseffGeo(nf, geo, rgeo, minSD, Weffcj, Rsh, DMCG, DMCI, DMDG, Type, Rtot) |
|
|
|
|
|
int geo, rgeo, minSD, Type; |
|
|
|
|
|
double nf, Weffcj, Rsh, DMCG, DMCI, DMDG; |
|
|
|
|
|
double *Rtot; |
|
|
|
|
|
|
|
|
BSIM4v2RdseffGeo( |
|
|
|
|
|
double nf, |
|
|
|
|
|
int geo, int rgeo, int minSD, |
|
|
|
|
|
double Weffcj, double Rsh, double DMCG, double DMCI, double DMDG, |
|
|
|
|
|
int Type, |
|
|
|
|
|
double *Rtot) |
|
|
{ |
|
|
{ |
|
|
double Rint=0.0, Rend = 0.0; |
|
|
double Rint=0.0, Rend = 0.0; |
|
|
double nuIntD = 0.0, nuEndD = 0.0, nuIntS = 0.0, nuEndS = 0.0; |
|
|
double nuIntD = 0.0, nuEndD = 0.0, nuIntS = 0.0, nuEndS = 0.0; |
|
|
@ -272,10 +276,11 @@ return 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int |
|
|
int |
|
|
BSIM4v2RdsEndIso(Weffcj, Rsh, DMCG, DMCI, DMDG, nuEnd, rgeo, Type, Rend) |
|
|
|
|
|
double Weffcj, Rsh, DMCG, DMCI, DMDG; |
|
|
|
|
|
int rgeo, Type; |
|
|
|
|
|
double nuEnd, *Rend; |
|
|
|
|
|
|
|
|
BSIM4v2RdsEndIso( |
|
|
|
|
|
double Weffcj, double Rsh, double DMCG, double DMCI, double DMDG, |
|
|
|
|
|
double nuEnd, |
|
|
|
|
|
int rgeo, int Type, |
|
|
|
|
|
double *Rend) |
|
|
{ |
|
|
{ |
|
|
if (Type == 1) |
|
|
if (Type == 1) |
|
|
{ switch(rgeo) |
|
|
{ switch(rgeo) |
|
|
@ -330,10 +335,11 @@ return 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int |
|
|
int |
|
|
BSIM4v2RdsEndSha(Weffcj, Rsh, DMCG, DMCI, DMDG, nuEnd, rgeo, Type, Rend) |
|
|
|
|
|
double Weffcj, Rsh, DMCG, DMCI, DMDG; |
|
|
|
|
|
int rgeo, Type; |
|
|
|
|
|
double nuEnd, *Rend; |
|
|
|
|
|
|
|
|
BSIM4v2RdsEndSha( |
|
|
|
|
|
double Weffcj, double Rsh, double DMCG, double DMCI, double DMDG, |
|
|
|
|
|
double nuEnd, |
|
|
|
|
|
int rgeo, int Type, |
|
|
|
|
|
double *Rend) |
|
|
{ |
|
|
{ |
|
|
if (Type == 1) |
|
|
if (Type == 1) |
|
|
{ switch(rgeo) |
|
|
{ switch(rgeo) |
|
|
|