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

pgssDRC

pgssDRC(
d_cellviewID
t_rulesFile
t_layerMap
t_objectMap
l_options
g_function
) 
=> t / nil

Description

Launches Pegasus DRC and processes the generated shapes in accordance with the specified function. The pgssDRC SKILL function needs Pegasus license.

Arguments

d_cellviewID

Specifies the cellview to process. This must be of type maskLayout. It cannot be a Pcell variant.

t_rulesFile

Specifies the path to the Pegasus rules file.

t_layerMap

Specifies the path to the layer map file. If no layer map file is specified, that is, if it is specified as an empty string (""), the layer map file in the cell's technology library is used.

t_objectMap

Specifies the path to the object map file. If no object map file is specified, that is, if it is specified as an empty string (""), the object map file from the cell's technology library is used. To avoid using the default object map file, 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->excludeCells "opclib/*/layout ... "
control->ruleSet = list( "rule1" "rule2" ... )

Wildcard characters are allowed in excludeCells as shown in the fifth example above. This will exclude every cell from the 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 rule does not require a caption, so you need to make sure it exists before using it.

If the function returns the symbol 'stop, Pegasus exits and no more shapes are generated. Any other value means continue processing.

Value Returned

t

No operational errors occur and Pegasus DRC was launched successfully.

nil

Pegasus DRC failed to launch due to some error. For example, it might be that the rules failed to compile.

Examples

Run Pegasus and dump the shapes to the CIW.

pgssDRC( cellView "rules.pvl" "rule_layer.map" "" nil lambda( (shape) println(shape) t) )

Related Topics

pvsApplyDRC


Return to top
 ⠀
X