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

rteGeomAnd

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

Description

Generates new shapes that are common on two or more layer purposes.

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 first layer purpose pair(s). Required.

See Specifying Input Layer Purposes for details.

?lpp2 g_lpp2

Specifies the second 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"

?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 rteGeomAnd function.

The following example generates new shapes on the metal5/drawing layer purpose that are common on the metal2/drawing and metal1/pin layer purposes.

rteGeomAnd(
?lpp1 list("metal2" "drawing")
?lpp2 list("metal1" "pin")
?outputLpp list("metal5" "drawing")
?region list(2486.75 2850.75 2635.22 2946.52)
)

The following example is the same as the one above, but both layer purposes are included in the ?lpp1 argument.

rteGeomAnd(
?lpp1 list(
list("metal2" "drawing")
list("metal1" "pin"))
?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. Argument ?lpp1 includes all purposes for layer metal1. In argument ?lpp2, the layer purpose pair is specified as a string. This is allowed, as the argument contains only one layer.

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

The following example outputs blockages on metal4.

rteGeomAnd(
?lpp1 list("poly")
?lpp2 list("oxide")
?blockedLayer "metal4")

Related Topics

Space-based Router Functions


Return to top
 ⠀
X