Product Documentation
Virtuoso Studio Design Environment SKILL Reference
Product Version IC23.1, November 2023

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
 ⠀
X