1 /***********************************************************************
2 
3  HiSIM (Hiroshima University STARC IGFET Model)
4  Copyright (C) 2014 Hiroshima University & STARC
5 
6  MODEL NAME : HiSIM
7  ( VERSION : 2  SUBVERSION : 8  REVISION : 0 )
8 
9  FILE : hsm2evalenv.h
10 
11  Date : 2014.6.5
12 
13  released by
14                 Hiroshima University &
15                 Semiconductor Technology Academic Research Center (STARC)
16 ***********************************************************************/
17 
18 #ifndef HSM2_EVAL_ENV_H
19 #define HSM2_EVAL_ENV_H
20 
21 /* macros and constants used in hsm2eval2yz.c */
22 
23 /*---------------------------------------------------*
24 * Numerical constants. (macro)
25 *-----------------*/
26 
27 /* machine epsilon */
28 #if defined(_FLOAT_H) && defined(DBL_EPSILON)
29 #define C_EPS_M (DBL_EPSILON)
30 #else
31 #define C_EPS_M (2.2204460492503131e-16)
32 #endif
33 
34 #define MAX_EXP 5.834617425e14
35 #define MIN_EXP 1.713908431e-15
36 #define EXP_THR 34.0
37 
38 /* sqrt(2) */
39 #define C_SQRT_2 (1.414213562373095e+00)
40 
41 /* 1/3 */
42 #define C_1o3   (3.333333333333333e-01)
43 /* 2/3 */
44 #define C_2o3   (6.666666666666667e-01)
45 /* 2^(1/3) */
46 #define C_2p_1o3    (1.259921049894873e+00)
47 
48 /* Pi */
49 #define C_Pi   (3.141592653589793)
50 #define C_Pio2 (1.570796326794897)
51 
52 /* Unit change */
53 #define C_m2cm    (1.0e2)
54 #define C_m2cm_p2 (1.0e4)
55 #define C_m2cm_p1o2 (1.0e1)
56 #define C_m2um    (1.0e6)
57 #define C_cm2m_p3 (1.0e-6)
58 #define C_vmax    (1.0e5)
59 #define C_E0_p2   (1.0e9)
60 
61 /*---------------------------------------------------*
62 * Physical constants/properties. (macro)
63 *-----------------*/
64 /* Elemental charge */
65 #define C_QE    (1.6021918e-19)
66 
67 /* Boltzmann constant */
68 #define C_KB    (1.3806226e-23)
69 
70 /* Permitivity of Si, SiO2 and vacuum */
71 #define C_ESI   (1.034943e-10)
72 #define C_EOX   (3.453133e-11)
73 #define C_VAC   (8.8541878e-12)
74 
75 /* Room temperature constants */
76 #define C_T300  (300e+00)
77 #define C_b300  (3.868283e+01)
78 /* #define C_Eg0   (1.1785e0) */ /*changed to parameter sIN.eg0*/
79 
80 /* Build-in potential */
81 /*#define C_Vbi   (1.0e0)*/ /* changed to parameter sIN.vbi */
82 
83 
84 /* Intrinsic carrier density at 300K */
85 #define C_Nin0  (1.04e+16)
86 
87 
88 /*---------------------------------------------------*
89 * Functions. (macro)  Take care of the arguments.
90 *-----------------*/
91 #define Fn_Sqr(x)   ( (x)*(x) ) /* x^2 */
92 #define Fn_Max(x,y) ( (x) >= (y) ? (x) : (y) ) /* max[x,y] */
93 #define Fn_Min(x,y) ( (x) <= (y) ? (x) : (y) ) /* min[x,y] */
94 #define Fn_Sgn(x)   ( (x) >= 0  ?  (1) : (-1) )    /* sign[x] */
95 
96 #endif /* HSM2_EVAL_ENV_H */
97