Added old code to jfetload.c ad updated documentation.
This commit is contained in:
parent
14eef00d5c
commit
4e2f666b7e
|
|
@ -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
|
||||
|
||||
|
|
|
|||
1
DEVICES
1
DEVICES
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue