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

dbCellViewHasUnknownColorLockChanges

dbCellViewHasUnknownColorLockChanges( 
d_cellViewId 
[ g_shapes g_vias g_HCLs ] 
) 
=> t / nil

Description

Checks whether any edits were done to the specified type of objects in the older versions of Virtuoso after color lock type information was set for some of them.

Arguments

d_cellViewId

Specifies the cellview ID.

g_shapes

A Boolean specifying whether the function should check color lock type of the shapes in the specified cellview.

The default is t.

g_vias

A Boolean specifying whether the function should check color lock type of the vias in the cellview.

The default is t.

g_HCLs

A Boolean specifying whether the function should check color lock type of the HCLs in the cellview.

The default is t.

Value Returned

t

Specified cellview has objects with unknown edits.

nil

Specified cellview has no objects with unknown edits.

Example

Consider that user1 creates a cellview with color lock type "system" using Virtuoso version ICADVM20.1 Base release.

cv = dbOpenCellViewByType("lib" "a" "layout" "maskLayout" "w")
r  = dbCreateRect(a "M1" list(0.0:0.0 0.1:0.1))
dbSetShapeColor(r1 "mask1Color")
dbSetShapeColorLockType(or1 "system")
dbSave(cv)

Next, user2 adds one more shape to this cellview using any advanced nodes Virtuoso release older than ICADV12.3 ISR15 and sends the data back to user1.

cv = dbOpenCellViewByType("lib" "a" "layout" "maskLayout" "a")
r  = dbCreateRect(a "M2" list(0.2:0.0 0.3:0.1))
dbSave(cv)

User1 will see that there are unknown changes on object type shapes.

cv = dbOpenCellViewByType("lib" "a" "layout" "maskLayout" "a")
dbCellViewHasUnknownColorLockChanges(cv) 
=> t
dbCellViewHasUnknownColorLockChanges(cv nil t t) 
=> nil

The dbCellViewHasUnknownColorLockChanges function allows any edits on the given object type. Therefore even if user2 did not change any coloring in the cellview, user1 cannot see any changes made by user2.

In this scenario, it is recommended to reset all lock types in the cellview:

dbCellViewResetAllColorLockTypes(cv "system")
dbCellViewHasUnknownColorLockChanges(cv) 
=> nil

Return to top
 ⠀
X