Library Manager Customizations Using SKILL Functions
To customize the Library Manager when you use the Cadence SKILL language, you need the following:
-
The
cdsLibMgr.ilfile, which contains the following: - Corresponding SKILL callback functions defined in the Virtuoso Studio design environment
About cdsLibMgr.il File
The extension definition file, cdsLibMgr.il, is the starting point for the Library Manager customization. This file defines SKILL extensions specific to the Library Manager and specifies the name of the startup customization file.
The Library Manager cdsLibMgr.il file contains the following:
The file is written using the SKILL language. You can use the core Cadence SKILL language as described in the Cadence SKILL Language Reference The file can alter existing menus and menu items including removal and change of appearance, as well as add new menus and menu items. You can add menu items to start a SKILL callback in Virtuoso.
A mechanism to start a SKILL callback within the internal Library Manager SKILL interface is not currently provided.
The file is loaded from the first location in the order defined in the Cadence setup search file (setup.loc). The typical order used to load this file is:
When a file is found from one of these locations, the file is loaded and the search stops.
You can customize the name for the cdsLibMgr.il file using a default setting in your .cdsenv file.
Callback Definition List
The lmgrDefineInits(), lmgrCreateMenu(), and lmgrCreateMenuItem() functions in the cdsLibMgr.il file define callbacks that are started on the Virtuoso Studio design environment program. These functions all use the same syntax for describing the callbacks.
A callback is a list of strings. The first element in the list must be a valid SKILL procedure name in the Virtuoso session. The rest of the list consists of option strings. The following is an example of a callback:
’( "myDeleteObject" "refreshIf" )
This callback starts the SKILL procedure myDeleteObject in the associated Virtuoso session, which must accept the standard set of arguments described with a single option. The Library Manager redisplays its data if the return value is valid (t).
You can define only one list for every callback or map callback function.
The arguments to the callback SKILL procedure include the name of the menu object that this callback is registered with, followed by five arguments representing the current Library Manager selection. The five selection arguments are described in the next section. Init and Close callbacks defined by lmgrDefineInits() do not get passed any arguments.
Callback Options and Return Values
The option names for a callback function are
-
noOptsUse this optional placeholder when you want to use no options. You can also use this option to reset preceding options. -
refreshUse this option to tell the Library Manager to always regenerate its data display after it runs the callback. -
refreshIfUse this option to tell the Library Manager to regenerate its data display after it runs the callback if the return value of the callback indicates success. -
updateUse this option to tell the Library Manager to always regenerate its own data display and that of Virtuoso after it runs the callback. -
updateIfUse this option to tell the Library Manager to regenerate its own data display and that of Virtuoso after executing the callback if the return value of the callback indicates success.
These options can each appear zero or more times. The rightmost options override any to the left, except where noted above. If a sequence ends with noOpts, then the entire sequence is interpreted as having no options.
The return value for a correctly run SKILL callback procedure is t for success and nil if an error occurred.
The Library Manager cannot continue processing if the Library Manager cannot understand the return value of the callback function, such as a database object, a design data (dd) object, or an IPC handle.
Current Selection List
SKILL callback procedures always receive the argument list selection currently specified on the Library Manager form. This list might correspond to a new data object you create, rather than an existing object. The Library Manager sends the data selection specification fully corresponding to the 5.X architecture as a list of five strings: LIBNAME CELLNAME VIEWNAME FILENAME CATEGORY.
If any component of the selection is not specified, it is passed as a string value of "".
For example, if nothing at all is selected, then the selection list consists of five empty strings.
Names for a library, cell, and view are located within the designated namespace such as CDBA. A file name is always in the file system namespace.
In addition, the current 5.X category in use is sent as the fifth string in the list, which can be a zero length string if categories are disabled in the Library Manager. In general, only commands specific to library categories need to examine the CATEGORY parameter. Examples of such commands are COPY CATEGORY, RENAME CATEGORY, or CREATE NEW CATEGORY.
Using UNIX to Add Settings to a .cdsenv File
Customization of Menus Using the cdsLibMgr.il File
Restrictions on the Library Manager Customization File
Actions in the Library Manager Customization File
Return to top