Added old code to jfetload.c ad updated documentation.

This commit is contained in:
pnenzi 2003-12-26 11:01:21 +00:00
parent 14eef00d5c
commit 4e2f666b7e
3 changed files with 78 additions and 1 deletions

View File

@ -1,7 +1,11 @@
2003-12-26 Paolo Nenzi <p.nenzi@ieee.org>
* src/spicelibe/devices/jfet/*: Added parallel multiplier and
* src/spicelib/devices/jfet/*: Added parallel multiplier and
"dtemp" parameter.
* src/spicelib/devices/jfet/jfetload.c: reintroduces the old model
code, superseded by Sydney code (Parker Skellern). The code is
not useed but is left as reference.
* DEVICES: Updated jfet status

View File

@ -181,6 +181,7 @@ JFET - Junction Field Effect transistor
Enhancements over the original model:
- Alan Gillespie's modified diode model
- Parallel multiplier
- Instance temperature as difference for circuit temperature

View File

@ -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
*/