Product Documentation
Virtuoso Layout Suite SKILL Reference
Product Version IC23.1, November 2023

rteGeomNot

rteGeomNot(
[ ?cv d_cvId ]
[ ?lpp1 g_lpp1 ]
[ ?outputLpp l_outputLpp ]
[ ?blockedLayer l_blockedLayer ]
[ ?polygons g_polygons ]
[ ?region l_region ]
) ;
=> t / nil

Description

Inverts the shapes on a layer purpose to generate new shapes.

This function is available only in Layout XL and higher tiers.

Arguments

?cv d_cvId

Database ID of the cellview. Defaults to the current cellview.

?lpp1 g_lpp1

Specifies the layer purpose pair(s). Required.

See Specifying Input Layer Purposes for details.

?outputLpp l_outputLpp

Specifies the output layer and purpose for the generated shapes. Required.

You must specify both the layer name and the layer purpose as a list or string.

Examples:

list("metal1" "drawing")

"metal1 drawing"

Lower level rectangles are mapped to blockage purpose as drawing is restricted to router changeable shapes. When the purpose blockage is used, the function is executed properly with the rectangle.

?blockedLayer l_blockedLayer

Outputs blockages on the specified layer.

Note: the ?blockedLayer and ?outputLpp arguments are mutually exclusive.

?polygons g_polygons

Generates output shapes as polygons, rather than individual rectangles. Values are t or nil.

If set to t (true), the resulting shapes are polygons.

If set to nil (default), the resulting shapes are rectangles.

?region l_region

A list specifying the lower-left and upper-right coordinates of the region on which the function should operate.

If not specified, the entire design is included in the operation.

Value Returned

t

The operation completed successfully.

nil

The operation did not complete successfully.

Examples

The following is a graphical illustration of the rteGeomNot function.

The following example inverts the shapes on the metal2/drawing layer purpose and generates new shapes on the metal5/drawing layer purpose.

rteGeomNot(
?lpp1 list("metal2" "drawing")
?outputLpp list("metal5" "drawing")
?region list(2486.75 2850.75 2635.22 2946.52)
)

In the following example, 48 is the layer number representing metal1. This example inverts all purposes for layer metal1 and generates the new shapes on metal5/drawing. The Metal5/drawing layer purpose is expressed as a list, but it could also be expressed as a string, ("metal5 drawing").

rteGeomNot(
?lpp1 48
?outputLpp list("metal5" "drawing")
?region list(2486.75 2850.75 2635.22 2946.52)
?polygons t
)

Related Topics

Space-based Router Functions


Return to top
 ⠀
X