Thesis for: M.Sc, Advisor: M. Elbanna, T. Namoor


This thesis is about Simulation of semiconductor devices. Simulation of
semiconductor devices aims at solving the semiconductor partial differential equations
(PDE) for different device geometry and parameters. Device simulators help the device
engineer to create, test and verify novel structures. This increases our physical knowledge
without even going to the laboratory. In the era of the ever-decreasing device structures
simulation methods must be validated and the device engineer must rely on it, since the
cost of manufacturing a device to test is high.
This thesis discusses the requirements needed to implement such a simulator. Several
computational challenges and how they can be solved are presented. It was the aim of this
thesis to implement a device simulator using an object-oriented programming (OOP)
methodology. OOP is a modern programming approach which makes it easy to increase
the program capabilities while keeping the program neat and tight.
The thesis was divided into two main components: geometry and computation. The
geometry component deals with the geometrical aspects ( geometry intersection, point
inclusion, mesh generation and neighborhood adjacency relationships ). We used
Semiconductor Wafer Representation (SWR)model, the well known standard by
Stanford, for implementing the geometry component. SWR does not provide details about
the implementation, it mainly concerned about giving the interface. We tried to keep
close to the standard as we could. Since our simulator is designed to be used for different
device structures, It is important for the mesh generation procedures to deal with
irregularities in the device. Triangles are chosen as the mesh elements. Since we use
OOP, a triangle is inherited from a more abstract polygon class so that different polygonal
elements can be used as well. The simulator is implemented to deal with polygonal
devices but, curved boundaries can be added by inheriting a curve from the basic Edge
class as well.
The geometry algorithms: point inclusion, region intersections, storage of device, etc..
are chosen to be efficient and general and that is the real challenge since, efficiency
doesn't always go well with generality. Therefore, we are biased to generality when
generality is a must, otherwise efficiency has the higher priority. Since the variables
(electric field, electric current, potentials,..etc..) may change with different orders of
magnitude in small regions, adaptive mesh is required. A quad-tree algorithm is used for
generating the mesh. The algorithm goes by spatially decomposing the device domain
into squares when the level of a nodal point is higher than the level of the square. This
will generate an adaptive spatial decomposition. Triangulation in the interior of the device is
done using certain patterns. The boundary zone (known as delta zone) is isolated from the
device region and triangulated using Constrained Delaunay Triangulation ( CDT )
algorithm. CDT is a complex and expensive (from the computational point of view )
algorithm. Fortunately, it is used only in the delta-zone.
The computational component is a real challenge as well. For different device
structures as well as in different modes of operation certain parameters and functions may
dominate while others may be negligible. The simulator has to deal with this. Different
mobility, recombination and generation models can be incorporated to the simulator. The
simulator user has to be free to use the model he wants. Not only that, but the user can
even implement his own models and test them. Again, OOP plays the important role here.
Models are inherited from a general, abstract function class. The user can do what ever he
wants inside the function, but since all functions have the same interface, the simulator
will not distinguish between them.
There are different device models, Hydrodynamic, Energy Transport, Drift-
Diffusion,..etc.. Even the Drift-Diffusion model, which is the simplest model, is complex
in its own. The Drift-Diffusion model consists of three coupled nonlinear partial
differential equations. There are different discretization schemes for discretizing the
system of equations. We used a hybrid mixed finite element scheme. This scheme gives
us some sort of continuity for the electric flux ( required when using different materials )
and current density. It is common for a practical device consisting of different sub-regions
to be discretized using thousands of elements. This will lead to thousands of variables and
millions of matrices elements. Fortunately, the finite element scheme is sparse in nature.
Using different sparse techniques depending on the nature of the matrix is another use of
OOP. Nonlinear Poisson's equation is linearized. The linearized system was solved using
a global Newton method algorithm. Global Newton method converges to the exact
solution whatever the initial guess is.
Different results, a PN junction and a MOS device are shown. Different channel
lengths are entered to the simulator and the I-V characteristics are drawn. The results
shown are highly compatible with the analytical formulae.
MATLAB was originally used for displaying the geometry, mesh as well as plotting
the I-V characteristics. Another version is implemented which uses the windows
application interfaces for entering the device, setting the different parameters as well as
generating the mesh.
SEMILAB is the result of this thesis. It is a mini simulator, which shows how
sophisticated a device simulator is.

Download full-text


Available from: Sameh Ahmed Yousry Elnaggar,