17 #define P33 .333333333 42 double cjunc1,cjunc2,cjunc3;
45 for ( ; model !=
NULL; model = model->DIOnextModel) {
48 for (here = model->DIOinstances; here !=
NULL;
56 vte = model->DIOemissionCoeff * vt;
66 gd = csat*evd/vte + ckt->
CKTgmin;
67 g2 = 0.5*(gd - ckt->
CKTgmin)/vte;
69 cdiff2 = g2*model->DIOtransitTime;
70 cdiff3 = g3*model->DIOtransitTime;
104 if (vd < here->DIOtDepCap){
105 arg = 1 - vd/model->DIOjunctionPot;
106 sarg = exp(-model->DIOgradingCoeff*log(arg));
112 cjunc2 = .5*cjunc1*model->DIOgradingCoeff/
113 (model->DIOjunctionPot*arg);
114 cjunc3 =
P33*cjunc2*(model->DIOgradingCoeff + 1)/
115 (model->DIOjunctionPot*arg);
118 czof2 = czero/model->DIOf2;
127 model->DIOjunctionPot*model->DIOgradingCoeff;
136 here->cdif_x2 = cdiff2;
137 here->cdif_x3 = cdiff3;
138 here->cjnc_x2 = cjunc2;
139 here->cjnc_x3 = cjunc3;
int DIOdSetup(DIOmodel *model, CKTcircuit *ckt)
struct sDIOinstance * DIOnextInstance