Manuals >User's Guide >Creating and Running Macros
Print version of this Book (PDF file)
prevnext

Autostart Macros

You can request the execution of the npn/dc_test macro after the model file is loaded, by starting IC-CAP in this fashion:

iccap bjt_npn.mdl -x npn/dc_test

You can intersperse any number of model file names and autostart macro execution requests. Just be sure to precede each macro with the -x option, and do not execute a macro before you load the model file containing it. You can load several models before executing any macros, if desired. You can execute 0, 1, or more autostart macros for each model loaded. These options are demonstrated below:

 iccap bjt_npn.mdl -x npn/dc_test nmos2.mdl 
iccap bjt_npn.mdl -x npn/dc_test -x npn/prdc_test nmos2.mdl 
iccap bjt_npn.mdl -x npn/dc_test nmos2.mdl -x npn/prdc_test 
iccap bjt_npn.mdl nmos2.mdl -x npn/dc_test -x npn/prdc_test

Unattended IC-CAP Sessions

It is possible to run an IC-CAP session completely unattended, by executing all needed menu functions within one or more autostart macros. Such a session can be terminated with the following macro statement:

iccap_func("IC-CAP","Exit!")

In this example, Exit! is used to exit without prompting to save changes; to prompt the user to save files before exiting, use Exit only.

Disallowed Deletes and Reads

Because the iccap_func function can access objects in the system and execute actions on them, some potentially dangerous situations arise. The following is an example of a Macro attempting to Delete itself:

iccap_func("/npn/mactst","delete")  ! delete myself

The system prevents such commands from executing, because reliable operation could not otherwise be guaranteed. Another case which can be less obvious to recognize, but which would be equally dangerous is as follows:

iccap_func("/npn","delete") ! delete my parent

In this attempt to delete the model that owns the running Macro, the Macro would be destroyed. This is not permitted.

In general, when a Program or Macro is running, attempts to execute the Delete or Open functions fail when that operation would result in the running Program or Macro being destroyed or overwritten. However, most requests to perform Delete or Open should succeed. The following example shows a supported case in which a Macro within the npn model deletes the fgummel Setup:

iccap_func("/npn/dc/fgummel","delete")

This is not a problem, since the Macro would not be deleted when the fgummel Setup is deleted.


prevnext