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

dbShapeQuery

dbShapeQuery(
d_cellviewId
l_layerPurposePair
l_bBox
[ x_startLevel ] 
[ x_stopLevel ]
[ n_filterSize ] 
[ l_transform ] 
)
=> l_occShapes / nil

Description

Returns a list of all the shapes in a cellview whose bounding boxes overlap the region specified by l_bBox.

Arguments

d_cellviewId

The database ID of the cellview in which the design hierarchy will be traversed by the region query.

l_layerPurposePair

Layer purpose pair. All shapes on this layer purpose pair will be queried and returned.

l_bBox

The bounding box that specifies the region in context of the top cellview to be used as the basis of the query.

x_startLevel

Optional argument. The level of the design hierarchy in which to start the querying process. If the startLevel argument is not specified, the start level defaults to 0.

x_stopLevel

Optional argument. The level of the design hierarchy in which to stop the querying process. If the stopLevel argument is not specified, the stop level defaults to maximum hierarchy depth.

The query will stop prior to x_stopLevel if it encounters a cellview which is not currently loaded.

n_filterSize

Optional argument. Specifies the shapes filter size. The query produces only shapes with a size larger than the filterSize. If no filterSize argument is specified, the blockage filter size defaults to 0.

l_transform

Optional argument which describes the initial transformation to be used during the region querying process, such as offset, rotation, and/or magnification. If no transform argument is specified, the initial formation defaults to offset (0,0),and orientation R0.

Value Returned

l_occShapes

list((d_shapeId | l_occShape)…)

where,

  • d_shapeId is the database ID of a shape.
  • l_occShape is list((d_refId | l_mosaicElem)… d_shapeId)
    where,
    • d_refId The database ID of the non-mosaic instance or via.
    • l_mosaicElem is list(d_mosaicId x_row x_col) Represents a mosaic element in the hierarchy path. where,
      • d_mosaicId The database ID of the mosaic instance.
      • x_row Row in which d_shapeId occurs inside this mosaic instance.
      • x_col Column in which d_shapeId occurs inside this mosaic instance.
    • d_shapeId The database ID of the shape.

nil

nil is returned if the cellview ID is invalid.

Examples

Returns a list containing shapes or lists representing occurrence shapes that are on M1 drawing, overlapping the (0:0 0:0) point.

shapes = dbShapeQuery( deGetCellView() list("M1" "drawing") list(0:0 0:0) )

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

Query Functions

dbOpenHier

dbGetOverlaps


Return to top
 ⠀
X