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

dbGetTrueOverlaps

dbGetTrueOverlaps(
d_cellView
l_bBox
[ l_layerPurposePair | tx_layer | g_value {t | nil} ]
[ lx_level ]
[ g_doRowCol ]
)
=> ld_fig / nil 

Description

Returns a list of all the objects (such as, vias, shapes, instances, and mosaics) in a cellview that overlap the area specified by l_bBox.
If the object comes from a lower level in the hierarchy, instead of from the specified cellview, the object is represented by a list (potentially a nested list, if it comes from more than one level down). Each level of the list has the ID of the instance in the corresponding level in the hierarchy.
For example, if there is a rectangle in a master cellview two levels down, for this rectangle, in the top cellview, the function will return a nested list. The output of this function is same as dbGetOverlaps.
You can switch the output syntax of dbGetTrueOverlaps between the new and legacy format by setting the noDetailedRow .cdsenv environment variable.

From OA 2.2 release onward, the shape query returns only those shapes whose geometry overlap the region. This means that the trueOverlap rule is applied to all shapes at all times. As a result no additional processing is required for performing trueOverlap.

Arguments

d_cellView

Database ID of a cellview

l_bBox

The searching box.

l_layerPurposePair

  

The layer purpose pair, followed by an optional list of start and stop levels (lx_level) and optional rowCol boolean (g_doRowCol).

If l_layerPurposePair, tx_layer, or g_value is specified, the function produces vias, instances, mosaics, and shapes. If none of these is specified, the function produces only vias, instances, and mosaics.

tx_layer

A layer name or number, followed by an optional list of start and stop levels (lx_level) and optional rowCol boolean (g_doRowCol).

g_value

A Boolean value where:

  • t indicates that the function should produce vias, instances, mosaics, and shapes.
  • nil indicates that the function should produce only vias, instances, and mosaics.

lx_level

Search level. It can be a list of two integers (start and stop level for the search), or a single integer (stop level, start level is zero). If no level argument is specified, the start and stop levels are both zero, so that only the top-level figures are returned.

g_doRowCol

If set to true, displays row and column value, if the overlapped object is a mosaic instance.

Value Returned

ld_fig

A list identifying all the objects encountered in the search. If the object is in the given cellview, it is identified by its own ID. Otherwise, the object is identified by its hierarchical path, represented as a list of object IDs where the length of the list is one greater than the level of the object.

nil

An error occurred.

Examples

shapeList finds all the shapes on the device layer with drawing purpose on the top level.

shapeList = dbGetTrueOverlaps(cv cv~>bBox "device")

shapeList finds all the shapes on the device layer (with any purpose) on the top level.

shapeList = dbGetTrueOverlaps(cv cv~>bBox list("device"))

shapeList finds all the shapes on the device layer with pin purpose on the top level.

shapeList = dbGetTrueOverlaps(cv cv~>bBox list("device" "pin"))

figList finds all the mosaics and instances on the top level.

figList = dbGetTrueOverlaps(cv cv~>bBox nil)

figList finds all the shapes, mosaics, and instances on the top level.

figList = dbGetTrueOverlaps(cv cv~>bBox)

figList finds all the shapes, mosaics, and instances from the top level to the level 5.

figList = dbGetTrueOverlaps(cv cv~>bBox t 0:5)

The illustration below shows that l_bBox overlaps the perimeters of B, C, and D.

For more information, see the environment variable.

Related Topics

dbGetOverlaps

noDetailedRow

Figure Creation and Retrieval Functions


Return to top
 ⠀
X