Browse Source

As the comment said we have bypass only without selfheating

so the expression 'here->HSMHV2_coselfheat > 0' is always false
and all derivatives to temperature are 0.
pre-master-46
dwarning 8 years ago
committed by Holger Vogt
parent
commit
f7c36d66d4
  1. 44
      src/spicelib/devices/hisimhv2/hsmhv2ld.c

44
src/spicelib/devices/hisimhv2/hsmhv2ld.c

@ -694,7 +694,7 @@ int HSMHV2load(
gds = here->HSMHV2_dIds_dVdsi ; gds = here->HSMHV2_dIds_dVdsi ;
gm = here->HSMHV2_dIds_dVgsi ; gm = here->HSMHV2_dIds_dVgsi ;
gmbs = here->HSMHV2_dIds_dVbsi ; gmbs = here->HSMHV2_dIds_dVbsi ;
gmT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIds_dTi : 0.0 ;
gmT = 0.0 ;
gmbs_ext = here->HSMHV2_dIds_dVbse; gmbs_ext = here->HSMHV2_dIds_dVbse;
gds_ext = here->HSMHV2_dIds_dVdse ; gds_ext = here->HSMHV2_dIds_dVdse ;
gm_ext = here->HSMHV2_dIds_dVgse; gm_ext = here->HSMHV2_dIds_dVgse;
@ -702,7 +702,7 @@ int HSMHV2load(
dIsub_dVds = here->HSMHV2_dIsub_dVdsi ; dIsub_dVds = here->HSMHV2_dIsub_dVdsi ;
dIsub_dVgs = here->HSMHV2_dIsub_dVgsi ; dIsub_dVgs = here->HSMHV2_dIsub_dVgsi ;
dIsub_dVbs = here->HSMHV2_dIsub_dVbsi ; dIsub_dVbs = here->HSMHV2_dIsub_dVbsi ;
dIsub_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIsub_dTi : 0.0 ;
dIsub_dT = 0.0 ;
Isubs = 0.0 ; Isubs = 0.0 ;
dIsubs_dVds = 0.0 ; dIsubs_dVds = 0.0 ;
dIsubs_dVgs = 0.0 ; dIsubs_dVgs = 0.0 ;
@ -712,7 +712,7 @@ int HSMHV2load(
dIsubLD_dVds = here->HSMHV2_dIsubLD_dVdsi ; dIsubLD_dVds = here->HSMHV2_dIsubLD_dVdsi ;
dIsubLD_dVgs = here->HSMHV2_dIsubLD_dVgsi ; dIsubLD_dVgs = here->HSMHV2_dIsubLD_dVgsi ;
dIsubLD_dVbs = here->HSMHV2_dIsubLD_dVbsi ; dIsubLD_dVbs = here->HSMHV2_dIsubLD_dVbsi ;
dIsubLD_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIsubLD_dTi : 0.0 ;
dIsubLD_dT = 0.0 ;
dIsubLD_dVddp = here->HSMHV2_dIsubLD_dVddp ; dIsubLD_dVddp = here->HSMHV2_dIsubLD_dVddp ;
IsubLDs = 0.0 ; IsubLDs = 0.0 ;
dIsubLDs_dVds = 0.0 ; dIsubLDs_dVds = 0.0 ;
@ -724,7 +724,7 @@ int HSMHV2load(
dIdsIBPC_dVds = here->HSMHV2_dIdsIBPC_dVdsi ; dIdsIBPC_dVds = here->HSMHV2_dIdsIBPC_dVdsi ;
dIdsIBPC_dVgs = here->HSMHV2_dIdsIBPC_dVgsi ; dIdsIBPC_dVgs = here->HSMHV2_dIdsIBPC_dVgsi ;
dIdsIBPC_dVbs = here->HSMHV2_dIdsIBPC_dVbsi ; dIdsIBPC_dVbs = here->HSMHV2_dIdsIBPC_dVbsi ;
dIdsIBPC_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIdsIBPC_dTi : 0.0 ;
dIdsIBPC_dT = 0.0 ;
dIdsIBPC_dVddp = here->HSMHV2_dIdsIBPC_dVddp ; dIdsIBPC_dVddp = here->HSMHV2_dIdsIBPC_dVddp ;
IdsIBPCs = 0.0 ; IdsIBPCs = 0.0 ;
dIdsIBPCs_dVds = 0.0 ; dIdsIBPCs_dVds = 0.0 ;
@ -736,39 +736,39 @@ int HSMHV2load(
dIgidl_dVds = here->HSMHV2_dIgidl_dVdsi ; dIgidl_dVds = here->HSMHV2_dIgidl_dVdsi ;
dIgidl_dVgs = here->HSMHV2_dIgidl_dVgsi ; dIgidl_dVgs = here->HSMHV2_dIgidl_dVgsi ;
dIgidl_dVbs = here->HSMHV2_dIgidl_dVbsi ; dIgidl_dVbs = here->HSMHV2_dIgidl_dVbsi ;
dIgidl_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIgidl_dTi : 0.0 ;
dIgidl_dT = 0.0 ;
Igisl = here->HSMHV2_igisl ; Igisl = here->HSMHV2_igisl ;
dIgisl_dVds = here->HSMHV2_dIgisl_dVdsi ; dIgisl_dVds = here->HSMHV2_dIgisl_dVdsi ;
dIgisl_dVgs = here->HSMHV2_dIgisl_dVgsi ; dIgisl_dVgs = here->HSMHV2_dIgisl_dVgsi ;
dIgisl_dVbs = here->HSMHV2_dIgisl_dVbsi ; dIgisl_dVbs = here->HSMHV2_dIgisl_dVbsi ;
dIgisl_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIgisl_dTi : 0.0 ;
dIgisl_dT = 0.0 ;
Igd = here->HSMHV2_igd ; Igd = here->HSMHV2_igd ;
dIgd_dVd = here->HSMHV2_dIgd_dVdsi ; dIgd_dVd = here->HSMHV2_dIgd_dVdsi ;
dIgd_dVg = here->HSMHV2_dIgd_dVgsi ; dIgd_dVg = here->HSMHV2_dIgd_dVgsi ;
dIgd_dVb = here->HSMHV2_dIgd_dVbsi ; dIgd_dVb = here->HSMHV2_dIgd_dVbsi ;
dIgd_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIgd_dTi : 0.0 ;
dIgd_dT = 0.0 ;
Igs = here->HSMHV2_igs ; Igs = here->HSMHV2_igs ;
dIgs_dVd = here->HSMHV2_dIgs_dVdsi ; dIgs_dVd = here->HSMHV2_dIgs_dVdsi ;
dIgs_dVg = here->HSMHV2_dIgs_dVgsi ; dIgs_dVg = here->HSMHV2_dIgs_dVgsi ;
dIgs_dVb = here->HSMHV2_dIgs_dVbsi ; dIgs_dVb = here->HSMHV2_dIgs_dVbsi ;
dIgs_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIgs_dTi : 0.0 ;
dIgs_dT = 0.0 ;
Igb = here->HSMHV2_igb ; Igb = here->HSMHV2_igb ;
dIgb_dVd = here->HSMHV2_dIgb_dVdsi ; dIgb_dVd = here->HSMHV2_dIgb_dVdsi ;
dIgb_dVg = here->HSMHV2_dIgb_dVgsi ; dIgb_dVg = here->HSMHV2_dIgb_dVgsi ;
dIgb_dVb = here->HSMHV2_dIgb_dVbsi ; dIgb_dVb = here->HSMHV2_dIgb_dVbsi ;
dIgb_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIgb_dTi : 0.0 ;
dIgb_dT = 0.0 ;
Ibd = here->HSMHV2_ibd ; Ibd = here->HSMHV2_ibd ;
Gbd = here->HSMHV2_gbd ; Gbd = here->HSMHV2_gbd ;
Gbdt = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_gbdT : 0.0 ;
Gbdt = 0.0 ;
Ibs = here->HSMHV2_ibs ; Ibs = here->HSMHV2_ibs ;
Gbs = here->HSMHV2_gbs ; Gbs = here->HSMHV2_gbs ;
Gbst = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_gbsT : 0.0 ;
Gbst = 0.0 ;
} else { /* reverse mode */ } else { /* reverse mode */
Ids = - here->HSMHV2_ids ; Ids = - here->HSMHV2_ids ;
gds = + (here->HSMHV2_dIds_dVdsi + here->HSMHV2_dIds_dVgsi + here->HSMHV2_dIds_dVbsi) ; gds = + (here->HSMHV2_dIds_dVdsi + here->HSMHV2_dIds_dVgsi + here->HSMHV2_dIds_dVbsi) ;
gm = - here->HSMHV2_dIds_dVgsi ; gm = - here->HSMHV2_dIds_dVgsi ;
gmbs = - here->HSMHV2_dIds_dVbsi ; gmbs = - here->HSMHV2_dIds_dVbsi ;
gmT = (here->HSMHV2_coselfheat > 0) ? - here->HSMHV2_dIds_dTi : 0.0 ;
gmT = 0.0 ;
gds_ext = + (here->HSMHV2_dIds_dVdse + here->HSMHV2_dIds_dVgse + here->HSMHV2_dIds_dVbse) ; gds_ext = + (here->HSMHV2_dIds_dVdse + here->HSMHV2_dIds_dVgse + here->HSMHV2_dIds_dVbse) ;
gm_ext = - here->HSMHV2_dIds_dVgse; gm_ext = - here->HSMHV2_dIds_dVgse;
gmbs_ext = - here->HSMHV2_dIds_dVbse; gmbs_ext = - here->HSMHV2_dIds_dVbse;
@ -781,7 +781,7 @@ int HSMHV2load(
dIsubs_dVds = - (here->HSMHV2_dIsub_dVdsi + here->HSMHV2_dIsub_dVgsi + here->HSMHV2_dIsub_dVbsi) ; dIsubs_dVds = - (here->HSMHV2_dIsub_dVdsi + here->HSMHV2_dIsub_dVgsi + here->HSMHV2_dIsub_dVbsi) ;
dIsubs_dVgs = here->HSMHV2_dIsub_dVgsi ; dIsubs_dVgs = here->HSMHV2_dIsub_dVgsi ;
dIsubs_dVbs = here->HSMHV2_dIsub_dVbsi ; dIsubs_dVbs = here->HSMHV2_dIsub_dVbsi ;
dIsubs_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIsub_dTi : 0.0 ;
dIsubs_dT = 0.0 ;
IsubLD = 0.0 ; IsubLD = 0.0 ;
dIsubLD_dVds = 0.0 ; dIsubLD_dVds = 0.0 ;
dIsubLD_dVgs = 0.0 ; dIsubLD_dVgs = 0.0 ;
@ -792,7 +792,7 @@ int HSMHV2load(
dIsubLDs_dVds = - (here->HSMHV2_dIsubLD_dVdsi + here->HSMHV2_dIsubLD_dVgsi + here->HSMHV2_dIsubLD_dVbsi) ; dIsubLDs_dVds = - (here->HSMHV2_dIsubLD_dVdsi + here->HSMHV2_dIsubLD_dVgsi + here->HSMHV2_dIsubLD_dVbsi) ;
dIsubLDs_dVgs = here->HSMHV2_dIsubLD_dVgsi ; dIsubLDs_dVgs = here->HSMHV2_dIsubLD_dVgsi ;
dIsubLDs_dVbs = here->HSMHV2_dIsubLD_dVbsi ; dIsubLDs_dVbs = here->HSMHV2_dIsubLD_dVbsi ;
dIsubLDs_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIsubLD_dTi : 0.0 ;
dIsubLDs_dT = 0.0 ;
dIsubLDs_dVddp = - here->HSMHV2_dIsubLD_dVddp ; dIsubLDs_dVddp = - here->HSMHV2_dIsubLD_dVddp ;
IdsIBPC = 0.0 ; IdsIBPC = 0.0 ;
dIdsIBPC_dVds = 0.0 ; dIdsIBPC_dVds = 0.0 ;
@ -804,39 +804,39 @@ int HSMHV2load(
dIdsIBPCs_dVds = - (here->HSMHV2_dIdsIBPC_dVdsi + here->HSMHV2_dIdsIBPC_dVgsi + here->HSMHV2_dIdsIBPC_dVbsi) ; dIdsIBPCs_dVds = - (here->HSMHV2_dIdsIBPC_dVdsi + here->HSMHV2_dIdsIBPC_dVgsi + here->HSMHV2_dIdsIBPC_dVbsi) ;
dIdsIBPCs_dVgs = here->HSMHV2_dIdsIBPC_dVgsi ; dIdsIBPCs_dVgs = here->HSMHV2_dIdsIBPC_dVgsi ;
dIdsIBPCs_dVbs = here->HSMHV2_dIdsIBPC_dVbsi ; dIdsIBPCs_dVbs = here->HSMHV2_dIdsIBPC_dVbsi ;
dIdsIBPCs_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIdsIBPC_dTi : 0.0 ;
dIdsIBPCs_dT = 0.0 ;
dIdsIBPCs_dVddp = - here->HSMHV2_dIdsIBPC_dVddp ; dIdsIBPCs_dVddp = - here->HSMHV2_dIdsIBPC_dVddp ;
Igidl = here->HSMHV2_igisl ; Igidl = here->HSMHV2_igisl ;
dIgidl_dVds = - (here->HSMHV2_dIgisl_dVdsi + here->HSMHV2_dIgisl_dVgsi + here->HSMHV2_dIgisl_dVbsi) ; dIgidl_dVds = - (here->HSMHV2_dIgisl_dVdsi + here->HSMHV2_dIgisl_dVgsi + here->HSMHV2_dIgisl_dVbsi) ;
dIgidl_dVgs = here->HSMHV2_dIgisl_dVgsi ; dIgidl_dVgs = here->HSMHV2_dIgisl_dVgsi ;
dIgidl_dVbs = here->HSMHV2_dIgisl_dVbsi ; dIgidl_dVbs = here->HSMHV2_dIgisl_dVbsi ;
dIgidl_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIgisl_dTi : 0.0 ;
dIgidl_dT = 0.0 ;
Igisl = here->HSMHV2_igidl ; Igisl = here->HSMHV2_igidl ;
dIgisl_dVds = - (here->HSMHV2_dIgidl_dVdsi + here->HSMHV2_dIgidl_dVgsi + here->HSMHV2_dIgidl_dVbsi) ; dIgisl_dVds = - (here->HSMHV2_dIgidl_dVdsi + here->HSMHV2_dIgidl_dVgsi + here->HSMHV2_dIgidl_dVbsi) ;
dIgisl_dVgs = here->HSMHV2_dIgidl_dVgsi ; dIgisl_dVgs = here->HSMHV2_dIgidl_dVgsi ;
dIgisl_dVbs = here->HSMHV2_dIgidl_dVbsi ; dIgisl_dVbs = here->HSMHV2_dIgidl_dVbsi ;
dIgisl_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIgidl_dTi : 0.0 ;
dIgisl_dT = 0.0 ;
Igd = here->HSMHV2_igd ; Igd = here->HSMHV2_igd ;
dIgd_dVd = - (here->HSMHV2_dIgs_dVdsi + here->HSMHV2_dIgs_dVgsi + here->HSMHV2_dIgs_dVbsi) ; dIgd_dVd = - (here->HSMHV2_dIgs_dVdsi + here->HSMHV2_dIgs_dVgsi + here->HSMHV2_dIgs_dVbsi) ;
dIgd_dVg = here->HSMHV2_dIgs_dVgsi ; dIgd_dVg = here->HSMHV2_dIgs_dVgsi ;
dIgd_dVb = here->HSMHV2_dIgs_dVbsi ; dIgd_dVb = here->HSMHV2_dIgs_dVbsi ;
dIgd_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIgs_dTi : 0.0 ;
dIgd_dT = 0.0 ;
Igs = here->HSMHV2_igs ; Igs = here->HSMHV2_igs ;
dIgs_dVd = - (here->HSMHV2_dIgd_dVdsi + here->HSMHV2_dIgd_dVgsi + here->HSMHV2_dIgd_dVbsi) ; dIgs_dVd = - (here->HSMHV2_dIgd_dVdsi + here->HSMHV2_dIgd_dVgsi + here->HSMHV2_dIgd_dVbsi) ;
dIgs_dVg = here->HSMHV2_dIgd_dVgsi ; dIgs_dVg = here->HSMHV2_dIgd_dVgsi ;
dIgs_dVb = here->HSMHV2_dIgd_dVbsi ; dIgs_dVb = here->HSMHV2_dIgd_dVbsi ;
dIgs_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIgd_dTi : 0.0 ;
dIgs_dT = 0.0 ;
Igb = here->HSMHV2_igb ; Igb = here->HSMHV2_igb ;
dIgb_dVd = - (here->HSMHV2_dIgb_dVdsi + here->HSMHV2_dIgb_dVgsi + here->HSMHV2_dIgb_dVbsi) ; dIgb_dVd = - (here->HSMHV2_dIgb_dVdsi + here->HSMHV2_dIgb_dVgsi + here->HSMHV2_dIgb_dVbsi) ;
dIgb_dVg = here->HSMHV2_dIgb_dVgsi ; dIgb_dVg = here->HSMHV2_dIgb_dVgsi ;
dIgb_dVb = here->HSMHV2_dIgb_dVbsi ; dIgb_dVb = here->HSMHV2_dIgb_dVbsi ;
dIgb_dT = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_dIgb_dTi : 0.0 ;
dIgb_dT = 0.0 ;
Ibd = here->HSMHV2_ibd ; Ibd = here->HSMHV2_ibd ;
Gbd = here->HSMHV2_gbd ; Gbd = here->HSMHV2_gbd ;
Gbdt = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_gbdT : 0.0 ;
Gbdt = 0.0 ;
Ibs = here->HSMHV2_ibs ; Ibs = here->HSMHV2_ibs ;
Gbs = here->HSMHV2_gbs ; Gbs = here->HSMHV2_gbs ;
Gbst = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_gbsT : 0.0 ;
Gbst = 0.0 ;
} /* end of reverse mode */ } /* end of reverse mode */
/* for bypass control, only nonlinear static currents are considered: */ /* for bypass control, only nonlinear static currents are considered: */

Loading…
Cancel
Save