I am writing a program which involves displaying the heirarchical tree of all the instances and nets in a Cadence cell, exactly like it appears in the side of the cellview in Cadence. To do this I am writing a .restore file to the command line which should select all objects in the cellview. My problem is that I don't want my program to open Cadence, but can't find a way to select all the objects in a cellview without having the view window open and using the function geSelectAll().
Is this possible to do?
All help is much appreciated
I'm not sure why you want to "select" the items. You can loop through all the instances in a cellview without opening it in a window if you have the cellview id:
cvId = dbOpenCellViewByType("myLib" "myCell" "myView")foreach(inst cvId~>instances printf("Lib: %s Cell: %s View: %s Inst Name: %s\n" inst~>libName inst~>cellName inst~>viewName inst~>name))
Thanks alot that's just what I needed!
To generate a tree, you may want to loop through the instance headers instead of all the instances. The instHeader (cvId~>instHeaders) points to a master and to all the instances which use that master. A regular hierarchical cell has only one instHeader pointing to all of its instances. A pcell or via may have multiple instHeaders, one for the superMaster and one for each variant master.