From 00803f7c1f3a3503aca392e2f031cc9f45e9619a Mon Sep 17 00:00:00 2001 From: dwarning Date: Fri, 2 Jan 2026 20:28:45 +0100 Subject: [PATCH] Adapt VDMOS Vth temperature coefficient to usual notation with - for nch and + for pch. --- examples/probe/F5models.lib | 2 +- examples/probe/VDMOS_models.lib | 2 +- examples/vdmos/100W.sp | 2 +- examples/vdmos/100W_wingspread.sp | 2 +- examples/vdmos/crss_coss_ciss.sp | 2 +- examples/vdmos/dcdc.sp | 2 +- examples/vdmos/self-heating.sp | 2 +- examples/vdmos/soa_chk.sp | 2 +- src/spicelib/devices/vdmos/vdmostemp.c | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/probe/F5models.lib b/examples/probe/F5models.lib index ef74eb2f5..2b9086554 100644 --- a/examples/probe/F5models.lib +++ b/examples/probe/F5models.lib @@ -27,7 +27,7 @@ R2 2 3 {value*(1-ratio)+ 1m} + Cgdmax=2.45n Cgdmin=10p a=0.3 Cgs=1.2n + Is=60p N=1.1 Rb=14m XTI=3 + Cjo=1.5n Vj=0.8 m=0.5 -+ tcvth=0.0065 MU=-1.27 texp0=1.5 ++ tcvth=-0.0065 MU=-1.27 texp0=1.5 + Rthjc=0.4 Cthj=0.1 + mtriode=0.8 diff --git a/examples/probe/VDMOS_models.lib b/examples/probe/VDMOS_models.lib index b53103398..a95cfe5f5 100644 --- a/examples/probe/VDMOS_models.lib +++ b/examples/probe/VDMOS_models.lib @@ -4,7 +4,7 @@ + Cgdmax=2.45n Cgdmin=10p a=0.3 Cgs=1.2n + Is=60p N=1.1 Rb=14m XTI=3 + Cjo=1.5n Vj=0.8 m=0.5 -+ tcvth=0.0065 MU=-1.27 texp0=1.5 ++ tcvth=-0.0065 MU=-1.27 texp0=1.5 + Rthjc=0.4 Cthj=0.1 + mtriode=0.8 diff --git a/examples/vdmos/100W.sp b/examples/vdmos/100W.sp index c8e7d2962..6fcd63d00 100644 --- a/examples/vdmos/100W.sp +++ b/examples/vdmos/100W.sp @@ -84,7 +84,7 @@ plot inoise_spectrum + Cgdmax=2.45n Cgdmin=10p a=0.3 Cgs=1.2n + Is=60p N=1.1 Rb=14m XTI=3 + Cjo=1.5n Vj=0.8 m=0.5 -+ tcvth=0.0065 MU=-1.27 texp0=1.5 ++ tcvth=-0.0065 MU=-1.27 texp0=1.5 + Rthjc=0.4 Cthj=5e-3 + mtriode=0.8 .model IRFP9240 VDMOS pchan diff --git a/examples/vdmos/100W_wingspread.sp b/examples/vdmos/100W_wingspread.sp index 3af6383e5..5e18917db 100644 --- a/examples/vdmos/100W_wingspread.sp +++ b/examples/vdmos/100W_wingspread.sp @@ -67,7 +67,7 @@ end + Cgdmax=2.45n Cgdmin=10p a=0.3 Cgs=1.2n + Is=60p N=1.1 Rb=14m XTI=3 + Cjo=1.5n Vj=0.8 m=0.5 -+ tcvth=0.0065 MU=-1.27 texp0=1.5 ++ tcvth=-0.0065 MU=-1.27 texp0=1.5 *+ Rthjc=0.4 Cthj=5e-3 + mtriode=0.8 .model IRFP9240 VDMOS pchan diff --git a/examples/vdmos/crss_coss_ciss.sp b/examples/vdmos/crss_coss_ciss.sp index 44f44bb94..6ff310399 100644 --- a/examples/vdmos/crss_coss_ciss.sp +++ b/examples/vdmos/crss_coss_ciss.sp @@ -40,7 +40,7 @@ plot 'i(v6)/deriv(v(d4))' vs v(d2p) xlog xlimit 1 100 ylimit 0 3n title "IRFP924 + Cgdmax=2.45n Cgdmin=10p a=0.3 Cgs=1.2n + Is=60p N=1.1 Rb=14m XTI=3 + Cjo=1.5n Vj=0.8 m=0.5 -+ tcvth=0.0065 MU=-1.27 texp0=1.5 ++ tcvth=-0.0065 MU=-1.27 texp0=1.5 *+ Rthjc=0.4 Cthj=5e-3 + mtriode=0.8 .model IRFP9240 VDMOS pchan diff --git a/examples/vdmos/dcdc.sp b/examples/vdmos/dcdc.sp index 6e32a54de..46b239b89 100644 --- a/examples/vdmos/dcdc.sp +++ b/examples/vdmos/dcdc.sp @@ -26,7 +26,7 @@ V4 out2 0 0.0 + Cgdmax=.2n Cgdmin=.05n a=0.3 Cgs=.12n + Is=17p N=1.1 Rb=80m XTI=3 + Cjo=.25n Vj=0.8 m=0.5 -+ tcvth=0.007 MU=-1.27 texp0=1.5 ++ tcvth=-0.007 MU=-1.27 texp0=1.5 .model MBRS340 D(Is=22.6u Rs=.042 N=1.094 Cjo=480p M=.61 Eg=.69 Xti=2) diff --git a/examples/vdmos/self-heating.sp b/examples/vdmos/self-heating.sp index 5de456a2b..90edbc847 100644 --- a/examples/vdmos/self-heating.sp +++ b/examples/vdmos/self-heating.sp @@ -10,7 +10,7 @@ VD D 0 2V + Cgdmax=2.45n Cgdmin=10p a=0.3 Cgs=1.2n + Is=60p N=1.1 Rb=14m XTI=3 + Cjo=1.5n Vj=0.8 m=0.5 -+ tcvth=0.0065 MU=-1.27 texp0=1.5 ++ tcvth=-0.0065 MU=-1.27 texp0=1.5 + Rthjc=0.02 Cthj=1e-3 Rthca=1000 + mtriode=0.8 .control diff --git a/examples/vdmos/soa_chk.sp b/examples/vdmos/soa_chk.sp index ea84d89f2..8d1278185 100644 --- a/examples/vdmos/soa_chk.sp +++ b/examples/vdmos/soa_chk.sp @@ -5,7 +5,7 @@ VDMOS SOA check + Rd=61m Rs=18m Rg=3 Rds=1e7 + Cgdmax=2.45n Cgdmin=10p a=0.3 Cgs=1.2n + Is=60p N=1.1 Rb=14m Cjo=1.5n XTI=3 -+ tcvth=0.0065 MU=-1.27 texp0=1.5 ++ tcvth=-0.0065 MU=-1.27 texp0=1.5 + mtriode=0.8 + Vgs_max=20 Vgd_max=20 Vds_max=200 diff --git a/src/spicelib/devices/vdmos/vdmostemp.c b/src/spicelib/devices/vdmos/vdmostemp.c index 202a4611a..36010a87f 100644 --- a/src/spicelib/devices/vdmos/vdmostemp.c +++ b/src/spicelib/devices/vdmos/vdmostemp.c @@ -47,7 +47,7 @@ void VDMOStempUpdate(VDMOSmodel *inModel, VDMOSinstance *here, double Temp, CKTc here->VDMOStTransconductance = model->VDMOStransconductance * here->VDMOSm * pow(ratio, model->VDMOSmu); - here->VDMOStVth = model->VDMOSvth0 - model->VDMOStype * model->VDMOStcvth * dt; + here->VDMOStVth = model->VDMOSvth0 + model->VDMOStcvth * dt; here->VDMOStksubthres = model->VDMOSksubthres * (1.0 + (model->VDMOStksubthres1 * dt) + (model->VDMOStksubthres2 * dt * dt));