To provide default values for all possible keywords Minimos-NT extensively uses the inheritance scheme of the Input Deck database. Minimos-NT comes with predefined default files containing default values which are stored in well defined section hierarchies. Default settings exist for each single model parameter as well as for complete device descriptions. The names of the main sections end with Defaults. For instance, the default iteration schemes are defined within the section IterateDefaults and the default settings for devices are stored in the section DeviceDefaults.
Setting up a simulation is very simple: First, the default files have to be loaded. To use default values the corresponding global default sections have to be inherited to the standard sections of Minimos-NT. For all sections needed by the simulator, the standard sections of Minimos-NT, the default inheritance schemes are predefined. Finally the input/output files and the contact values have to be chosen.
To modify or adjust the settings, the user can simply change the standard sections by locally overriding the default values. The Input Deck database assists the user by applying a checking mechanism when local modifications are performed in sections. Only those items defined in the parent sections which are inherited to the standard sections may be overloaded. Otherwise an error message is thrown to avoid misspelling of names. New items can be added but they have to be marked explicitly. If this checking mechanism is not desired, it can be turned off for each section.
The following example shows a short input file for the simulation of a
hetero-junction bipolar transistor. First, the default files are loaded with
the #include command. The Device section which describes
the properties of the device is inherited from the default section
DeviceDefaults defined in the default files which holds all the
default information. Then the contact voltages are set. In this example the
base voltage is stepped from to
using a step size of
. The
input/output files are specified. For the base segment a different bandgap
narrowing model is chosen. Finally, the section Curve describes the
curve file to hold the output curves. Here, the curve file
sige-hbt_out.crv is written and for each base voltage stepped the
emitter and collector voltages are written.
#include <defaults.ipd> Device : DeviceDefaults { +EmitterContact = 0.0 V; +BaseContact = step(0.1, 1.2, 0.1, name = "Base"); +CollectorContact = 2.0 V; Input { file = "sige-hbt"; } Output { file = "sige-hbt_out"; } Phys { +Base { bandGapNarrowing = "Si_B"; } } } Curve { file = "sige-hbt_out"; Response { +VE = output("Device", "V", "EmitterContact"); +VC = output("Device", "V", "CollectorContact"); } }
Robert Klima 2003-02-06