Merge branch 'pre-master' of ssh://git.code.sf.net/p/ngspice/ngspice into pre-master
This commit is contained in:
commit
fdb61aa757
|
|
@ -1,15 +1,16 @@
|
||||||
***** VBIC99 level 9 Transient test *****
|
***** VBIC99 level 9 Transient test *****
|
||||||
*
|
*
|
||||||
q1 3 2 0 0 t vbic99
|
q1 c b 0 0 t vbic99
|
||||||
v 4 0 dc 5.0
|
vcc vp 0 dc 5.0
|
||||||
vin 1 0 dc 2.5 pulse (0 5 0 1n 1n 10n 25n)
|
vin in 0 dc 2.5 pulse (0 5 0 1n 1n 10n 25n)
|
||||||
r1 1 2 100
|
r1 in b 100
|
||||||
r2 3 4 10k
|
r2 c vp 1k
|
||||||
*
|
*
|
||||||
.control
|
.control
|
||||||
op
|
op
|
||||||
tran 50p 50n
|
tran 50p 100n
|
||||||
plot v(1) v(2) v(3) v(4)
|
plot v(in) v(b) v(c) v(vp)
|
||||||
|
settype temperature v(t)
|
||||||
plot v(t)
|
plot v(t)
|
||||||
.endc
|
.endc
|
||||||
*
|
*
|
||||||
|
|
@ -42,7 +43,7 @@ plot v(t)
|
||||||
+ EAIS = 1.12 EANE = 1.489271 EANC = 1.489271
|
+ EAIS = 1.12 EANE = 1.489271 EANC = 1.489271
|
||||||
+ EANS = 1.12 XIS = 3 XII = 3
|
+ EANS = 1.12 XIS = 3 XII = 3
|
||||||
+ XIN = 3 TNF = 0 TAVC = 0
|
+ XIN = 3 TNF = 0 TAVC = 0
|
||||||
+ RTH = 159.177 CTH = 0 VRT = 0
|
+ RTH = 159.177 CTH = 100p VRT = 0
|
||||||
+ ART = 0.1 CCSO = 0 QBM = 0
|
+ ART = 0.1 CCSO = 0 QBM = 0
|
||||||
+ NKF = 0.5 XIKF = 0 XRCX = 2
|
+ NKF = 0.5 XIKF = 0 XRCX = 2
|
||||||
+ XRBX = 2 XRBP = 0 ISRR = 1
|
+ XRBX = 2 XRBP = 0 ISRR = 1
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ VDMOSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt,
|
||||||
model->VDMOSmtr = 1.;
|
model->VDMOSmtr = 1.;
|
||||||
|
|
||||||
if (!model->VDIObvGiven)
|
if (!model->VDIObvGiven)
|
||||||
model->VDIObv = 1.0e30;
|
model->VDIObv = 1e99;
|
||||||
|
|
||||||
if (!model->VDIOibvGiven)
|
if (!model->VDIOibvGiven)
|
||||||
model->VDIOibv = 1.0e-10;
|
model->VDIOibv = 1.0e-10;
|
||||||
|
|
@ -110,7 +110,7 @@ VDMOSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt,
|
||||||
model->VDMOSrds = 1.0e+15;
|
model->VDMOSrds = 1.0e+15;
|
||||||
|
|
||||||
if (!model->VDIOresistanceGiven)
|
if (!model->VDIOresistanceGiven)
|
||||||
model->VDIOresistance = 10e-03;
|
model->VDIOresistance = 0.0;
|
||||||
|
|
||||||
if (!model->VDIOnGiven)
|
if (!model->VDIOnGiven)
|
||||||
model->VDIOn = 1.;
|
model->VDIOn = 1.;
|
||||||
|
|
@ -190,6 +190,12 @@ VDMOSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt,
|
||||||
if (!model->VDMOSvgdrMaxGiven)
|
if (!model->VDMOSvgdrMaxGiven)
|
||||||
model->VDMOSvgdrMax = 1e99;
|
model->VDMOSvgdrMax = 1e99;
|
||||||
|
|
||||||
|
if (!model->VDMOSqsResistanceGiven)
|
||||||
|
model->VDMOSqsResistance = 0.0;
|
||||||
|
|
||||||
|
if (!model->VDMOSqsVoltageGiven)
|
||||||
|
model->VDMOSqsVoltage = 0.0;
|
||||||
|
|
||||||
if ((model->VDMOSqsResistanceGiven) && (model->VDMOSqsVoltageGiven))
|
if ((model->VDMOSqsResistanceGiven) && (model->VDMOSqsVoltageGiven))
|
||||||
model->VDMOSqsGiven = 1;
|
model->VDMOSqsGiven = 1;
|
||||||
else
|
else
|
||||||
|
|
@ -266,7 +272,7 @@ VDMOSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt,
|
||||||
here->VDMOSgateConductance = 0.0;
|
here->VDMOSgateConductance = 0.0;
|
||||||
}
|
}
|
||||||
if (model->VDMOSrdsGiven) {
|
if (model->VDMOSrdsGiven) {
|
||||||
if (model->VDMOSrds != 0) {
|
if (model->VDMOSrds > 0) {
|
||||||
here->VDMOSdsConductance = here->VDMOSm / model->VDMOSrds;
|
here->VDMOSdsConductance = here->VDMOSm / model->VDMOSrds;
|
||||||
} else {
|
} else {
|
||||||
here->VDMOSdsConductance = 1e-15;
|
here->VDMOSdsConductance = 1e-15;
|
||||||
|
|
@ -274,10 +280,10 @@ VDMOSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt,
|
||||||
} else {
|
} else {
|
||||||
here->VDMOSdsConductance = 1e-15;
|
here->VDMOSdsConductance = 1e-15;
|
||||||
}
|
}
|
||||||
if (model->VDIOresistance > 10e-3) {
|
if (model->VDIOresistance > 0) {
|
||||||
here->VDIOconductance = here->VDMOSm / model->VDIOresistance;
|
here->VDIOconductance = here->VDMOSm / model->VDIOresistance;
|
||||||
} else {
|
} else {
|
||||||
here->VDIOconductance = here->VDMOSm / 10e-03;
|
here->VDIOconductance = 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (model->VDMOSdrainResistance > 0) {
|
if (model->VDMOSdrainResistance > 0) {
|
||||||
|
|
@ -351,7 +357,7 @@ VDMOSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt,
|
||||||
here->VDMOSsNodePrime = here->VDMOSsNode;
|
here->VDMOSsNodePrime = here->VDMOSsNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (model->VDIOresistance != 0 ) {
|
if (model->VDIOresistance > 0 ) {
|
||||||
if (here->VDIOposPrimeNode == 0) {
|
if (here->VDIOposPrimeNode == 0) {
|
||||||
error = CKTmkVolt(ckt, &tmp, here->VDMOSname, "body diode");
|
error = CKTmkVolt(ckt, &tmp, here->VDMOSname, "body diode");
|
||||||
if (error) return(error);
|
if (error) return(error);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue