6. Summary

This work has presented a new approach to a TCAD data model. Starting with an analysis of the needs from a TCAD user's perspective, the tasks typically necessary to perform process and device simulations have been identified and led to the requirements on a TCAD data model. The developed data model is meant as a programming aid for the tool developer which logically resides between the physical / numerical core of a simulator, and the following software engineering related tasks.

The data model thereby reliefs the developer from early design decisions like, e.g., what file formats the simulator shall support. Instead, the developer can concentrate on the simulation problem at hand.

Special care was taken to adhere to a strict, top down design, and to present a lean, easy to use application programming interface to the tool developer. Dependence on the spatial dimension is hidden from the programmer by using abstract data types. The chosen design has first proven useful as it turned out that the originally implemented oct-tree data structure was not suitable a like for every simulator. The implementation of a second approach was integrated rapidly into the data model, and the programmer is now able to chose between the two data structures at compile time. The chosen object-oriented design methodology in conjunction with the programming language C++ seems thus very promising to meet future demands with respect to extensions and enhancements. Future developments will focus on further improving the geometry operations that are used as a post processing step for topography simulations. Three, new developed simulators that are based on this data model are the first step into a new generation of inter-operable tools.

A short calibration cycle for every new release of a TCAD simulator was identified as a pre-requisite for a successful TCAD suite. The presented approach for an optimization framework provides the flexibility required for complex optimization tasks. Strong emphasis was put on platform independence, error recovery, scalability, and usability. To account for platform independence JAVA was chosen as the programming language. It allows the distribution of pre-compiled programs that run on various platforms. A flexible error recovery was achieved by using the middle-ware CORBA for the remote invocation of a simulator, for exchanging information about the load status of a system, and for exchanging information about input and output file names of simulators. To account for scalability the whole framework is realized as a distributed system with dedicated instances on each host and a centralized nameserver. Finally, usability is reached twofold. On the one hand, the graphical user interface was designed according to modern interface design rules. Several instances of the user interface can operate at the same time. On the other hand, the integrated optimization algorithms allow to perform totally unguided optimization tasks, utilizing a scalable computing cluster.

Future developments of the data model, the simulators, and the framework will try to provide the TCAD user with a tool chain to perform complex high level three-dimensional process flow simulation tasks. The necessary interaction of the user with the tools should thereby be limited to specifying input data like model parameters, input Wafers or the process flow.