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

dbGetHierColorOverride

dbGetHierColorOverride( 
l_occShape 
)
=> l_occShapeHCL / nil

Description

Returns the occurrence shape with the topmost hierarchical color lock that defines the effective color of the given occurrence shape. nil is returned if the effective color of the given occurrence shape is not defined by a hierarchical color lock.

Arguments

l_occShape

list(l_hierPath d_shapeId)

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.

Value Returned

l_occShapeHCL

list(l_hierPath d_shapeId)

List representing an occurrence shape using the same format as the input argument (l_occShape).

nil

There is no hierarchical color lock that defines the effective color for the given shape or there was an error in processing (for example, the occurrence does not exist).

Example

Creates a hierarchical color lock on a shape rect in an instance, then returns the hierarchy path to that shape where the hierarchical color lock is set.

bot=dbOpenCellViewByType("tech" "bot" "layout" "maskLayout" "w")
mid=dbOpenCellViewByType("tech" "mid" "layout" "maskLayout" "w")
top=dbOpenCellViewByType("tech" "top" "layout" "maskLayout" "w")
topToMid = dbCreateInst(top mid "topToMid" '(30 0) "R0")
midToBot = dbCreateInst(mid bot "midToBot" '(0 0) "R0")
rect = dbCreateRect(bot '("metal2" "drawing") '((1 8.6) (5.3 6.6)))
dbSetOccShapeColor(list(list(midToBot) rect) "mask1Color")
dbSetOccShapeColorLocked(list(list(midToBot) rect) t)
hierPath = dbGetHierColorOverride(list(list(topToMid midToBot) rect))

Removes the color and hierarchical color lock on all the metal2:drawing shapes with a hierarchical color lock in the top cellview.

foreach( l dbColorShapeQuery2(top list("metal2" "drawing") top~>bBox )
occShape = car(l)
locked = caddr(l)
isHCL = cadddr(l)
when(locked && isHCL
hcl = dbGetHierColorOverride( occShape )
dbSetOccShapeColorLocked( hcl nil )
dbSetOccShapeColor( hcl "grayColor" ) )
)


Return to top
 ⠀
X