Fig. 4.2 shows the evaluation network used for drive current
optimizations. After reading a given set of optimization parameters, the
device description of the NMOS, represented by a PIF (Profile Interchange
Format) file [18] is generated with Makedevice. This PIF file contains
all necessary data to perform two-dimensional device simulations with MINIMOS-NT
for the drive current
and the leakage current
in the next
steps. Finally, the resulting currents are used to evaluate the target and
the constraint using (4.1) and (4.2).
To provide a good initial guess for the device simulations during subsequent optimization steps the output PIF files of both simulations are saved. This is done only after an evaluation step as already shown earlier in Fig. 3.8. The output PIF files from the gradient steps are dropped because the results are very close to the previous evaluation step, anyway.
The SIESTA evaluation network description file network.mod, also called ``network model'' is given in Listing 4.1 and the externally defined sub-models for the device generation mkdev.mod in Listing 4.2 and for the device simulation device.mod in Listing 4.3. The sub-model for the post-processing (evaluation of the target and the constraint) is already included in the file network.mod.
For a specific optimization task all parameters within brackets first have to
be substituted by their actual values, for example, [gatelength].
Parameters within ``('' and ``)
'' are SIESTA template symbols and
will be substituted by their actual values during the model evaluation. These
template symbols can be used either in the command line definition of a tool
or in a simulator input deck.
Besides other information, the file mkdev.mod contains the definition of the optimization parameters and their initial, minimum, and maximum values. The first tool in this sub-model (mkdev) writes an ASCII PIF file using Makedevice, which is then converted into a binary PIF file by the pbfm tool.
With the sub-model device.mod the device simulation is performed by the mmnt tool using MINIMOS-NT. In the next step the copy tool copies the simulator output PIF file to the initialization file, but only if the current optimization step is an evaluation step. This is done by the shell-script copy.sh using the SIESTA auxiliary variable aux.type as a condition variable which is either set to gradient or evaluation. The device.mod sub-model is used for both the drive and leakage current simulations.