Product Documentation
Virtuoso Schematic Editor SKILL Functions Reference
Product Version IC23.1, November 2023

schCheckHierConfig

schCheckHierConfig( 
h_cfgId 
[ v_pathVector [ g_refLibs ] ] 
) 
=> l_errors / nil

Description

Performs a check of the hierarchy. The check starts with the top cellview that is specified in the given hierarchy configuration. The hierarchy traversed is defined by information in this hierarchy configuration. Usually, the hierarchy is confined to the library of the given cellview, but you can specify a list of reference libraries to process if the hierarchy extends beyond the current library.

You must have write permission to any cellview that is to be checked.

This function uses the following environment settings:

The given cellview ID must be an editable schematic. If a cellview contains any of the following property values, it is not processed:

nlAction == { ignore | stop }
schType == { border | patchCord | ripper | noSchEdit }

Arguments

h_cfgId

The ID of a hierarchy configuration that specifies an expansion.

v_pathVector

The ID of a hierarchy configuration path vector. If not specified, the traversal starts from the top cellview specified in the configuration. Otherwise, the traversal starts from the current cellview defined by this argument.

g_refLibs

A list of library names, or a string containing a list of space- separated library names.

Value Returned

l_errors

A list of the errors encountered during the checking of the hierarchy as defined by the given configuration object. Each element in the list contains the cellview ID and the number of errors encountered; no information is generated if only warnings were encountered.

nil

No errors are found in the hierarchy.

Examples

cfgId = deGetConfigId( getCurrentWindow( ))
schSetEnv( "checkHierSave" t )
schSetEnv( "saveAction" "Save" )
errs = schCheckHierConfig( cfgId )
cfgId = deGetConfigId( getCurrentWindow( ))
path = deGetVector( getCurrentWindow( ))
errs = schCheckHierConfig( cfgId path "libA libB" )

If errors are encountered, errs is a list of cellview/number-of-errors pairs. You can process this list as follows:

foreach( x errs
info( "%s %s %s has %d error(s).\n" car(x)~>lib~>name
car(x)~>cellName car(x)~>viewName cadr(x))
)

Return to top
 ⠀
X