ICCAP_FUNC Statement
The PEL statement ICCAP_FUNC replaced MENU_FUNC to reflect the fact that many objects you act on are not menu-related. (Note: Existing macros using the MENU_FUNC statement will still work but we recommend you create new macros using ICCAP_FUNC.)
The form of the PEL statement is
ICCAP_FUNC()
where () contains at least two arguments, each enclosed in quotation marks, separated by a comma
• |
The first argument is the name of the object on which you want to act |
• |
The second argument is the action you want to perform |
• |
Optional arguments can be used to anticipate prompts during execution, namely for filenames for reading or writing |
An example is shown next:
iccap_func("/CGaas1/dc/DeviceParameterSet","Memory Store")
where
CGaas1
|
is the model name
|
dc
|
is the DUT name
|
DeviceParameterSet
|
is the object on which to act
|
Memory Store
|
is the action to perform on DeviceParameterSet (the object)
|
The Third Parameter
- The optional arguments anticipate the need for information required to continue macro execution. If the argument is not included, and information is required, a dialog box appears prompting the user for the information. Usually, the optional arguments are file names used when reading from or writing to files. The following example shows how this optional argument is used to specify the file fileName.mdm from which to import data. This anticipates the need for a file name prompt and so avoids interrupting execution.
Example
iccap_func("CGaas1/dc/igvg_0vs","Import Data",
"fileName.mdm")
To successfully create macros with the ICCAP_FUNC statement, you must understand the hierarchy of the objects and specify the exact names of objects and actions. A tree-like structure, shown next, illustrates the relationship of the objects.
IC-CAP |— Variables |— GUI Items |— GUI Item |— Simulation Debugger |— Hardware |— HPIB Analyzer |— PlotOptions |— MODEL(*) |— Variables |— GUI Items |— GUI Item |— Circuit |— PlotOptimizer |— PlotOptions |— Parameter Set |— MACRO(*) |— DUT(*) |—Variables |— GUI Items |— GUI Item |—Test Circuit |—Device Parameter Set |—SETUP(*) |—Variables |— GUI Items |— GUI Item |—Instrument Options |—INPUT(*) |—OUTPUT(*) |—TRANSFORM(*) |—PLOT(*) |— PlotOptions
When specifying objects at lower levels, you must include the related objects above them, separating them with slashes. For example, to perform Save As on an instrument options table, you would specify:
"/model/DUT/setup/InstrumentOptions","Save As"
where model, DUT, and setup are the actual model, DUT, and setup names.
An asterisk (*) next to an object (in this illustration) indicates that multiple objects or items with different names can be specified for that object. For example, a model may have many DUTs, but only one Parameter Set.
Tips:
• |
Objects (first argument) are case-sensitive and space-sensitive; use exact spellings shown throughout this documentation (spaces shown in the illustration at left are for readability only). Use the notations ../ and ../.. to indicate relative path for objects. |
• |
Actions (second argument) are not sensitive to case or spaces. |
|