pvsApplyDRC
pvsApplyDRC
d_cellview
t_rulesFile
t_layerMap
t_objectMap
l_options
g_function
)
=> t / nil
Description
Launches Virtuoso IPVS and process generated shapes.
Arguments
|
d_cellview
|
Specifies the cellview to process. This must be a mask layout cell. It cannot be a Pcell variant.
|
|
t_rulesFile
|
Specifies the path to the PVS rules file.
|
|
t_layerMap
|
Specifies the path to the layerMap file. If no layerMap file is specified, layerMap in the cell's technology library is used.
|
|
t_objectMap
|
Specifies the path to the objectMap file. If no objectMap file is specified, objectMap from the cell's technology library is used. To avoid using the default objectMap, set the value to "/dev/null".
|
|
l_options
|
Specifies a disembodied property list of control option. Options specified here override what is set in the rules file. Supported values are:
control->area = list( x1:y1 x2:y2 )
control->enableColoring = t/nil
control->abortOnLayoutError = t/nil
control->excludeCells "lib1/cell1/view1 ... "
control->ruleSet = list( "rule1" "rule2" ... )
Wildcard characters are allowed in excludeCells such as "opclib/*/layout" which will exclude every cell from opclib library.
Rules listed in ruleSet must exist in the rule deck.
|
|
g_function
|
Specifies a function object which is applied to each shape one at a time. It can be a procedure name, like 'proc (note the leading quote), or a lambda value.
The procedure must take one argument which is a disembodied property list with the following members:
shape->edges = list( list(x1:y1 x2:y2) ... ) if it is an edge
shape->points = list( x1:y1 x2:y2 ... ) if it is a polygon
shape->caption
shape->checkName
Returned shapes are either a list of edges or a list of points based on how the rules are written. A shape will never have both. The caption value may not be present (a rule does not require a caption). So you need to make sure it exist before using it.
If the function returns the symbol 'stop, PVS will exit and no more shapes will be generated. Any other value means continue processing.
|
Value Returned
|
t
|
No operational errors occur and Virtuoso IPVS launched successfully.
|
|
nil
|
Operation problem occurs, such as the rules fail to compile.
|
Examples
Run PVS and dump the shapes to the CIW.
pvsApplyDRC( cv "rules.pvl" "" "" nil lambda( (shape) println(shape) t)
Related Topics
pgssDRC
Return to top