instPin is nil

Discussion in 'Cadence' started by vlsidesign, Jan 9, 2007.

  1. vlsidesign

    vlsidesign Guest

    I am at a company that does Analog/RF designs.

    I was trying to automatically move top level pins on top of their
    instance pin, etc. and it seemed real useful to access 'instPin'
    attribute. It seems in the layouts I am looking at that it is always
    nil. So I end up accessing the instance's pin through
    instTerm~>term~>pin instead instTerm~>instPin.

    I am farely new at this, so was just wondering if there is something
    odd about my layout not to be using instPin attribute (I am using XL),
    or if I am mistaken or something. Just hoping to get a little feedback.
     
    vlsidesign, Jan 9, 2007
    #1
  2. vlsidesign

    vlsidesign Guest

    I never found out why instPin seems to be nil always in our company's
    designs, but accessing the pin through the other way in my skill
    program worked just fine.... huh... maybe with more time and deeper
    understanding I'll find out.
     
    vlsidesign, Feb 3, 2007
    #2
  3. As far as I know there is no property called 'instPin' either in the
    instance's dbId or in instTerm's. If you access any property that is not
    there in any of the db objects, It will just return a nil.

    When I searched for instPin, I got few results with references to
    OpenAccess, which I do not quite understand. If you are talking about
    OpenAccess route-s, Ignore my comments above.

    -
    Suresh
     
    Suresh Jeevanandam, Feb 4, 2007
    #3
  4. vlsidesign

    vlsidesign Guest

    In the "CellView Information Model", for instance on page 185 of
    dfhelp.pdf document (Cadence Design Framework II User Guide), you
    should see the instPin.

    I am working in VirtuosoXL, and have these top level Terminals/Pins
    that are associated to a net. I am trying to access the instPin (lower
    level pins -- pins in the instances) that is associated with the net.

    The idea for my script was that I could have hundreds of top level
    pins in my layouts, and then automate some of the pin placements
    (rather than zooming in manually selecting a pin, zooming out, and
    then zooming in and placing it, etc.).
     
    vlsidesign, Feb 5, 2007
    #4
  5. vlsidesign wrote:
    I think we are using different versions. I do not have that page itself.
    I also had to do something similar, I used to first find the pin name by
    instTerm->name, then search for this pin in inst~>master~>terminals, and
    once terminal is found, find the pin by term~>pins and access the figId
    of the pin, and then map this figId to toplevel with dbTransform* functions.

    -
    Suresh
     
    Suresh Jeevanandam, Feb 6, 2007
    #5
  6. vlsidesign

    vlsidesign Guest

    I am looking at the pdf file, Version 5, Sept 2003
    I would have to check my code but basically I think we are probably
    doing it about the same way, but I am just accessing the information
    just a little differently. I like accessing the information of the top
    level pins this way --
    cellView~>net~>terminal because there could be more than one pin
    associated with the terminal. I then access the pins on the instances
    below from cellView~>net~>instTerm because there could be multiple
    instTerms, and multiple instPins associated with each instTerm
    (although I can't get instPin directly). I haven't really thought in
    depth, but maybe the way that you access it, you too can get all that
    information, our programs probably do about the same thing, just in a
    little different way.

    By the way, the diagram is also found in the back of the "Cadence
    SKILL Functions Quick Reference" if you have access to one, it is the
    very last page.
     
    vlsidesign, Feb 7, 2007
    #6
  7. I found it. instTerm~>instPins returns nil for me too.

    -
    Suresh
     
    Suresh Jeevanandam, Feb 8, 2007
    #7
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.