Title: Authors: Contact: Abstract: The subject of this work is a semiconductor device simulator based on finite differences, to serve as a teaching aid. This software was implemented in Matlab, because of its widespread usage and strong graphic and numerical capabilities. This way the simulator can have an attractive graphic output and a concise, clear source code, encouraging students to experiment, understand and modify the program to suit their research interests. For simplicity and conciseness, analysis was limited to the one-dimensional, steady state case. This allows the simulation of basic devices such as the pndiode, bipolar transistor and two-terminal MOS structure. An overview of basic theory and simulation techniques is presented, and two examples of simulation results are shown, for a pn-diode and a JFET transistor. Simulation of Basic Semiconductor Devices Using Matlab Paulo Tavares, Alberto M. Jorge, Saulo Finco Paulo Tavares (e-mail: ptavares@im.cti.br, phone: +55 19 746-6055)
Abstract
The subject of this work is a semiconductor device simulator based on finite differences, to serve as a teaching aid. This software was implemented in Matlab, because of its widespread usage and strong graphic and numerical capabilities. This way the simulator can have an attractive graphic output and a concise, clear source code, encouraging students to experiment, understand and modify the program to suit their research interests. For simplicity and conciseness, analysis was limited to the one-dimensional, steady state case. This will allow the simulation of basic devices such as the pndiode, bipolar transistor and two-terminal MOS structure.
2.
In order to perform the analysis, three main equations must be considered: Poisson, continuity and current equations. Their meaning will now be reviewed in more detail.
1.
Introduction
The purpose of this work is the implementation of a semiconductor device simulator based on the finitedifference method, for educational purposes. This kind of simulator obtains the electrical characteristics of a semiconductor device (terminal voltages as a function of current, or vice-versa) from the physical characteristics of the device (dopant concentrations, generation-recombination mechanisms, etc.) The first successful attempts at this technique date back to the sixties [1,2], and thorough surveys can be found on [3,4]. Of course, sophisticated commercial software packages are available. But unfortunately, for pedagogical purposes, these are too expensive and unnecessarily sophisticated. This software was implemented in Matlab. Because of Matlabs widespread usage and strong graphic and numerical capabilities, the simulator can have an attractive graphic output and a concise, clear source code. This will encourage students to experiment, understand and modify the program to suit their research interests. For the sake of simplicity and conciseness, analysis was limited to the one-dimensional, steady state case. This will allow the simulation of basic devices such
It assumes, namely, small deviations from equilibrium (low fields), unless and D are made field-dependent.
Dp = p q , Dn = n q . Thus, applying E = , kT Jp = q p ( p q p) , Jn = q n ( n +
kT n) q
kT
kT
(2.a) (2.b)
p n = Nc Nv eEG /kT. The product pn in equilibrium is commonly written ni2. Besides, in equilibrium, in spite of the random thermal motion of carriers, Jp 0, Jn 0. Equilibrium can be disturbed by applying an electric field, by injecting (n p > ni2) carriers or by extracting them (n p < ni2).
3.
Numerical solution
(4.a) (4.b)
div Jn = q (G R) + q
p = + VT log( p/ni ), (10.a) n = VT log( n/ni ). (10.b) Variables n and p are called quasi-Fermi potentials. It is implicit in the equations above that the relation between potential energy and occupancy of states in the conductance band and in the valence bands (from which n and p result) is determined by Boltzmann statistics (for more details see e.g.[7]), but in the context of this problem, they can be seen simply as a variable substitution. This substitution is useful because n and p vary exponentially with . Because n and p are obtained from the logarithm of n and p, problems due to overflow or underflow become less likely.
3.2. Normalisation
Another way to limit the range of numeric values is to perform a normalisation. There are several
possibilities for this. Is this case we will be using the following: Potentials are divided by VT : , * = / V T p* = p*/ VT n* = n*/ VT Concentrations are divided by N, where N = ni . Lengths are normalised according to x* = x /L where L, the intrinsic Debye length3, is given by
By normalising, NB q *'' VT/L2 = (e* en* ep* e *+ n ) ni i Taking (11) into account results in NB *'' = e* en* ep* e* + n (14) i Because the equation is non-linear in *, it will still be necessary to linearise it and solve it iteratively afterwards. The procedure consists of replacing * by *new = * + * in equation (13). Then, *'' + *'' = e* + * en* ep* e* * + NB ni Now a linear equation can be obtained, by considering e* 1 + *, and so NB *''+*''= e*en*(1+*) ep*e*(1 *) + n i . By grouping the terms in *,
VT (11) q ni Extra care must be used when normalising derivatives... d 1 *' = dx* { VT [x(x*)] }.
L= By applying the chain rule, one obtains
*' = *' =
and therefore
x(x*)
''(x)
*''(e*n*+ ep**) *= NB e*n* ep**+ *''. ni When discretising the equation, the remaining terms that multiply by * appear, because, according to (12), *i1 2*i +*i+1 *'' h2 and *i1 2*i +*i+1 h2 It is essential to apply the boundary conditions properly. These conditions use potential, although they could also be expressed as electric field values. Note that boundary conditions are imposed to initial values *left and *rigth, but because the system is solved in terms of *, boundary conditions in such systems must be *left = *right = 0. *''
, (12)
Grid interval h must be made small enough to resolve charge variations in space. Therefore, it should be significantly smaller than the Debye length.
Corresponds to the distance over which a small unbalanced charge decays (ref. [8], page 639).
= q p ni e/VT ep/VT p' = q p ni e VT (p'/VT) e (15) = q VT p ni e/VT (ep/VT)' The procedure for electrons is similar, using (9.b),
/VT
4.
p/VT
Simulation Results
A silicon p-n junction at 300K will be considered. Doping levels and the resulting V-I curve are shown below.
10 9 8 7 x 10
17
Impurity ions
6 5 4 3 2 1 0 0
n'
= q n ni e/VTen/VTn' = q n ni e/VT VT (n'/VT) en/VT (16) = q VT n ni e/VT (en/VT)' In order to simplify notation in subsequent manipulations, terms with no dependence on p or n will be isolated and an additional variable substitution will be performed, p = ep/VT, n = en/VT, (17) from which the current equations can be rewriteen as Jp = ap(x) p' , (18.a) Jn = an(x) n' , (18.b) where ap(x) = q VT p ni e/VT, (19.a) an(x) = q VT n ni e/VT. (19.b) To substitute the current equations, as rewritten in (18), into the continuity equations (7), it is convenient to notice that the latter present a similar basic form for both electrons and holes: J' = q U [a(x) ']' = q U When discretising this equation, the derivative of will use differences between points in the interleaving mesh, for greater accuracy (refer to [9,5] for details). That is equivalent to consider Ji+ Ji =qU h where, in turn, i+1 i , h i i1 . Ji = ai h If the values of current density are not to be stored, the discretisation can be written as Ji+ = ai+
ai+ i+1h i ai i h i1
3 Position [m]
5 x 10
6
-5
14
x 10
-18
p-n junction
12
10
Current [A]
-2 -0.4
-0.3
-0.2
-0.1
0 Voltage [V]
0.1
0.2
0.3
0.4
But even this basic 1-D simulation can be used to obtain insight into the workings of more complex device such as a JFET. By saving all the results obtained during a a voltage sweep, a "1-D" simulation is obtained. Plotting n(x,V) shows the enlargement of the depletion zone under reverse bias:
Electron concentration n(x,V)
18
Concentration [m^-3]
x 10
-5
= qU
Voltage [V]
Now, we can consider that the previous simulation was actually the simulation of half of a symmetric JFET transistor having such a long channel that 2-D effects can be neglected in most of the channel region.
x 10
-4
1 1 0.8 0.8
position x [m]
Position [m]
0.6
0.6
0.4 0.4 0.2 0.2 0 0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 Voltage [V] -0.3 -0.2 -0.1 0 -4.5 -4 -3.5 -3 -2.5 -2 position l [m] -1.5 -1 -0.5 x 10
-7
Note that there is a non-linear relation between voltage drop and distance along the channel, because dVDS = I dR, where 1 dR = dl W q n xmaxn(x)dx xmin If we call f(V) = q n xmaxn(x)dx , then xmin I W dVDS = dl l(V) = Vf(V')dV' W f(V) I 0 This function l(V) is displayed below:
0 -0.5 -1 -1.5 -2 x 10
-7
Note that the values of l would seem to indicate that the initial hypothesis of a long channel is inadequate, but that is not quite true, because the value is relative to W = 1m, I = 1A.
References
[ ] P. Antognetti, G. Massobrio (ed.s), Semiconductor Device Modelling with SPICE, 1988, McGraw-Hill, NewYork [1] H. K. Gummel, A Self-Consistent Iterative Scheme for One-Dimensional Steady State Transistor Calculations, IEEE Transactions on Electron Devices, Oct. 1964, pp. 455-465 [2] G. D. Hachtel, R. C. Joy, J. W. Cooley, A New Efficient One-Dimensional Analysis Program for Junction Device Modelling, Proceedings of the IEEE, Jan. 1972, pp. 86-98 [3] S. Selberherr, Analysis and Simulation of Semiconductor Devices, 1984, Springer Verlag, Wien [4] C. M. Snowden, Introduction to Semiconductor Device Modelling,1986, World Scientific Publishing, Singapore [5] U. Ravaioli, Review of Conventional Semiconductor Models, 1994, online at: http://wwwncce.ceg.uiuc.edu /tutorials/bte_dd/html /bte_dd.html (visited on May 2000) [6] A. M. Jorge, Fsica e Modelos de Componentes Bipolares, 1999, Editora da Unicamp, Campinas Brazil. [7] A. S. Grove, Physics and Technology of Semiconductor Devices, 1967, John Wiley & Sons, New York [8] S. M. Sze, Physics of Semiconductor Devices, 2nd ed., 1981, John Wiley & Sons, New York [9] U. Ravaioli, Introduction to the Numerical Solution of Partial Differential Equations, 1994, online at: http://wwwncce.ceg.uiuc.edu /tutorials/pde/html/pde.html (visited on May 20)
l(V)
l [m]
-0.8
-0.6
-0.4 V [V]
-0.2
0.2