Previous: Model Representation
Up: Model Representation
Next: Encapsulation of Simulation Flows
Previous Page: Model Representation
Next Page: Encapsulation of Simulation Flows
We represent each block as a separate UNIX file. The block file contains information that may be loaded into the DOE/Opt user interface where it can be viewed, edited, executed, and saved back to a UNIX file. The DOE/Opt graphical user interface for a typical block is shown in Fig. 4. This block file is also directly executable and manipulatable from the UNIX command line; this is crucial for the use and manipulation of blocks in other scripts, programs or systems external to DOE/Opt. For example, a block which chains process and device simulation to calculate threshold voltage might be executed from the UNIX command line, where input values are specified as command line arguments and the result is returned by the block:
unix> vt.block -ox_time 100 -channel_length 0.5 0.675Alternatively (and more commonly), the same execution might be performed directly from the user interface. In this case, one would define an experiment via the ``Run/Design'' pulldown menu which would generate new rows in the run table. The user might optionally override the inputs, coefficient, or run table entries for the ox_time and channel_length variables, and then execute the run table entries via the ``Execute'' pulldown menu. In this case, the block body would be run and the results displayed in the output columns of the run table.
The block may be manipulated in other ways, and an entire set of runs and optimizations (as defined per some experimental design) can be invoked, either from the graphical user interface or from the UNIX command line. For example, to change the target value for the threshold voltage output, and then to perform the optimization specified inside the block, one could use the unix command line commands:
unix> vt.block set output vt -target 0.7 unix> vt.block optimize_rsmIn the graphical user interface, one would simply point to the entry widget in the target column for the vt output row to change the value, and then initiate the optimization via the ``Optimize using RSMs'' option in the ``Optimize'' pulldown menu. This performs the optimization using response surface models for the desired outputs (vt in this case), and fills in the optimization table with the optimal operating points. In the UNIX invocation, the resulting optimization table will reside within the block file at the completion of the optimization. To support long simulation or optimization problems, it is critical that the graphical user interface not be required; a UNIX command line approach, for example, enables overnight runs without a graphical display.