|
|
@ -322,6 +322,78 @@ JFETload(GENmodel *inModel, CKTcircuit *ckt) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef notdef |
|
|
|
|
|
/* The original section is now commented out */ |
|
|
|
|
|
/* end Sydney University mod */ |
|
|
|
|
|
/* |
|
|
|
|
|
* compute drain current and derivitives for normal mode |
|
|
|
|
|
*/ |
|
|
|
|
|
if (vds >= 0) { |
|
|
|
|
|
vgst=vgs-model->JFETthreshold; |
|
|
|
|
|
/* |
|
|
|
|
|
* normal mode, cutoff region |
|
|
|
|
|
*/ |
|
|
|
|
|
if (vgst <= 0) { |
|
|
|
|
|
cdrain=0; |
|
|
|
|
|
gm=0; |
|
|
|
|
|
gds=0; |
|
|
|
|
|
} else { |
|
|
|
|
|
betap=beta*(1+model->JFETlModulation*vds); |
|
|
|
|
|
twob=betap+betap; |
|
|
|
|
|
if (vgst <= vds) { |
|
|
|
|
|
/* |
|
|
|
|
|
* normal mode, saturation region |
|
|
|
|
|
*/ |
|
|
|
|
|
cdrain=betap*vgst*vgst; |
|
|
|
|
|
gm=twob*vgst; |
|
|
|
|
|
gds=model->JFETlModulation*beta*vgst*vgst; |
|
|
|
|
|
} else { |
|
|
|
|
|
/* |
|
|
|
|
|
* normal mode, linear region |
|
|
|
|
|
*/ |
|
|
|
|
|
cdrain=betap*vds*(vgst+vgst-vds); |
|
|
|
|
|
gm=twob*vds; |
|
|
|
|
|
gds=twob*(vgst-vds)+model->JFETlModulation*beta* |
|
|
|
|
|
vds*(vgst+vgst-vds); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
/* |
|
|
|
|
|
* compute drain current and derivitives for inverse mode |
|
|
|
|
|
*/ |
|
|
|
|
|
vgdt=vgd-model->JFETthreshold; |
|
|
|
|
|
if (vgdt <= 0) { |
|
|
|
|
|
/* |
|
|
|
|
|
* inverse mode, cutoff region |
|
|
|
|
|
*/ |
|
|
|
|
|
cdrain=0; |
|
|
|
|
|
gm=0; |
|
|
|
|
|
gds=0; |
|
|
|
|
|
} else { |
|
|
|
|
|
/* |
|
|
|
|
|
* inverse mode, saturation region |
|
|
|
|
|
*/ |
|
|
|
|
|
betap=beta*(1-model->JFETlModulation*vds); |
|
|
|
|
|
twob=betap+betap; |
|
|
|
|
|
if (vgdt <= -vds) { |
|
|
|
|
|
cdrain = -betap*vgdt*vgdt; |
|
|
|
|
|
gm = -twob*vgdt; |
|
|
|
|
|
gds = model->JFETlModulation*beta*vgdt*vgdt-gm; |
|
|
|
|
|
} else { |
|
|
|
|
|
/* |
|
|
|
|
|
* inverse mode, linear region |
|
|
|
|
|
*/ |
|
|
|
|
|
cdrain=betap*vds*(vgdt+vgdt+vds); |
|
|
|
|
|
gm=twob*vds; |
|
|
|
|
|
gds=twob*vgdt-model->JFETlModulation*beta*vds* |
|
|
|
|
|
(vgdt+vgdt+vds); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
/* end of original section, now deleted (replaced w/SU mod */ |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
/* |
|
|
/* |
|
|
* compute equivalent drain current source |
|
|
* compute equivalent drain current source |
|
|
*/ |
|
|
*/ |
|
|
|