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.