update hisimhv to version 1.2.4
This commit is contained in:
parent
9a827a68b9
commit
157aedd72d
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hisimhv.h
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhv.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
|
||||
released by
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvacld.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvask.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvcvtest.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvdef
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvdel.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvdest.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhveval.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
@ -254,6 +254,7 @@ static double TMF0 , TMF1 , TMF2 , TMF3 , TMF4 , TMF5 , TMF6 ;
|
|||
TMF2 = sqrt ( ( x ) * ( x ) + 4.0 * ( delta ) * ( delta) ) ; \
|
||||
dx = 0.5 * ( 1.0 + ( x ) / TMF2 ) ; \
|
||||
y = 0.5 * ( ( x ) + TMF2 ) ; \
|
||||
if( y < 0.0 ) { y=0.0; dx=0.0; } \
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -541,7 +542,7 @@ int HSMHVevaluate
|
|||
double costi0 =0.0 ;
|
||||
double costi1 =0.0, costi1_dT =0.0 ;
|
||||
double costi3 =0.0, costi3_dVb =0.0, costi3_dVd =0.0, costi3_dVg =0.0, costi3_dT =0.0 ;
|
||||
double costi3_dVb_c3 =0.0, costi3_dVd_c3 =0.0, costi3_dVg_c3 =0.0, costi3_dT_c3 =0.0 ;
|
||||
double costi3_dVb_c3 =0.0, costi3_dVd_c3 =0.0, costi3_dVg_c3 =0.0 ;
|
||||
double costi4 =0.0, costi4_dT =0.0 ;
|
||||
double costi5 =0.0, costi5_dT =0.0 ;
|
||||
double costi6 =0.0, costi6_dT =0.0 ;
|
||||
|
|
@ -582,8 +583,8 @@ int HSMHVevaluate
|
|||
double bs12=0.0, bs12_dVb=0.0, bs12_dVd =0.0, bs12_dVg =0.0, bs12_dT =0.0 ;
|
||||
double Qbmm=0.0, Qbmm_dVb=0.0, Qbmm_dVd =0.0, Qbmm_dVg =0.0, Qbmm_dT =0.0 ;
|
||||
double dqb=0.0, dqb_dVb=0.0, dqb_dVg=0.0, dqb_dVd =0.0, dqb_dT =0.0 ;
|
||||
double Vdx=0.0, Vdx_dVbs=0.0, Vdx_dT=0.0 ;
|
||||
double Vdx2=0.0, Vdx2_dVbs=0.0, Vdx2_dT=0.0 ;
|
||||
double Vdx=0.0, Vdx_dVbs=0.0 ;
|
||||
double Vdx2=0.0, Vdx2_dVbs=0.0 ;
|
||||
double Pbsum=0.0, Pbsum_dVb=0.0, Pbsum_dVd=0.0, Pbsum_dVg =0.0, Pbsum_dT =0.0 ;
|
||||
double sqrt_Pbsum =0.0 ;
|
||||
/* Poly-Depletion Effect */
|
||||
|
|
@ -965,7 +966,7 @@ int HSMHVevaluate
|
|||
/*-----------------------------------------------------------*
|
||||
* Start of the routine. (label)
|
||||
*-----------------*/
|
||||
/*start_of_routine:*/
|
||||
/* start_of_routine: */
|
||||
|
||||
/*-----------------------------------------------------------*
|
||||
* Temperature dependent constants.
|
||||
|
|
@ -1780,7 +1781,7 @@ int HSMHVevaluate
|
|||
dqb_dVb = Vthp_dVb - Qbmm_dVb * Cox_inv - Qbmm * Cox_inv_dVb ;
|
||||
dqb_dVd = Vthp_dVd - Qbmm_dVd * Cox_inv - Qbmm * Cox_inv_dVd ;
|
||||
dqb_dVg = Vthp_dVg - Qbmm_dVg * Cox_inv - Qbmm * Cox_inv_dVg ;
|
||||
dqb_dT = Vthp_dT - Qbmm_dT * Cox_inv - Qbmm * Cox_inv_dT ;
|
||||
dqb_dT = Qb0_dT * Cox_inv + Qb0 * Cox_inv_dT - Qbmm_dT * Cox_inv - Qbmm * Cox_inv_dT ;
|
||||
|
||||
T1 = 2.0 * C_QE * here->HSMHV_nsubc * C_ESI ;
|
||||
T2 = sqrt( T1 * ( Pb2c - Vbsz2 ) ) ;
|
||||
|
|
@ -1814,10 +1815,8 @@ int HSMHVevaluate
|
|||
|
||||
Vdx = model->HSMHV_scp21 + Vdsz ;
|
||||
Vdx_dVbs = Vdsz_dVbs ;
|
||||
Vdx_dT = Vdsz_dT ;
|
||||
Vdx2 = Vdx * Vdx ;
|
||||
Vdx2_dVbs = 2 * Vdx_dVbs * Vdx ;
|
||||
Vdx2_dT = 2 * Vdx_dT * Vdx ;
|
||||
|
||||
dVthLP = T1 * dVth0 * T3 + dqb - here->HSMHV_msc / Vdx2 ;
|
||||
dVthLP_dVb = T1_dVb * dVth0 * T3 + T1 * dVth0_dVb * T3 + T1 * dVth0 * T3_dVb
|
||||
|
|
@ -2119,6 +2118,7 @@ int HSMHVevaluate
|
|||
|
||||
}
|
||||
|
||||
|
||||
/*-----------------------------------------------------------*
|
||||
* Accumulation zone. (zone-A)
|
||||
* - evaluate basic characteristics and exit from this part.
|
||||
|
|
@ -2820,7 +2820,7 @@ int HSMHVevaluate
|
|||
/*-----------------------------------------------------------*
|
||||
* Start point of Psl (= Ps0 + Pds) calculation. (label)
|
||||
*-----------------*/
|
||||
/* start_of_Psl:*/
|
||||
/* start_of_Psl: */
|
||||
|
||||
|
||||
/* Vdseff (begin) */
|
||||
|
|
@ -2831,6 +2831,7 @@ int HSMHVevaluate
|
|||
T2_dVb = T4 * Cox_dVb ;
|
||||
T2_dVd = T4 * Cox_dVd ;
|
||||
T2_dVg = T4 * Cox_dVg ;
|
||||
T2_dT = T4 * Cox_dT ;
|
||||
|
||||
T0 = Vgp - beta_inv - Vbsz ;
|
||||
T0_dT = Vgp_dT - beta_inv_dT - Vbsz_dT ;
|
||||
|
|
@ -2844,20 +2845,21 @@ int HSMHVevaluate
|
|||
T3_dVb = - T2_dVb * T7 + T8 * ( Vgp_dVbs - Vbsz_dVbs ) ;
|
||||
T3_dVd = - T2_dVd * T7 + T8 * ( Vgp_dVds - Vbsz_dVds ) ;
|
||||
T3_dVg = - T2_dVg * T7 + T8 * Vgp_dVgs ;
|
||||
T3_dT = T0_dT / ( T2 * T3 ) ;
|
||||
T3_dT = - T2_dT * T7 + T8 * T0_dT ;
|
||||
|
||||
T10 = Vgp + T2 * ( 1.0e0 - T3 ) ;
|
||||
T10_dVb = Vgp_dVbs + T2_dVb * ( 1.0e0 - T3 ) - T2 * T3_dVb ;
|
||||
T10_dVd = Vgp_dVds + T2_dVd * ( 1.0e0 - T3 ) - T2 * T3_dVd ;
|
||||
T10_dVg = Vgp_dVgs + T2_dVg * ( 1.0e0 - T3 ) - T2 * T3_dVg ;
|
||||
T10_dT = Vgp_dT - T2 * T3_dT ;
|
||||
T10_dT = Vgp_dT + T2_dT * ( 1.0e0 - T3 ) - T2 * T3_dT ;
|
||||
Fn_SZ( T10 , T10 , 0.01 , T0 ) ;
|
||||
T10 += epsm10 ;
|
||||
T10_dVb *= T0 ;
|
||||
T10_dVd *= T0 ;
|
||||
T10_dVg *= T0 ;
|
||||
T10_dT *= T0 ;
|
||||
|
||||
T1 = Vds / T10 + small ;
|
||||
T1 = Vds / T10 ;
|
||||
T2 = Fn_Pow( T1 , here->HSMHV_ddlt - 1.0e0 ) ;
|
||||
T7 = T2 * T1 ;
|
||||
T0 = here->HSMHV_ddlt * T2 / ( T10 * T10 ) ;
|
||||
|
|
@ -3946,7 +3948,7 @@ start_of_mobility:
|
|||
T0_dVg = Ra_dVgs * Ids0 + Ra * Ids0_dVgs ;
|
||||
T0_dT = Ra * Ids0_dT ;
|
||||
|
||||
T1 = Vds + small ;
|
||||
T1 = Vds + small2 ;
|
||||
T2 = 1.0 / T1 ;
|
||||
T3 = 1.0 + T0 * T2 ;
|
||||
T3_dVb = T0_dVb * T2 ;
|
||||
|
|
@ -4019,7 +4021,7 @@ start_of_mobility:
|
|||
dVthSCSTI_dVb = dVth0_dVb * T1 + dVth0 * T6 * Vdsz_dVbs ;
|
||||
dVthSCSTI_dVd = dVth0_dVd * T1 + dVth0 * T6 * Vdsz_dVds ;
|
||||
dVthSCSTI_dVg = dVth0_dVg * T1 ;
|
||||
dVthSCSTI_dT = dVth0_dT * T1 ;
|
||||
dVthSCSTI_dT = dVth0_dT * T1 + dVth0 * T6 * Vdsz_dT ;
|
||||
|
||||
T1 = pParam->HSMHV_vthsti - model->HSMHV_vdsti * Vds ;
|
||||
T1_dVd = - model->HSMHV_vdsti ;
|
||||
|
|
@ -4028,7 +4030,7 @@ start_of_mobility:
|
|||
Vgssti_dVbs = Vgsz_dVbs + dVthSCSTI_dVb ;
|
||||
Vgssti_dVds = Vgsz_dVds + T1_dVd + dVthSCSTI_dVd ;
|
||||
Vgssti_dVgs = Vgsz_dVgs + dVthSCSTI_dVg ;
|
||||
Vgssti_dT = dVthSCSTI_dT ;
|
||||
Vgssti_dT = Vgsz_dT + dVthSCSTI_dT ;
|
||||
|
||||
costi0 = here->HSMHV_costi0 ;
|
||||
costi1 = here->HSMHV_costi1 ;
|
||||
|
|
@ -4043,7 +4045,6 @@ start_of_mobility:
|
|||
costi3_dVb_c3 = costi3_dVb * T2 ;
|
||||
costi3_dVd_c3 = costi3_dVd * T2 ;
|
||||
costi3_dVg_c3 = costi3_dVg * T2 ;
|
||||
costi3_dT_c3 = costi3_dT * T2 ;
|
||||
|
||||
costi4 = costi3 * beta * 0.5 ;
|
||||
costi4_dT = ( costi3_dT * beta + costi3 * beta_dT ) * 0.5 ;
|
||||
|
|
@ -4073,7 +4074,7 @@ start_of_mobility:
|
|||
T3_dVg = T10_dVg + 0.5 * (T1_dVg + (T1 * T1_dVg + T0 * 2.0 * T10_dVg * psisti_dlt) / T2)
|
||||
+ dVthSCSTI_dVg ;
|
||||
T3_dT = T10_dT + 0.5 * (T1_dT + (T1 * T1_dT + T0 * 2.0 * T10_dT * psisti_dlt) / T2)
|
||||
+ dVthSCSTI_dT ;
|
||||
+ dVthSCSTI_dT - Vbsz_dT ;
|
||||
|
||||
T4 = beta * T3 - 1.0 ;
|
||||
T4_dT = beta_dT * T3 + beta * T3_dT ;
|
||||
|
|
@ -4147,7 +4148,7 @@ start_of_mobility:
|
|||
T1_dVb = beta * ((Psti_dVbs - Vbsz_dVbs) + T0 * Psti_dVbs) ;
|
||||
T1_dVd = beta * ((Psti_dVds - Vbsz_dVds) + T0 * Psti_dVds) ;
|
||||
T1_dVg = beta * (Psti_dVgs + T0 * Psti_dVgs) ;
|
||||
T1_dT = beta_dT * (Psti - Vbsz) + beta * Psti_dT + T0_dT ;
|
||||
T1_dT = beta_dT * (Psti - Vbsz) + beta * (Psti_dT - Vbsz_dT) + T0_dT ;
|
||||
Fn_SZ ( T1 , T1, 1.0e-2, T0) ;
|
||||
T1 += epsm10 ;
|
||||
T1_dVb *= T0 ;
|
||||
|
|
@ -4165,7 +4166,7 @@ start_of_mobility:
|
|||
T1_dVb = beta * (Psti_dVbs - Vbsz_dVbs) ;
|
||||
T1_dVd = beta * (Psti_dVds - Vbsz_dVds) ;
|
||||
T1_dVg = beta * Psti_dVgs ;
|
||||
T1_dT = beta_dT * ( Psti - Vbsz ) + beta * Psti_dT ;
|
||||
T1_dT = beta_dT * ( Psti - Vbsz ) + beta * (Psti_dT - Vbsz_dT) ;
|
||||
Fn_SZ( T1 , T1, 1.0e-2, T0) ;
|
||||
T1 += epsm10 ;
|
||||
T1_dVb *= T0 ;
|
||||
|
|
@ -4335,6 +4336,7 @@ start_of_mobility:
|
|||
T1_dVd = T0 * Vgp_dVds ;
|
||||
T1_dVg = T0 * Vgp_dVgs ;
|
||||
T1_dVb = T0 * Vgp_dVbs ;
|
||||
T1_dT = T0 * Vgp_dT ;
|
||||
|
||||
T7 = Cox0 * Cox0 ;
|
||||
T8 = here->HSMHV_qnsub_esi ;
|
||||
|
|
@ -4348,7 +4350,7 @@ start_of_mobility:
|
|||
T5_dVd = T1_dVd - T2 * Vbsz_dVds;
|
||||
T5_dVg = T1_dVg ;
|
||||
T5_dVb = T1_dVb - T2 * Vbsz_dVbs;
|
||||
T5_dT = - beta_inv_dT ;
|
||||
T5_dT = - beta_inv_dT + T1_dT - T2 * Vbsz_dT ;
|
||||
|
||||
T6 = T4 * T5 ;
|
||||
T6_dVd = T4 * T5_dVd ;
|
||||
|
|
@ -4372,7 +4374,7 @@ start_of_mobility:
|
|||
Psislsat_dVd = T1_dVd - T3 * T6_dVd ;
|
||||
Psislsat_dVg = T1_dVg - T3 * T6_dVg ;
|
||||
Psislsat_dVb = T1_dVb - T3 * T6_dVb ;
|
||||
Psislsat_dT = -T3 * T6_dT ;
|
||||
Psislsat_dT = T1_dT - T3 * T6_dT ;
|
||||
|
||||
T2 = here->HSMHV_lgate / (here->HSMHV_xgate + here->HSMHV_lgate) ;
|
||||
|
||||
|
|
@ -4380,7 +4382,7 @@ start_of_mobility:
|
|||
Psisubsat_dVd = pParam->HSMHV_svds * Vdsz_dVds + Ps0z_dVds - T2 * Psislsat_dVd ;
|
||||
Psisubsat_dVg = Ps0z_dVgs - T2 * Psislsat_dVg ;
|
||||
Psisubsat_dVb = pParam->HSMHV_svds * Vdsz_dVbs + Ps0z_dVbs - T2 * Psislsat_dVb ;
|
||||
Psisubsat_dT = Ps0z_dT - T2 * Psislsat_dT ;
|
||||
Psisubsat_dT = pParam->HSMHV_svds * Vdsz_dT + Ps0z_dT - T2 * Psislsat_dT ;
|
||||
Fn_SZ( Psisubsat , Psisubsat, 1.0e-3, T9 ) ;
|
||||
Psisubsat += small ;
|
||||
Psisubsat_dVd *= T9 ;
|
||||
|
|
@ -4480,7 +4482,7 @@ start_of_mobility:
|
|||
dVbsIBPC_dVbs = pParam->HSMHV_ibpc1 * ( pParam->HSMHV_ibpc2 * dVth_dVb * Isub + T0 * Isub_dVbs ) ;
|
||||
dVbsIBPC_dVds = pParam->HSMHV_ibpc1 * ( pParam->HSMHV_ibpc2 * dVth_dVd * Isub + T0 * Isub_dVds ) ;
|
||||
dVbsIBPC_dVgs = pParam->HSMHV_ibpc1 * ( pParam->HSMHV_ibpc2 * dVth_dVg * Isub + T0 * Isub_dVgs ) ;
|
||||
dVbsIBPC_dT = pParam->HSMHV_ibpc1 * T0 * Isub_dT ;
|
||||
dVbsIBPC_dT = pParam->HSMHV_ibpc1 * ( pParam->HSMHV_ibpc2 * dVth_dT * Isub + T0 * Isub_dT ) ;
|
||||
|
||||
/* dG3 & dG4 */
|
||||
T10 = 1e0 / Xi0 ;
|
||||
|
|
@ -4556,7 +4558,7 @@ start_of_mobility:
|
|||
T1_dVg = Vgsz_dVgs + T3 * (dVth_dVg - dPpg_dVg) - Psdlz_dVgs * pParam->HSMHV_gleak3 ;
|
||||
T1_dVd = Vgsz_dVds + T3 * (dVth_dVd - dPpg_dVd) - Psdlz_dVds * pParam->HSMHV_gleak3 ;
|
||||
T1_dVb = Vgsz_dVbs + T3 * ( dVth_dVb - dPpg_dVb ) - Psdlz_dVbs * pParam->HSMHV_gleak3 ;
|
||||
T1_dT = T3 * ( dVth_dT - dPpg_dT ) - Psdlz_dT * pParam->HSMHV_gleak3 ;
|
||||
T1_dT = Vgsz_dT + T3 * ( dVth_dT - dPpg_dT ) - Psdlz_dT * pParam->HSMHV_gleak3 ;
|
||||
|
||||
T3 = 2.0 * T1 ;
|
||||
T1_dVg = T3 * T1_dVg ;
|
||||
|
|
@ -4742,7 +4744,7 @@ start_of_mobility:
|
|||
) / Tox0 ;
|
||||
T2_dVb = - ( pParam->HSMHV_fvbs * Vbsz_dVbs -Vgsz_dVbs + dVthSC_dVb + dVthLP_dVb
|
||||
) / Tox0 ;
|
||||
T2_dT = - ( dVthSC_dT + dVthLP_dT
|
||||
T2_dT = - ( pParam->HSMHV_fvbs * Vbsz_dT -Vgsz_dT + dVthSC_dT + dVthLP_dT
|
||||
) / Tox0 ;
|
||||
|
||||
T0 = T2 * T2 ;
|
||||
|
|
@ -4822,7 +4824,7 @@ start_of_mobility:
|
|||
|
||||
T3 = 1 / (Egidl + small) ;
|
||||
T0 = - pParam->HSMHV_gidl2 * Egp32 * T3 ;
|
||||
T0_dT = - pParam->HSMHV_gidl2 * T3 *( Egp32_dT - Egidl_dT * T3 ) ;
|
||||
T0_dT = - pParam->HSMHV_gidl2 * T3 *( Egp32_dT - Egidl_dT * T3 * Egp32 ) ;
|
||||
if ( T0 < - EXP_THR ) {
|
||||
Igidl = 0.0 ;
|
||||
Igidl_dVbs = Igidl_dVds = Igidl_dVgs = Igidl_dT = 0.0 ;
|
||||
|
|
@ -4836,7 +4838,7 @@ start_of_mobility:
|
|||
Igidl_dVbs = T3 * Egidl_dVb ;
|
||||
Igidl_dVds = T3 * Egidl_dVd ;
|
||||
Igidl_dVgs = T3 * Egidl_dVg ;
|
||||
Igidl_dT = T3 * Egidl_dT + T2 * Egidl * Egidl * T1_dT + T2_dT * Egidl * Egidl * T1;
|
||||
Igidl_dT = T2 * T1 * Egidl * 2.0 * Egidl_dT + T2 * Egidl * Egidl * T1_dT + T2_dT * Egidl * Egidl * T1;
|
||||
}
|
||||
|
||||
/* bug-fix */
|
||||
|
|
@ -4888,7 +4890,7 @@ start_of_mobility:
|
|||
|
||||
T3 = 1 / (Egisl + small) ;
|
||||
T0 = - pParam->HSMHV_gidl2 * Egp32 * T3 ;
|
||||
T0_dT = - pParam->HSMHV_gidl2 * T3 * ( Egp32_dT - Egisl_dT * T3 ) ;
|
||||
T0_dT = - pParam->HSMHV_gidl2 * T3 * ( Egp32_dT - Egisl_dT * T3 * Egp32 ) ;
|
||||
if ( T0 < - EXP_THR ) {
|
||||
Igisl = 0.0 ;
|
||||
Igisl_dVbs = Igisl_dVds = Igisl_dVgs = Igisl_dT = 0.0 ;
|
||||
|
|
@ -4903,7 +4905,7 @@ start_of_mobility:
|
|||
Igisl_dVbs = T3 * Egisl_dVb ;
|
||||
Igisl_dVds = T3 * Egisl_dVd ;
|
||||
Igisl_dVgs = T3 * Egisl_dVg ;
|
||||
Igisl_dT = T3 * Egisl_dT + T2_dT * Egisl * Egisl * T1 + T2 * Egisl * Egisl * T1_dT ;
|
||||
Igisl_dT = T2 * T1 * Egisl * 2.0 * Egisl_dT + T2_dT * Egisl * Egisl * T1 + T2 * Egisl * Egisl * T1_dT ;
|
||||
}
|
||||
|
||||
/* bug-fix */
|
||||
|
|
@ -5315,7 +5317,7 @@ start_of_mobility:
|
|||
* End of PART-3. (label)
|
||||
*-----------------*/
|
||||
|
||||
/* end_of_part_3:*/
|
||||
/* end_of_part_3: */
|
||||
|
||||
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
* PART-4: Substrate-source/drain junction diode.
|
||||
|
|
@ -5730,7 +5732,7 @@ start_of_mobility:
|
|||
* End of PART-4. (label)
|
||||
*-----------------*/
|
||||
|
||||
/* end_of_part_4:*/
|
||||
/* end_of_part_4: */
|
||||
|
||||
|
||||
|
||||
|
|
@ -5843,7 +5845,7 @@ start_of_mobility:
|
|||
/*-----------------------------------------------------------*
|
||||
* End of PART-5. (label)
|
||||
*-----------------*/
|
||||
/* end_of_part_5:*/
|
||||
/* end_of_part_5: */
|
||||
|
||||
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
* PART-6: Noise Calculation.
|
||||
|
|
@ -5934,7 +5936,7 @@ start_of_mobility:
|
|||
/*-----------------------------------------------------------*
|
||||
* End of PART-6. (label)
|
||||
*-----------------*/
|
||||
/* end_of_part_6:*/
|
||||
/* end_of_part_6: */
|
||||
|
||||
|
||||
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
|
@ -6481,7 +6483,7 @@ start_of_mobility:
|
|||
here->HSMHV_dRd_dVsubs = Rs_dVsubs / Mfactor ;
|
||||
here->HSMHV_dRd_dTi = Rs_dT / Mfactor ;
|
||||
here->HSMHV_Rs = Rd / Mfactor ;
|
||||
here->HSMHV_dRs_dVdse = - ( Rd_dVdse + Rd_dVgse + Rd_dVbse + Rs_dVsubs ) / Mfactor ;
|
||||
here->HSMHV_dRs_dVdse = - ( Rd_dVdse + Rd_dVgse + Rd_dVbse + Rd_dVsubs ) / Mfactor ;
|
||||
here->HSMHV_dRs_dVgse = Rd_dVgse / Mfactor ;
|
||||
here->HSMHV_dRs_dVbse = Rd_dVbse / Mfactor ;
|
||||
here->HSMHV_dRs_dVsubs = Rd_dVsubs / Mfactor ;
|
||||
|
|
@ -6508,7 +6510,7 @@ start_of_mobility:
|
|||
/*-----------------------------------------------------------*
|
||||
* End of PART-7. (label)
|
||||
*-----------------*/
|
||||
/* end_of_part_7:*/
|
||||
/* end_of_part_7: */
|
||||
|
||||
/*-----------------------------------------------------------*
|
||||
* Bottom of hsmhveval.
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhveval_qover.h
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvevalenv.h
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvext.h
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvgetic.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvitf
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvld.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
@ -23,7 +23,6 @@
|
|||
#include "ngspice/devdefs.h"
|
||||
#include "ngspice/suffix.h"
|
||||
|
||||
|
||||
#define SHOW_EPS_QUANT 1.0e-15
|
||||
|
||||
static void ShowPhysVals
|
||||
|
|
@ -40,8 +39,8 @@ static void ShowPhysVals
|
|||
)
|
||||
{
|
||||
|
||||
NG_IGNORE(vgd);
|
||||
NG_IGNORE(vbd);
|
||||
NG_IGNORE(vgd);
|
||||
NG_IGNORE(vbd);
|
||||
|
||||
/* */
|
||||
/* */
|
||||
|
|
@ -250,7 +249,7 @@ int HSMHVload(
|
|||
|
||||
double Qdext=0.0, dQdext_dVdse=0.0, dQdext_dVgse=0.0, dQdext_dVbse=0.0, dQdext_dT=0.0 ;
|
||||
double Qgext=0.0, dQgext_dVdse=0.0, dQgext_dVgse=0.0, dQgext_dVbse=0.0, dQgext_dT=0.0 ;
|
||||
double Qsext=0.0, dQsext_dVdse=0.0, dQsext_dVgse=0.0, dQsext_dVbse=0.0, dQsext_dT=0.0 ;
|
||||
double dQsext_dVdse=0.0, dQsext_dVgse=0.0, dQsext_dVbse=0.0, dQsext_dT=0.0 ;
|
||||
double Qbext=0.0, dQbext_dVdse=0.0, dQbext_dVgse=0.0, dQbext_dVbse=0.0, dQbext_dT=0.0 ;
|
||||
/* 5th substrate node */
|
||||
int flg_subNode = 0 ;
|
||||
|
|
@ -1108,7 +1107,6 @@ line755: /* standard entry if HSMHVevaluate is bypassed */
|
|||
dQgext_dVgse = here->HSMHV_dQgext_dVgse ;
|
||||
dQgext_dVbse = here->HSMHV_dQgext_dVbse ;
|
||||
dQgext_dT = (here->HSMHV_coselfheat > 0) ? here->HSMHV_dQgext_dTi : 0.0 ;
|
||||
Qsext = here->HSMHV_qsext ;
|
||||
dQsext_dVdse = here->HSMHV_dQsext_dVdse ;
|
||||
dQsext_dVgse = here->HSMHV_dQsext_dVgse ;
|
||||
dQsext_dVbse = here->HSMHV_dQsext_dVbse ;
|
||||
|
|
@ -1270,7 +1268,6 @@ line755: /* standard entry if HSMHVevaluate is bypassed */
|
|||
dQgext_dVgse = here->HSMHV_dQgext_dVgse ;
|
||||
dQgext_dVbse = here->HSMHV_dQgext_dVbse ;
|
||||
dQgext_dT = (here->HSMHV_coselfheat > 0) ? here->HSMHV_dQgext_dTi : 0.0 ;
|
||||
Qsext = here->HSMHV_qdext ;
|
||||
dQsext_dVdse = - (here->HSMHV_dQdext_dVdse + here->HSMHV_dQdext_dVgse + here->HSMHV_dQdext_dVbse);
|
||||
dQsext_dVgse = here->HSMHV_dQdext_dVgse ;
|
||||
dQsext_dVbse = here->HSMHV_dQdext_dVbse ;
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvld_info_eval.h
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
recent changes: - 2009.01.09 some bugfixes
|
||||
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvmask.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
@ -1851,23 +1851,23 @@ int HSMHVmAsk(
|
|||
return(OK);
|
||||
|
||||
case HSMHV_MOD_VGS_MAX:
|
||||
value->rValue = model->HSMHVvgsMax;
|
||||
return(OK);
|
||||
value->rValue = model->HSMHVvgsMax;
|
||||
return(OK);
|
||||
case HSMHV_MOD_VGD_MAX:
|
||||
value->rValue = model->HSMHVvgdMax;
|
||||
return(OK);
|
||||
value->rValue = model->HSMHVvgdMax;
|
||||
return(OK);
|
||||
case HSMHV_MOD_VGB_MAX:
|
||||
value->rValue = model->HSMHVvgbMax;
|
||||
return(OK);
|
||||
value->rValue = model->HSMHVvgbMax;
|
||||
return(OK);
|
||||
case HSMHV_MOD_VDS_MAX:
|
||||
value->rValue = model->HSMHVvdsMax;
|
||||
return(OK);
|
||||
value->rValue = model->HSMHVvdsMax;
|
||||
return(OK);
|
||||
case HSMHV_MOD_VBS_MAX:
|
||||
value->rValue = model->HSMHVvbsMax;
|
||||
return(OK);
|
||||
value->rValue = model->HSMHVvbsMax;
|
||||
return(OK);
|
||||
case HSMHV_MOD_VBD_MAX:
|
||||
value->rValue = model->HSMHVvbdMax;
|
||||
return(OK);
|
||||
value->rValue = model->HSMHVvbdMax;
|
||||
return(OK);
|
||||
|
||||
default:
|
||||
return(E_BADPARM);
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvmdel.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvmpar.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
@ -2447,29 +2447,29 @@ int HSMHVmParam(
|
|||
break;
|
||||
|
||||
case HSMHV_MOD_VGS_MAX:
|
||||
mod->HSMHVvgsMax = value->rValue;
|
||||
mod->HSMHVvgsMaxGiven = TRUE;
|
||||
break;
|
||||
mod->HSMHVvgsMax = value->rValue;
|
||||
mod->HSMHVvgsMaxGiven = TRUE;
|
||||
break;
|
||||
case HSMHV_MOD_VGD_MAX:
|
||||
mod->HSMHVvgdMax = value->rValue;
|
||||
mod->HSMHVvgdMaxGiven = TRUE;
|
||||
break;
|
||||
mod->HSMHVvgdMax = value->rValue;
|
||||
mod->HSMHVvgdMaxGiven = TRUE;
|
||||
break;
|
||||
case HSMHV_MOD_VGB_MAX:
|
||||
mod->HSMHVvgbMax = value->rValue;
|
||||
mod->HSMHVvgbMaxGiven = TRUE;
|
||||
break;
|
||||
mod->HSMHVvgbMax = value->rValue;
|
||||
mod->HSMHVvgbMaxGiven = TRUE;
|
||||
break;
|
||||
case HSMHV_MOD_VDS_MAX:
|
||||
mod->HSMHVvdsMax = value->rValue;
|
||||
mod->HSMHVvdsMaxGiven = TRUE;
|
||||
break;
|
||||
mod->HSMHVvdsMax = value->rValue;
|
||||
mod->HSMHVvdsMaxGiven = TRUE;
|
||||
break;
|
||||
case HSMHV_MOD_VBS_MAX:
|
||||
mod->HSMHVvbsMax = value->rValue;
|
||||
mod->HSMHVvbsMaxGiven = TRUE;
|
||||
break;
|
||||
mod->HSMHVvbsMax = value->rValue;
|
||||
mod->HSMHVvbsMaxGiven = TRUE;
|
||||
break;
|
||||
case HSMHV_MOD_VBD_MAX:
|
||||
mod->HSMHVvbdMax = value->rValue;
|
||||
mod->HSMHVvbdMaxGiven = TRUE;
|
||||
break;
|
||||
mod->HSMHVvbdMax = value->rValue;
|
||||
mod->HSMHVvbdMaxGiven = TRUE;
|
||||
break;
|
||||
|
||||
default:
|
||||
return(E_BADPARM);
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvnoi.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvpar.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvpzld.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvset.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
@ -74,13 +74,13 @@ int HSMHVsetup(
|
|||
model->HSMHV_noise = 1;
|
||||
|
||||
if ( !model->HSMHV_version_Given) {
|
||||
model->HSMHV_version = "1.23" ;
|
||||
printf(" 1.23 is selected for VERSION. (default) \n");
|
||||
model->HSMHV_version = "1.24" ;
|
||||
printf(" 1.24 is selected for VERSION. (default) \n");
|
||||
} else {
|
||||
if (strcmp(model->HSMHV_version,"1.23") != 0 ) {
|
||||
model->HSMHV_version = "1.23" ;
|
||||
printf(" 1.23 is the only available VERSION. \n");
|
||||
printf(" 1.23 is selected for VERSION. (default) \n");
|
||||
if (strcmp(model->HSMHV_version,"1.24") != 0 ) {
|
||||
model->HSMHV_version = "1.24" ;
|
||||
printf(" 1.24 is only available for VERSION. \n");
|
||||
printf(" 1.24 is selected for VERSION. (default) \n");
|
||||
} else {
|
||||
printf(" %s is selected for VERSION \n", model->HSMHV_version);
|
||||
}
|
||||
|
|
@ -916,10 +916,27 @@ int HSMHVsetup(
|
|||
here->HSMHVdbNode = here->HSMHVbNodePrime = here->HSMHVsbNode = here->HSMHVbNode;
|
||||
}
|
||||
|
||||
if ( here->HSMHV_cosubnode == 0 && here->HSMHVsubNode >= 0 ) {
|
||||
if ( here->HSMHVtempNode >= 0 ) {
|
||||
/* FATAL Error when 6th node is defined and COSUBNODE=0 */
|
||||
IFuid namarr[2];
|
||||
namarr[0] = here->HSMHVname;
|
||||
namarr[1] = model->HSMHVmodName;
|
||||
(*(SPfrontEnd->IFerror))
|
||||
(
|
||||
ERR_FATAL,
|
||||
"HiSIM_HV: MOSFET(%s) MODEL(%s): 6th node is defined and COSUBNODE=0",
|
||||
namarr
|
||||
);
|
||||
return (E_BADPARM);
|
||||
} else {
|
||||
|
||||
/* 5th node is switched to tempNode, if COSUBNODE=0 and 5 external nodes are assigned. */
|
||||
if ( here->HSMHV_cosubnode == 0 && here->HSMHVsubNode > 0 && here->HSMHVtempNode <= 0 ) {
|
||||
here->HSMHVtempNode = here->HSMHVsubNode ;
|
||||
here->HSMHVsubNode = -1 ;
|
||||
if ( here->HSMHVsubNode > 0 ) {
|
||||
here->HSMHVtempNode = here->HSMHVsubNode ;
|
||||
here->HSMHVsubNode = -1 ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* self heating*/
|
||||
|
|
@ -1320,7 +1337,7 @@ do { if((here->ptr = SMPmakeElt(matrix,here->first,here->second))==(double *)NUL
|
|||
RANGECHECK(model->HSMHV_sub2l, 0.0, 1.0, "SUB2L") ;
|
||||
RANGECHECK(model->HSMHV_voverp, 0.0, 2.0, "VOVERP") ;
|
||||
RANGECHECK(model->HSMHV_qme1, 0.0, 300.0e-9, "QME1") ;
|
||||
RANGECHECK(model->HSMHV_qme2, 0.0, 2.0, "QME2") ;
|
||||
RANGECHECK(model->HSMHV_qme2, 0.0, 0.0, "QME2") ;
|
||||
RANGECHECK(model->HSMHV_qme3, 0.0,800.0e-12, "QME3") ;
|
||||
RANGECHECK(model->HSMHV_glpart1, 0.0, 1.0, "GLPART1") ;
|
||||
RANGECHECK(model->HSMHV_tnom, 22.0, 32.0, "TNOM") ;
|
||||
|
|
@ -1437,7 +1454,7 @@ do { if((here->ptr = SMPmakeElt(matrix,here->first,here->second))==(double *)NUL
|
|||
}
|
||||
|
||||
return(OK);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
HSMHVunsetup(
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvtemp.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
@ -325,9 +325,9 @@ int HSMHVtemp(
|
|||
here->HSMHV_rd0 = 0.0 ;
|
||||
}
|
||||
if ( pParam->HSMHV_rd > 0.0 || pParam->HSMHV_rs > 0.0 ) {
|
||||
here->HSMHV_rdtemp0 = 1.0 + model->HSMHV_rds / pow( here->HSMHV_w * C_m2um * LG , model->HSMHV_rdsp ) ;
|
||||
here->HSMHV_rdtemp0 = 1.0 + model->HSMHV_rds / pow( WL , model->HSMHV_rdsp ) ;
|
||||
if( pParam->HSMHV_rdvd != 0.0 ){
|
||||
T7 = ( 1.0 + model->HSMHV_rdvds / pow( here->HSMHV_w * C_m2um * LG , model->HSMHV_rdvdsp ) );
|
||||
T7 = ( 1.0 + model->HSMHV_rdvds / pow( WL , model->HSMHV_rdvdsp ) );
|
||||
T6 = ( - model->HSMHV_rdvdl * pow( LG , model->HSMHV_rdvdlp ) ) ;
|
||||
if(T6 > large_arg) T6 = large_arg ;
|
||||
T6 = exp( T6 ) ;
|
||||
|
|
@ -335,7 +335,7 @@ int HSMHVtemp(
|
|||
}
|
||||
}
|
||||
if( pParam->HSMHV_rd23 != 0.0 ){
|
||||
T2 = ( 1.0 + model->HSMHV_rd23s / pow( here->HSMHV_w * C_m2um * LG , model->HSMHV_rd23sp ) );
|
||||
T2 = ( 1.0 + model->HSMHV_rd23s / pow( WL , model->HSMHV_rd23sp ) );
|
||||
T1 = ( - model->HSMHV_rd23l * pow( LG , model->HSMHV_rd23lp ) ) ;
|
||||
if(T1 > large_arg) T1 = large_arg ;
|
||||
T1 = exp( T1 ) ;
|
||||
|
|
@ -399,13 +399,13 @@ int HSMHVtemp(
|
|||
|
||||
/* Self heating */
|
||||
pParam->HSMHV_rth = pParam->HSMHV_rth0 / ( here->HSMHV_m * here->HSMHV_weff_nf )
|
||||
* ( 1.0 + model->HSMHV_rth0w / pow( here->HSMHV_w * C_m2um , model->HSMHV_rth0wp ) );
|
||||
* ( 1.0 + model->HSMHV_rth0w / pow( WG , model->HSMHV_rth0wp ) );
|
||||
pParam->HSMHV_cth = modelMKS->HSMHV_cth0 * ( here->HSMHV_m * here->HSMHV_weff_nf ) ;
|
||||
|
||||
pParam->HSMHV_rth *= ( 1.0 / pow( here->HSMHV_nf , model->HSMHV_rth0nf ) ) ;
|
||||
|
||||
here->HSMHV_rthtemp0 = 1.0 / pow( here->HSMHV_nf , model->HSMHV_rth0nf ) / ( here->HSMHV_m * here->HSMHV_weff_nf )
|
||||
* ( 1.0 + model->HSMHV_rth0w / pow( here->HSMHV_w * C_m2um , model->HSMHV_rth0wp ) );
|
||||
* ( 1.0 + model->HSMHV_rth0w / pow( WG , model->HSMHV_rth0wp ) );
|
||||
|
||||
|
||||
/*-----------------------------------------------------------*
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvtemp_eval.h
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
Copyright (C) 2012 Hiroshima University & STARC
|
||||
|
||||
MODEL NAME : HiSIM_HV
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 3 )
|
||||
( VERSION : 1 SUBVERSION : 2 REVISION : 4 )
|
||||
Model Parameter VERSION : 1.23
|
||||
FILE : hsmhvtrunc.c
|
||||
|
||||
DATE : 2012.4.6
|
||||
DATE : 2013.04.30
|
||||
|
||||
released by
|
||||
Hiroshima University &
|
||||
|
|
|
|||
Loading…
Reference in New Issue