diff --git a/src/spicelib/devices/hicum2/hicum2defs.h b/src/spicelib/devices/hicum2/hicum2defs.h index 893a87505..861504efd 100644 --- a/src/spicelib/devices/hicum2/hicum2defs.h +++ b/src/spicelib/devices/hicum2/hicum2defs.h @@ -526,7 +526,9 @@ typedef struct sHICUMinstance { #define HICUMith_Vbbp HICUMstate+123 #define HICUMith_Veie HICUMstate+124 -#define HICUMnumStates 125 +#define HICUMit HICUMstate+125 //for noise + +#define HICUMnumStates 126 /* per model data */ typedef struct sHICUMmodel { /* model structure for a hicum */ diff --git a/src/spicelib/devices/hicum2/hicum2noise.c b/src/spicelib/devices/hicum2/hicum2noise.c index 803a96adc..64631c6c4 100644 --- a/src/spicelib/devices/hicum2/hicum2noise.c +++ b/src/spicelib/devices/hicum2/hicum2noise.c @@ -151,7 +151,6 @@ HICUMnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata ckt,SHOTNOISE,here->HICUMcollCINode,here->HICUMbaseBINode, here->HICUMiavl); -//todo: ibici contains iavl, has to be separated for non-correlated noise NevalSrc(&noizDens[HICUMIBCINOIZ],&lnNdens[HICUMIBCINOIZ], ckt,SHOTNOISE,here->HICUMbaseBINode,here->HICUMcollCINode, *(ckt->CKTstate0 + here->HICUMibici)+here->HICUMiavl); @@ -168,10 +167,9 @@ HICUMnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata ckt,SHOTNOISE,here->HICUMsubsSINode,here->HICUMcollCINode, *(ckt->CKTstate0 + here->HICUMisici)); -//todo: iciei contains it, has to be separated for non-correlated noise NevalSrc(&noizDens[HICUMITNOIZ],&lnNdens[HICUMITNOIZ], ckt,SHOTNOISE,here->HICUMcollCINode,here->HICUMemitEINode, - *(ckt->CKTstate0 + here->HICUMiciei)); + *(ckt->CKTstate0 + here->HICUMit)); NevalSrc(&noizDens[HICUMIBEINOIZ],&lnNdens[HICUMIBEINOIZ], ckt,SHOTNOISE,here->HICUMbaseBINode,here->HICUMemitEINode, diff --git a/src/spicelib/devices/hicum2/hicumL2.cpp b/src/spicelib/devices/hicum2/hicumL2.cpp index 0ebd7c347..273a2e271 100644 --- a/src/spicelib/devices/hicum2/hicumL2.cpp +++ b/src/spicelib/devices/hicum2/hicumL2.cpp @@ -1459,6 +1459,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt) *(ckt->CKTstate0+here->HICUMith_Vcic)=*(ckt->CKTstate1+here->HICUMith_Vcic); *(ckt->CKTstate0+here->HICUMith_Vbbp)=*(ckt->CKTstate1+here->HICUMith_Vbbp); *(ckt->CKTstate0+here->HICUMith_Veie)=*(ckt->CKTstate1+here->HICUMith_Veie); + *(ckt->CKTstate0+here->HICUMit)=*(ckt->CKTstate1+here->HICUMit); ///////////////////////// // end copy state vector ///////////////////////// @@ -2893,6 +2894,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt) *(ckt->CKTstate0 + here->HICUMixf2_Vxf1) = Ixf2_Vxf1; *(ckt->CKTstate0 + here->HICUMixf2_Vxf2) = Ixf2_Vxf2; *(ckt->CKTstate0 + here->HICUMixf2_Vrth) = Ixf2_dT; + *(ckt->CKTstate0 + here->HICUMit) = it; load: // #############################################################