next up previous contents
Next: 9. Smart Analysis Package Up: 8. Generic Application Design Previous: 8.3 Diffusion Simulation

Subsections



8.4 Device Simulation

Semiconductor devices have become an ubiquitous commodity and one is used to expect a constant increase of device performance at higher integration densities and falling prices. It is this quest for ever decreasing device dimensions and faster switching speeds that results in ever growing requirements on simulation methodology and thereby on the application design. While computer performance is steadily increasing the additional complexity of these simulation models easily outgrows this gain. This example presents a non-linear problem, discretized by the finite volume method, to show the high expressiveness of the resulting application code.

8.4.1 The Equations

The drift diffusion model which can be derived from Boltzmann's equation by applying the method of moments [132] has been used very successfully in semiconductor device simulations. Equations 8.8 show the resulting current relations. These equations are solved self-consistently by Poisson's equation, given in Equation 8.9.

$\displaystyle \mathrm{div} \left( \mathbf{J_\mathrm{p}} \right) = \mathrm{div} ...
...}   \mu_p   U_\mathrm{th}   \mathrm{grad} \left( p \right) \right) = - q  R$    
$\displaystyle \mathrm{div} \left( \mathbf{J_\mathrm{n}} \right) = \mathrm{div} ...
...{q}   \mu_n   U_\mathrm{th}   \mathrm{grad} \left( n \right) \right) = q  R$ (8.8)

$\displaystyle \mathrm{div} \left( \mathrm{grad} \left( \varepsilon  {\ensuremath{\varphi}} \right) \right) = -q  (p - n + C)$ (8.9)

To this end, the equations are discretized using the Scharfetter-Gummel [154] scheme, resulting in a non-linear equation system of the form [132]

$\displaystyle J_{n,ij} = \frac{ q \; \mu_n \; U_{\mathrm{th}}} {d_{ij}} \bigl( n_j B(\Lambda_{ij}) - n_i B(-\Lambda_{ij}) \bigr)$ (8.10)
$\displaystyle \Lambda_{ij} = \frac{{\ensuremath{\varphi}}_j - {\ensuremath{\varphi}}_i}{U_{\mathrm{th}}}\qquad B(x) =\frac{x}{\mathrm{e}^x - 1}$ (8.11)

The discretization of the given problem using finite volumes yields:
$\displaystyle \mathrm{div} \left( x \right) \approx \sum_{v \rightarrow e} x \; \frac{A}{V} \qquad$   $\displaystyle \mathrm{grad} \left( x \right) \approx \displaystyle{\frac {1}{d}...
...ox{-1.4ex}{\scriptsize {$e \hspace{-0.7ex} \rightarrow \hspace{-0.7ex} v$}}}} x$ (8.12)

In order to make maintenance of the code as easy as possible and to achieve a maximum of flexibility, it is important to keep the code expressive.

8.4.2 Transformation into the GSSE 

The transformation of the presented equations into C++ code is presented in the following source snippet.


\begin{lstlisting}[frame=lines]{}
// Poisson equation
//
equation_pot =
(
sum<...
...x>()[ pot]/U_th)
) * q * mu_p * U_th * area/dist
]
) (*vit);
\end{lstlisting}

By this transformation a link between the still continuous formulation of the equation and a specific chain complex of the simulation domain is formed. As can be observed, the implementation above makes no assumptions about the dimension of the problem and is therefore suitable for arbitrary dimensions. It should be noted that any scaling in the mathematical sense was not carried out in order to highlight the expressiveness of GSSE in this simple example.

The Bernoulli function, given in Equation 8.11, is mapped to Bern, where the discretized differential operators are easily recognized as the diff and sum constructs. This dimension-independent formulation is made possible only by the combination of the separation of algorithms from data sources by the use of traversal mechanisms (Section 7.1) and by the employment of functional objects (Section 7.2). Here, it is important to highlight that the entire application is available at compile-time and can thereby be highly optimized at once. Calculation results based on the techniques presented are provided in the following section.

8.4.3 Results

To demonstrate that the proposed computational scheme is indeed operational a two-dimensional PN-diode is analyzed. Two neighboring regions of different doping, one doped with acceptors, the other doped with donors, result in the well-known rectifying PN diode. Such a two-dimensional silicon PN-diode is simulated based on the given code section. The complete application uses no more then 200 lines of source code for all different dimensions and topological input structures. Figure 8.14 depicts the input structure for two and three dimensions.

Figure 8.14: Domain for a two-dimensional PN-junction diode.
\begin{figure}\begin{center}
\psfrag{SD} [c]{$\Gamma^D$}
\psfrag{x} [c]{x}
...
...s_device_01_diode.eps, angle=0, width=0.45\textwidth}
\end{center}
\end{figure}

The concentration of acceptors has a maximum of $ N_A = 10^{16}
\mathrm{cm}^{-3}$ , the donors concentration has a maximum of $ N_D=10^{19} \mathrm{cm}^{-3}$ . The netto doping profile ($ N_D-N_A$ ) of the device presented in Figure 8.14 is illustrated in Figure 8.15.

Figure 8.15: Netto doping concentration of the two-dimensional PN diode. Donors are given in red, acceptors are blue; units are given in parts per cubic meter.
\begin{figure}\begin{center}
\epsfig{figure=figures/application/device/pn_diode...
....eps, angle=0, width=0.95\textwidth}
\end{center}\vspace*{-0.5cm}\end{figure}

The shape of the initial barrier present without external bias and for reverse mode can be seen in Figure 8.16. When operated in reverse the current is blocked, as is illustrated by the potential when the initial barrier is increased, as shown in Figure 8.17. In forward operation mode, current can run freely, which is reflected by the lowering of the initial potential barrier, as shown in Figure 8.18. The space-charge distribution for reverse mode can be seen in Figure 8.19 and for forward mode in Figure 8.20.

Figure 8.16: Two-dimensional diode with potential distribution for equilibrium mode; units given in Volt.
\begin{figure}\begin{center}
\epsfig{figure =figures/application/device/pn_diod...
....eps, angle=0, width=0.75\textwidth}
\end{center}\vspace*{-0.7cm}\end{figure}


Figure 8.17: Two-dimensional diode with potential distribution for reverse mode; units given in Volt.
\begin{figure}\begin{center}
\epsfig{figure =figures/application/device/pn_diod...
....eps, angle=0, width=0.75\textwidth}
\end{center}
\vspace*{-0.7cm}
\end{figure}


Figure 8.18: Two-dimensional diode with potential distribution for forward mode; units given in Volt.
\begin{figure}\begin{center}
\epsfig{figure =figures/application/device/pn_diod...
....eps, angle=0, width=0.75\textwidth}
\end{center}
\vspace*{-0.7cm}
\end{figure}

Figure 8.19: Two-dimensional diode with charge distribution for reverse mode; units given in parts per cubic meter.
\begin{figure}\begin{center}
\epsfig{figure =figures/application/device/pn_diode_2_2d_rho_reverse.eps, angle=0, width=0.95\textwidth}
\end{center}
\end{figure}

Figure 8.20: Two-dimensional diode with charge distribution for forward mode; units given in parts per cubic meter.
\begin{figure}\begin{center}
\epsfig{figure =figures/application/device/pn_diode_2_2d_rho_forward.eps, angle=0, width=0.95\textwidth}
\end{center}
\end{figure}


next up previous contents
Next: 9. Smart Analysis Package Up: 8. Generic Application Design Previous: 8.3 Diffusion Simulation

R. Heinzl: Concepts for Scientific Computing