Hi I'm a new comer for SKILL. My question is what are the attributes of object type Cellview?
Are there any documentation describing the object types used in SKILL?
I cannot find the information on this topic in the local documentation in my department. Thanks a lot.
The section of that manual that you need is entitled "Description of Database Objects" or "Attributes of Cellviews" depending on the version you are using. For example, this is the "Cadence Design Framework II SKILL Functions Reference" or the "Virtuoso Design Environment SKILL Reference" manual. These should take you to the appropriate section in SourceLink:
There are lots of attributes listed, so I will not list them all here, but some common ones are bBox, cellName, cellViewType, instances, terminals, and shapes. Hopefully you are aware that these can be accessed using the ~> operator, or the dbGet() or dbGetq() SKILL functions, and set using the operator, or the dbSet()/dbSetq() SKILL functions.
The documentation should also be available as a PDF file, in this case under
Hopefully this answers your questions.
One thing I would add is that from any database object you can quickly see what the attributes and their values are in the CIW. In the CIW, we can assign the cellView currently open in the window to one variable and the first item in the selected set to another variable and look at their attributes. First, open a cellview with shapes in it. Select one of the shapes or instances. Then type the following in your CIW:
cv = geGetEditCellView()item = css() css() is a shortcut for car(geGetSelSet())
To see the attribute names:cv~>?item~>?
To see the attribute names and values:cv~>??item~>??
You can extend this further. If the cellview has shapes in it, try this:cv~>shapes~>?cv~>shapes~>??cv~>shapes~>layerNamecv~>shapes~>objType
I am a layout engineer and not a CAD programmer, but wanted to add these coarse tips and generalities that you may find helpful:
1. It is very strict in its syntax like C programming (not forgiving like Perl).
2. It is like LISP in its data and its structure, although it has the optional C like syntax. I went through part of a LISP book and it really helped me (not necessary but I found it helpful).
3. Finally, you have to be very aware of what the API functions need for inputs and what they return (or side affects).
4. Basically thinking of just about everything as objects, and having properties and pointing to other objects, their properties and values. Try to find The SKILL CellView Informational Model (nice snapshot of this).
The other links provided by skillUser are very good.
The brDataBrowser() function often comes in handy for browsing the cell tree.