SKILL: How can I find available cellViews for a cellName?

Discussion in 'Cadence' started by Svenn Are Bjerkem, Nov 5, 2007.

  1. Hi,
    I want to start drc,lvs and rcx runs on the cells in a hierarchy and I
    would like to know the available cellViews for each cell. I know this
    is strictly not nescessary as I can code the viewnames "schematic" and
    "layout" into my script. But I was curious if the cellViews are
    available somewhere in the cv datastruct as composer present a menu of
    available cellviews when I want to dive into the hierarchy.
     
    Svenn Are Bjerkem, Nov 5, 2007
    #1
  2. Svenn Are Bjerkem

    S. Badel Guest

    Hi Svenn,
    Not sure I understand correctly, as this sounds very simple.

    Assuming you have a cvId, you can get the list of cellviews belonging to the same cell with

    ddGetObj( cvId~>libName cvId~>cellName )~>views~>name

    or

    dbAllCellViews( ddGetObj( cvId~>libName ) cvId~>cellName )

    If you are processing a hierarchy, you'll probably have an instId instead of cvId. instId~>libName
    and instId~>cellName are readily available too.

    If you want to find, say, layout views only, you can filter on the viewType == "maskLayout"

    layoutViews = setof(
    view
    ddGetObj( libName cellName )~>views
    member( "maskLayout" mapcar( 'ddMapGetFileViewType view~>files ) )
    )~>name


    Does this help?

    Stéphane
     
    S. Badel, Nov 5, 2007
    #2
  3. Yes, I was poking around in cvId data structure to try to find some
    usable stuff and forgot to look for a command doing this based on the
    info that could be found in cvId. Kind of getting functionally blind
    looking for solutions ....

    Your filtering looks very nice, and as usual in SKILL, a nice little
    brain twister. :)

    Thanks for helping out,
     
    Svenn Are Bjerkem, Nov 5, 2007
    #3
  4. Svenn Are Bjerkem

    The Master Guest

    You can try looking at the dbOpenCellViewByType command. I created a
    nodeplot program that saves each net as a different view name. The format
    to open a layout view is:

    dbOpenCellViewByType( libraryname cellname viewname "maskLayout" "?" )

    The ? would change how you want to open it... Since you want to run a DRC
    run, you would want to open it in I *BELIEVE* "a" for append. Opening in
    "w" will over write the data, and "r" is only to read. I *THINK* it's "a"
    to modify, but I'm not sure...
     
    The Master, Nov 6, 2007
    #4
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.