Added old code to jfetload.c ad updated documentation.
This commit is contained in:
parent
14eef00d5c
commit
4e2f666b7e
|
|
@ -1,8 +1,12 @@
|
||||||
2003-12-26 Paolo Nenzi <p.nenzi@ieee.org>
|
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.
|
"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
|
* DEVICES: Updated jfet status
|
||||||
|
|
||||||
* tests/jfet, tests/jfet/jfet_vds-vgs.cir: added jfet directory
|
* tests/jfet, tests/jfet/jfet_vds-vgs.cir: added jfet directory
|
||||||
|
|
|
||||||
1
DEVICES
1
DEVICES
|
|
@ -181,6 +181,7 @@ JFET - Junction Field Effect transistor
|
||||||
|
|
||||||
Enhancements over the original model:
|
Enhancements over the original model:
|
||||||
|
|
||||||
|
- Alan Gillespie's modified diode model
|
||||||
- Parallel multiplier
|
- Parallel multiplier
|
||||||
- Instance temperature as difference for circuit temperature
|
- 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
|
* compute equivalent drain current source
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue