Minimos-NT uses a variety of physical models which are managed by a separate module of the simulator, the model server [121,122]. This model server allows the user to define customized models. Since the models to use depend on the type of the material, efficient material handling becomes an important issue. Minimos-NT uses only abstracted classes of the material, which are Semiconductor, Insulator, Conductor, and IdealConductor. The properties of the material classes are described via a model set, for instance the mobility or relaxation times of semiconductors. These models are defined as black boxes using sets of input and output parameters. Each black box is replaced by a certain implementation of this model which calculates the output values. Several implementations are available, each with an unique set of model-parameters.
The material database manages all materials known by the simulator. Materials are hierarchically structured (see Fig. 3.15). To handle common material properties, real materials like Si or SiO are inherited from abstract materials like semiconductor or insulator. Later on, the material properties of the derived material classes are extended and specialized.
Each material is represented by a section which provides the parameter values for all available physical models which are hierarchically structured. For each model class (e.g. the mass density or the band edge energy) and for each material (e.g. Si or SiGe) certain model instances can be chosen using special keywords.
For each segment of a device all physical models to use and their parameters must be specified in a special section. By inheriting the global material database the default settings are loaded which can be locally overridden.
The example below shows a small excerpt of the material definition of silicon. The material silicon Si is inherited from the abstract class Semiconductor. In this section all models and their physical parameters used by Minimos-NT are described. In Minimos-NT several mobility models are implemented for the drift diffusion or hydrodynamic case, for high and low electric fields. These models are, e.g., the mobility model of Minimos Version 6 [64], Lombardi [123], Masetti [124], or Hänsch [125]. To set a different mobility model used for drift diffusion, e.g., the Lombardi mobility model, the keyword mobilityDD must be set to "LombardiDD".
<Si> : Semiconductor { materials = "Si,Silicon"; // ... Electron { mobilityDD = "MM6"; // chosen model for the electron mobility MobilityDD // model and their parameters { MM6 : ~SpecialModels.Minimos6Electrons; LombardiDD : ~SpecialModels.Minimos6Electrons { // modifications, new keywords } MasettiDD : ~SpecialModels.Minimos6Electrons { // modifications, new keywords } // ... } mobilityHD = "Si_Haensch"; MobilityHD // model and their parameters { // ... } // ... } // ... }
The advantages of this hierarchical approach are:
Robert Klima 2003-02-06