We are trying to asses how many layout cells in our current design library have constraints.
I am trying to write a skill code to open every layout cell in my design library and check if it has constraints.
What I am doing :
cv=dbOpenCellViewByType(libName cellName "layout")
cache = ciCacheFind(cv)
when(cache~>constraints printf("Found constraints\n")
But unfortunately ciCacheFind(cv) can't find anythig because I am opening cell in the memory(dbOpen) without building constraints cache.
I was told that it works only when you physically open layout XL window.But in this case it is painfull to do foreach(cell library~>cells geOpen(...)).
Painfull because I need to open Virtuoso XL and I didn't find any other way than to use deInstallApp(getCurrentWindow() "Virtuoso XL") function.And deInstallApp(getCurrentWindow() "Virtuoso XL") fails if layout doesn't have corresponding schematic(I don't need schematic to open VXL manually if I choose too).Painfull because it opens 1000+ windows.I can purge them, but here is another pain.When I do hiGetWindowList() I am getting list of windows including CIW and others which I can't purge.Trying to purge CIW gives an error.
I was wondering if somebody knows how to check constraint existance in more easy way.
It looks like a simple skill, but not a simple way to implement.
Thanks a lot,