3.1.2 Limitations of the PIF-Libraries for Three-Dimensional
Device Simulation
The libraries described above have been heavily used in the two-dimensional
version of Minimos-NT. Despite of the implementation in Minimos-NT these libraries
have some disadvantages which restrict their practical relevance for a
multi-dimensional simulator.
- Although the libraries PAI, GRS, and GAS have been implemented for two-
or three-dimensional applications they are not suitable for
multi-dimensional applications. The libraries can either be compiled for
two or for three dimensions. Thus, a two- and a three-dimensional version of
Minimos-NT must be compiled which do not enable multi-dimensional mixed-mode
simulations.
- The Geometry2DSupport library uses the slab method
[95] to perform point location within the geometry. Due to this
method the complete library has been designed to handle two-dimensional
geometries only.
Other obstacles found during code analysis concerning the implementation and
usage of the libraries of the two-dimensional version of Minimos-NT are:
- Calls to the PIF-Libraries are spread over the whole code. Thus,
maintenance of the code is difficult and the probability that the developer
introduces new errors is high.
- The library calls are very complex and have up to parameters with
slightly or completely different meaning and may depend on each other. A
typical call to read a value of a single quantity is gasPifGetReal
which requires parameters.
- Each developer has to know exactly the internal description of each
quantity. To identify a quantity four names and two integers are
required. For the quantity handling several additional information is
necessary like the segment and grid a quantity is defined on or quantity
properties like if it stores vectors or is constant. Thus, these
calls require a deep knowledge of the library internal representation of each
quantity and, therefore, are error-prone which resulted in copy-paste-code to
avoid failures.
- Before quantities are used, quantities have to be initialized. Because
the handling of quantities is spread over several files and several functions
it was hard to guarantee that the initialization was done before their first
use. The developer had to find out if a quantity has been initialized
before.
- Quantities can be created, deleted, and modified anywhere in the code.
This resulted in a software product complex to understand, to maintain, and
to modify.
- The Voronoi information is calculated by Minimos-NT. But to accomplish
this, the handling of grids was implemented twice: For ortho-product and for
triangular grids. The code mainly differed by names for variables and
functions.
Thus, the PIF-Libraries which are used by the two-dimensional version of
Minimos-NT are not well suited to handle the geometries, grids and attributes for
multi-dimensional TCAD tools. Two solutions have been imaginable:
- Expanding the PIF-Libraries to three-dimensions. The advantage of this
approach is, that the software architecture of Minimos-NT can be nearly left
unchanged and most of the PIF-Library calls inside Minimos-NT can remain. The
disadvantage is, that expanding of these libraries to three dimensions would
lead in a complete redesign of the libraries. Nevertheless, Minimos-NT still
would be restricted to grids, file-formats and functionality supported by
these libraries.
- Development of a new interface which can use any kind of library to
represent complete wafers like the Wafer-State-Server
[108,109].
Within this thesis the second approach has been chosen. Therefore, a new
quantity server as well as interfaces to read the device and grid descriptions
have been developed. This approach allows to connect Minimos-NT to several
existing libraries. An example of such a library is the so called
Wafer-State-Server which has been developed at the Institute for
Microelectronics within the past years. It is a library which can handle
complex geometries and attributes distributed on the grid. The geometries may
consist of several segments. Two- and three-dimensional structures are
supported. Nevertheless, its two-dimensional capabilities are small. It
provides several readers and writers for several formats such as HDF5
[110] or DFISE [111].
Robert Klima
2003-02-06