|
|
|
@ -694,7 +694,7 @@ int HSMHV2load( |
|
|
|
gds = here->HSMHV2_dIds_dVdsi ; |
|
|
|
gm = here->HSMHV2_dIds_dVgsi ; |
|
|
|
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; |
|
|
|
gds_ext = here->HSMHV2_dIds_dVdse ; |
|
|
|
gm_ext = here->HSMHV2_dIds_dVgse; |
|
|
|
@ -702,7 +702,7 @@ int HSMHV2load( |
|
|
|
dIsub_dVds = here->HSMHV2_dIsub_dVdsi ; |
|
|
|
dIsub_dVgs = here->HSMHV2_dIsub_dVgsi ; |
|
|
|
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 ; |
|
|
|
dIsubs_dVds = 0.0 ; |
|
|
|
dIsubs_dVgs = 0.0 ; |
|
|
|
@ -712,7 +712,7 @@ int HSMHV2load( |
|
|
|
dIsubLD_dVds = here->HSMHV2_dIsubLD_dVdsi ; |
|
|
|
dIsubLD_dVgs = here->HSMHV2_dIsubLD_dVgsi ; |
|
|
|
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 ; |
|
|
|
IsubLDs = 0.0 ; |
|
|
|
dIsubLDs_dVds = 0.0 ; |
|
|
|
@ -724,7 +724,7 @@ int HSMHV2load( |
|
|
|
dIdsIBPC_dVds = here->HSMHV2_dIdsIBPC_dVdsi ; |
|
|
|
dIdsIBPC_dVgs = here->HSMHV2_dIdsIBPC_dVgsi ; |
|
|
|
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 ; |
|
|
|
IdsIBPCs = 0.0 ; |
|
|
|
dIdsIBPCs_dVds = 0.0 ; |
|
|
|
@ -736,39 +736,39 @@ int HSMHV2load( |
|
|
|
dIgidl_dVds = here->HSMHV2_dIgidl_dVdsi ; |
|
|
|
dIgidl_dVgs = here->HSMHV2_dIgidl_dVgsi ; |
|
|
|
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 ; |
|
|
|
dIgisl_dVds = here->HSMHV2_dIgisl_dVdsi ; |
|
|
|
dIgisl_dVgs = here->HSMHV2_dIgisl_dVgsi ; |
|
|
|
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 ; |
|
|
|
dIgd_dVd = here->HSMHV2_dIgd_dVdsi ; |
|
|
|
dIgd_dVg = here->HSMHV2_dIgd_dVgsi ; |
|
|
|
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 ; |
|
|
|
dIgs_dVd = here->HSMHV2_dIgs_dVdsi ; |
|
|
|
dIgs_dVg = here->HSMHV2_dIgs_dVgsi ; |
|
|
|
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 ; |
|
|
|
dIgb_dVd = here->HSMHV2_dIgb_dVdsi ; |
|
|
|
dIgb_dVg = here->HSMHV2_dIgb_dVgsi ; |
|
|
|
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 ; |
|
|
|
Gbd = here->HSMHV2_gbd ; |
|
|
|
Gbdt = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_gbdT : 0.0 ; |
|
|
|
Gbdt = 0.0 ; |
|
|
|
Ibs = here->HSMHV2_ibs ; |
|
|
|
Gbs = here->HSMHV2_gbs ; |
|
|
|
Gbst = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_gbsT : 0.0 ; |
|
|
|
Gbst = 0.0 ; |
|
|
|
} else { /* reverse mode */ |
|
|
|
Ids = - here->HSMHV2_ids ; |
|
|
|
gds = + (here->HSMHV2_dIds_dVdsi + here->HSMHV2_dIds_dVgsi + here->HSMHV2_dIds_dVbsi) ; |
|
|
|
gm = - here->HSMHV2_dIds_dVgsi ; |
|
|
|
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) ; |
|
|
|
gm_ext = - here->HSMHV2_dIds_dVgse; |
|
|
|
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_dVgs = here->HSMHV2_dIsub_dVgsi ; |
|
|
|
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 ; |
|
|
|
dIsubLD_dVds = 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_dVgs = here->HSMHV2_dIsubLD_dVgsi ; |
|
|
|
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 ; |
|
|
|
IdsIBPC = 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_dVgs = here->HSMHV2_dIdsIBPC_dVgsi ; |
|
|
|
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 ; |
|
|
|
Igidl = here->HSMHV2_igisl ; |
|
|
|
dIgidl_dVds = - (here->HSMHV2_dIgisl_dVdsi + here->HSMHV2_dIgisl_dVgsi + here->HSMHV2_dIgisl_dVbsi) ; |
|
|
|
dIgidl_dVgs = here->HSMHV2_dIgisl_dVgsi ; |
|
|
|
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 ; |
|
|
|
dIgisl_dVds = - (here->HSMHV2_dIgidl_dVdsi + here->HSMHV2_dIgidl_dVgsi + here->HSMHV2_dIgidl_dVbsi) ; |
|
|
|
dIgisl_dVgs = here->HSMHV2_dIgidl_dVgsi ; |
|
|
|
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 ; |
|
|
|
dIgd_dVd = - (here->HSMHV2_dIgs_dVdsi + here->HSMHV2_dIgs_dVgsi + here->HSMHV2_dIgs_dVbsi) ; |
|
|
|
dIgd_dVg = here->HSMHV2_dIgs_dVgsi ; |
|
|
|
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 ; |
|
|
|
dIgs_dVd = - (here->HSMHV2_dIgd_dVdsi + here->HSMHV2_dIgd_dVgsi + here->HSMHV2_dIgd_dVbsi) ; |
|
|
|
dIgs_dVg = here->HSMHV2_dIgd_dVgsi ; |
|
|
|
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 ; |
|
|
|
dIgb_dVd = - (here->HSMHV2_dIgb_dVdsi + here->HSMHV2_dIgb_dVgsi + here->HSMHV2_dIgb_dVbsi) ; |
|
|
|
dIgb_dVg = here->HSMHV2_dIgb_dVgsi ; |
|
|
|
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 ; |
|
|
|
Gbd = here->HSMHV2_gbd ; |
|
|
|
Gbdt = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_gbdT : 0.0 ; |
|
|
|
Gbdt = 0.0 ; |
|
|
|
Ibs = here->HSMHV2_ibs ; |
|
|
|
Gbs = here->HSMHV2_gbs ; |
|
|
|
Gbst = (here->HSMHV2_coselfheat > 0) ? here->HSMHV2_gbsT : 0.0 ; |
|
|
|
Gbst = 0.0 ; |
|
|
|
} /* end of reverse mode */ |
|
|
|
|
|
|
|
/* for bypass control, only nonlinear static currents are considered: */ |
|
|
|
|