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

schCheckHier

schCheckHier( 
d_cvId 
t_viewNames 
t_refLibs 
[ l_instViewListTable ] 
) 
=> l_errors / nil

Description

Performs a check of the hierarchy that starts at the given cellview.

The hierarchy traversed is defined by t_viewNames. 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:

Arguments

d_cvId

Cellview ID of the root schematic from which to begin the hierarchical check. The given cellview ID can be read-only or editable schematic. If a cellview contains any of the following property values, it is not processed:

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

t_viewNames

String containing the list of view names to use to control the hierarchy traversal; must be enclosed in quotation marks.

t_refLibs

String containing the list of reference libraries to process in addition to the library of the given cellview; must be enclosed in quotation marks.

l_instViewListTable

List specifying the instance view list table to use if instance-based switching is required. This list contains sublists that map a logical name to a view name list. If an instance is encountered that has an instViewList property whose value matches one of the logical names in the instance view list table, the view name list associated with the logical name is used for the hierarchical switch for that instance.

Value Returned

l_errors

A list that contains sublists of the ID of the cellview and the number of errors encountered.

nil

No errors are found in the hierarchy.

Examples

Checks the hierarchy starting at top schematic in the library mylib where the traversal is controlled by the given view name list.

cvId = dbOpenCellViewByType( "mylib" "top" "schematic" "" 'a )
schSetEnv( "checkHierSave" t )
schSetEnv( "saveAction" "Save" )
errs = schCheckHier( cvId "schematic cmos_sch" "" )

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