In process modeling simulation serves as an aid for gaining insight into physical processes. The simulation tool must be able to capture modern device structures and advanced materials on the one hand side, and should be fast enough on the other hand side to be applicable for optimization purposes. Rigorous modeling capabilities and computational efficiency are not contradictory. We want to give details on the design of a state-of-the-art diffusion simulator, PROMIS-NT, developed within an advanced TCAD framework, VISTA.
The VISTA project was launched in 1990 and aims at providing a simulation environment for development of integrated circuits including process-, device- and circuit simulation. With the framework concept the role of stand-alone simulation tools changed significantly. Previously, simulation tools were independent from other simulators on the data level as well as on the task level. They initialized their own structures, used private physical data and wrote their results using their own data format. The basic idea of frameworks was to define a generalized data format which can be used by each simulator and to combine several independent tools to work together in a simulation environment. Therefore, it was necessary to equip the simulators with data interfaces and user interfaces. During the further development some high level functionality like geometry support, gridding, equation solving, moved from the simulation tools to the framework. What remains at the simulator's site were the physical core routines. PROMIS-NT is a vivid example for the extensive use of framework functionality to solve the diffusion problem. Figure 4.2-1 gives the current structure of PROMIS-NT, where the functionality delivered by the framework can be seen.
Figure 4.2-1: Structure of PROMIS-NT
including all high level tool libraries provided by VISTA.
From the modeling point of view several requirements are mandatory for being applicable to modern simulation structures. A diffusion simulator must be able to fulfill the following needs:
The first requirement can be satisfied by an efficient grid generation module, where triangular grids ensure the approximation of nonplanar geometries. For multilayer simulations it is necessary to split up the overall grid into material segment related grids.
Then it is possible to initialize different diffusion models for each material segment by using the segment grids. The basic idea is to decide whether to use a simple or an advanced diffusion model for the different materials. It makes no sense to use, e.g. point defect diffusion models on the whole simulation domain, hence each material should get its appropriate diffusion model. Additionally, a modeling interface for the implementation of new models must be provided for advanced users. A library of pre-defined models and temperature modes have to be provides for those users which are not interested in model development and only want to use the simulators tuned built-in models.
Once we have defined the segment models, we also have to specify the relation between the different dopant concentrations at the material interfaces. It is also possible to choose simple or advanced interface models.
From the numerical point of view, several operations like adaptive gridding, equation solutions, time stepping, must be done automatically by the program. This is a prerequisite for the usage of the simulator within a process flow. Interaction with the user must be avoided during simulation, which means that all required information must be known prior to the simulation and the input data format must be generic enough to keep this information.
In order to obtain a numerical solution of the diffusion problem several distinctive phases have to be executed. Figure 4.2-2 shows the operations which are performed to solve the diffusion problem.
Figure 4.2-2: Structure and main
data flow of PROMIS-NT to solve the diffusion problem.
First the initial information has to be read from the input data file, including topology information and doping profiles. This information is stored within an attribute structure. Specific process information, like simulation temperature, simulation time, and diffusion models are given by the VISTA Resource Resolving Library (vrr), which is a flexible C-language command line interface. The geometry is stored in VISTA's Two-Dimensional Geometry Support Library (g2s), which makes the geometry information globally available within the program.
After inquiring the geometry information we can generate segment and boundary grids. Details on the internal structure of these grids are given later in this text (see Section 4.2.1). Now all given input quantities have to be interpolated onto the newly generated segment grids; this is done automatically by using the Grid Attribute Support Library (gas). This library detects whether the grid where the attribute is stored has changed and performs a bi-cubic interpolation with the support of the Grid Support Library (grs). This library is able to handle triangular (TRI3,TRI6), quadrangular (QUAD) and rectangular (ORTHO) elements. A subtle search-directed acyclic graph is used for the point location algorithm, which ensures log(n) point location speed, where n denotes the number of grid points. Details on the interpolation service can be found in [Fas94a].
Grid and process information is used to assemble the diffusion model on each material segment and the interface models between them. After inquiring the model, all physical constants are obtained from a global data base, the VISTA Material Data Base. It is also possible to define a pre-processing step for each diffusion model to check the input quantities and to generate an initial setup. Details on the assembling of the diffusion modeling equation are given in Section 4.2.2.
We proceed with the choice of the initial time step for the transient integration. The solution cycle for the nonlinear system is started with assembling and solving of the linear system. Then the damping algorithm is applied to obtain the final solution of the nonlinear system. Sophisticated damping schemes are used several times until the required accuracy is reached. At the end of a successful solution the time discretization error is calculated and the new time step is estimated according to stretch and rejection parameters.
Due to dopant movement during the diffusion process it is of vital importance that the simulation grids resolve all quantities accurately and minimize the discretization error. After coarsening and a subsequent refinement of the grid we go ahead with the transient integration and increase the simulation time, until the final simulation time is reached. Then the simulation results are stored in the output data file and are available for further simulations or post-processing tools (visualization, statistical analysis).