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

dbGetColoredOccShapes

dbGetColoredOccShapes( 
d_refId 
[ b_lockedOnly ] 
)
=> l_occShapesWithColorAndState / nil

Description

Generates a list of all the occurrence shapes, associated with the specified instance or via, that were colored due to hierarchical color locking. If the optional argument b_lockedOnly is t, only the locked colored occurrence shapes are included.

This query can be used by the abutment-aware PDK codes.

Arguments

d_refId

ID of an instance or a via.

b_lockedOnly

A Boolean value that determines whether only the locked colored occurrence shapes are returned.

When set to t, returns only the locked colored occurrence shapes. When set to nil, returns all the colored occurrence shapes. Valid values are t and nil. The default value is nil.

Value Returned

l_occShapesWithColorAndState

((l_occShape t_color b_state)...)
A list of elements.

  • l_occShape is list(l_hierPath d_shapeId) The hierarchical path to a shape. where,
    • l_hierPath is list((d_refId | l_mosaicElem)…) 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.
  • t_color Name of the color mask ("mask1Color", "mask2Color", or "mask3Color", "mask4Color", "mask5Color", "mask6Color", "mask7Color", or "mask8Color").
  • b_state A Boolean value that determines whether the color of the shape is locked.

nil

Returned in case of failure and when there are no colored occurrence shapes that meet the criteria and are a result of hierarchical color locking.

Example

Queries the current Pcell in the figure below. Returns four colored shapes found: two of the terminals have mask2Color from hierarchical color locking while the other two have mask1Color from hierarchical color locking.

dbGetColoredOccShapes(css())
((((db:0x4d715a9a) db:0x25c6a81f) "mask1Color" t)
(((db:0x4d715a9a) db:0x25c6a824) "mask1Color" t)
(((db:0x4d715a9a) db:0x25c6a947) "mask2Color" t)
(((db:0x4d715a9a) db:0x25c6a84c) "mask2Color" t)
)

In the figure below, none of the terminals is colored, so the query returns nil.

dbGetColoredOccShapes(css())
nil

In the figure below, the middle terminal is locked to mask1Color through the CDF parameter, not by hierarchical color locking, so it is not reported when the function is run.

dbGetColoredOccShapes(css())
nil

Return to top
 ⠀
X