As already noted, the simulators inside TCAD frameworks cannot handle large pieces of layout and a tool to interactively select areas of interest from large layouts must be provided. These regions will be the domain of simulation. Depending on the dimensionality of the problem (and the simulator), three cases must be considered in selecting the domain of simulation:
Whatever the case, it is possible in our implementation to interactively specify these regions of simulation in the layout. As one-dimensional simulations have a limited use, emphasis is given to the other cases. In the two-dimensional case a cut (at the cut-line position) is to be performed, as shown in Figure 3.3, and one-dimensional masks are generated. These are understood by the Simulation Flow Controller (SFC) [23] module so that the process simulation (and consequently the device simulation) can be carried out without the user's explicit definition of mask ticks (in absolute coordinates). The SFC offers an intuitive and convenient graphical interface for writing process flows. These are defined in a hierarchical and modular manner in terms of tool-independent process statements or as explicit tool statements [23]. Complete process flows can be defined and simulated.
To be compatible with the SFC code implemented in LISP [24], one-dimensional masks are written in a LISP-like syntax format. This is flexible and easy to extend with new features, so new parameters required by new simulators or extensions to the existing ones can easily be taken into account. For the layout example of Figure 3.3 the generated one-dimensional masks file is presented in Figure 3.4.
These tool can also warn the user of some problems associated with that operation. Analyzing the layout, cut-lines violating symmetry properties or cutting features that change in the neglected direction are identified and reported.
The cut-line concept is also used by tools as SIMPL [25]. Here, device cross-sections are created by tools implementing first-order models for the basic process steps. The layout, cut-line specification and these tools are embedded together, and the correspondent cross-section are automatically displayed in the same window. In some steps there are interfaces with more elaborate process simulators. In these cases the link is much weaker and at each step data mapping utilities translate the information stored in SIMPL into a form usable by the external tool (and after simulation the other way round). In our implementation, data wrapping is avoided as far as possible, as a common interface is used for every tool.
To specify the domain of simulation in a three-dimensional environment, multi-polygonal regions are entered. In this case, the domain of simulation is defined as layer (of special type) and added to the layout. This way, the usual mechanisms of three-dimensional simulators for reading layout layers can also be used for the domain of simulation, simplifying the interface.
Another implemented feature is the capability to understand mask names when importing layouts. The mask names in the CIF file, or in the technology file accompanying the GDSII files, change between different technologies (eg. the first metal layer can be designed ``METAL1'' or sometimes ``METAL_1''). As an option, these different names can be converted automatically to default names. It is then more intuitive to manipulate layers, as it is not necessary to know their original name exactly. This optional feature is only valid for the most common layers in CMOS technologies.