diff --git a/src/spicelib/devices/hicum2/hicumL2.cpp b/src/spicelib/devices/hicum2/hicumL2.cpp index 9f14fed39..b7d21b174 100644 --- a/src/spicelib/devices/hicum2/hicumL2.cpp +++ b/src/spicelib/devices/hicum2/hicumL2.cpp @@ -6,7 +6,7 @@ Spice3 Implementation: 2019 Dietmar Warning, Markus Müller, Mario Krattenmacher **********/ /* - * This file defines the HICUM L2.4.3 model load function + * This file defines the HICUM L2.4.0 model load function * Comments on the Code: * - We use dual numbers to calculate derivatives, this is readble and error proof. * - The code is targeted to be readbale and maintainable, speed is sacrificied for this purpose. @@ -31,7 +31,7 @@ Spice3 Implementation: 2019 Dietmar Warning, Markus Müller, Mario Krattenmacher * - Qf * - Qr * - iavl - * - iBEti (?) + * - iBEti * - itf, itr */ @@ -110,7 +110,7 @@ duals::duald HICDIO(duals::duald T, double IST, double UM1, duals::duald U) { duals::duald DIOY, le, vt; - printf("2"); + // printf("2"); vt = UM1 * CONSTboltz * T / CHARGE; DIOY = U/vt; if (IST > 0.0) { @@ -536,7 +536,7 @@ void hicum_diode(double T, double IS, double UM1, double U, double *Iz, double * //wrapper for hicum diode equation that also generates derivatives duals::duald result = 0; - printf("executed diode"); + // printf("executed diode"); result = HICDIO(T, IS, UM1, U+1_e); *Iz = result.rpart(); @@ -1654,7 +1654,6 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt) //Tunneling current //TODO: missing temperature derivatives abet_t vdei_t ibets_t cjei0_t vdep_t ibets_t cjep0_t - //@Mario: is there really no direct T dependence here? result = calc_ibet(Vbiei, Vbpei+1_e); ibet = result.rpart(); ibet_Vbpei = result.dpart(); diff --git a/src/spicelib/devices/hicum2/overview_files.md b/src/spicelib/devices/hicum2/overview_files.md index abb94ecd6..e5bc1f64e 100644 --- a/src/spicelib/devices/hicum2/overview_files.md +++ b/src/spicelib/devices/hicum2/overview_files.md @@ -23,4 +23,8 @@ This file gives an overview of the files needed for the ngspice HiCUM version, e # hicum2setup.c # hicum2soachk.c # hicum2temp.c + * Temperature scaling of all parameters + * Models are implemented, missing are the derivatives + * As most models are easy and just temperature dependent -> no dual numbers + * Assignee: Mario # hicum2trunc.c diff --git a/tests/hicum2/FG.cir b/tests/hicum2/FG.cir index 3328ae9c9..ee259d6d9 100644 --- a/tests/hicum2/FG.cir +++ b/tests/hicum2/FG.cir @@ -23,11 +23,11 @@ Q1 Q1_C Q1_B Q1_E Q1_S Q1_T P1 + fbcpar=0.3 fbepar=1 cjs0=2.6e-014 vds=0.9997 zs=0.4295 vpts=100 + t0=2.089e-013 dt0h=8e-014 tbvl=8.25e-014 tef0=3.271e-013 gtfe=3.548 thcs=5.001e-012 + ahc=0.05 fthc=0.7 rci0=9.523 vlim=0.6999 vces=0.01 vpt=2 tr=0 -+ cbepar=2.609e-014 cbcpar=1.64512e-014 alqf=0.166667 alit=0.333333 flnqs=1 kf=0 ++ cbepar=2.609e-014 cbcpar=1.64512e-014 alqf=0.166667 alit=0.333333 flnqs=0 kf=0 + af=2 cfbe=-1 latb=0 latl=0 vgb=0.91 alt0=0.004 kt0=6.588e-005 + zetaci=0.58 alvs=0.001 alces=-0.2286 zetarbi=0.3002 zetarbx=0.06011 zetarcx=-0.02768 + zetare=-0.9605 zetacx=0 vge=1.17 vgc=1.17 vgs=1.17 f1vg=-0.000102377 f2vg=0.00043215 -+ zetact=5 zetabet=4.892 flsh=1 rth=1113.4 cth=6.841e-012 zetarth=0 ++ zetact=5 zetabet=4.892 flsh=0 rth=1113.4 cth=6.841e-012 zetarth=0 + alrth=0.002 flcomp=0.0 tnom=26.85 acbar=1.5 flcono=0 icbar=0.01 + vcbar=0.04 zetavgbe=0.7 hf0=40 ahjei=3 rhjei=2 delck=2 zetahjei=-0.5