dbGetOverlaps
dbGetOverlaps(d_cellViewl_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 overlaps 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, dbGetOverlaps will return a nested list. The output of this function is same as that of dbGetTrueOverlaps.
Arguments
Value Returned
Examples
shapeList finds all the shapes on the device layer with drawing purpose on the top level.
shapeList = dbGetOverlaps(cv cv~>bBox "device")
shapeList finds all the shapes on the device layer (with any purpose) on the top level.
shapeList = dbGetOverlaps(cv cv~>bBox list("device"))
shapeList finds all the shapes on the device layer with pin purpose on the top level.
shapeList = dbGetOverlaps(cv cv~>bBox list("device" "pin"))
figList finds all the mosaics and instances on the top level.
figList = dbGetOverlaps(cv cv~>bBox nil)
figList finds all the shapes, mosaics and instances on the top level.
figList = dbGetOverlaps(cv cv~>bBox)
figList finds all the shapes, mosaics and instances from the top level to the level 5.
figList = dbGetOverlaps(cv cv~>bBox t 0:5)
figList finds all the mosaics and instances on the top level.
figList = dbGetOverlaps(cv cv~>bBox nil)
figList finds all the mosaics and instances from the top level to the level 3.
figList = dbGetOverlaps(cv cv~>bBox nil 3)
The illustration below shows that l_bBox overlaps the perimeters of B, C, and D.

Additional Information
The SKILL functions dbOpenHier, dbShapeQuery, and dbGetOverlaps perform different functions and have different implementations that may traverse the hierarchy in different ways. Although it is possible to use combinations of these and other functions to get similar results, code that is sensitive to the order of traversal may produce different results. For example, code that is traversing the hierarchy through dbOpenHier and dbShapeQuery, which needs to expand through Pcells, may produce a result that is different from dbGetOverlaps.
if there is a Pcell evaluation failure at some point of the traversal because these functions cannot guarantee order and it cannot be predicted whether or when a Pcell will fail to evaluate, some data that is produced by one set of SKILL functions may not be produced by a different set of SKILL functions.
Related Topics
Figure Creation and Retrieval Functions
Return to top