• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. How to get Pcell instance pins connection information?

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 15061
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to get Pcell instance pins connection information?

GGLin
GGLin over 5 years ago

I create a cellview with a Pcell instnace.

And I want to attach the label according to the DGSB for LVS.

I can use the inst->master->terminals->pins to get the DGSB pins correspond coordinate in the cellview. 

Like:

instParentTerminals = inst->master->terminals
foreach(term instParentTerminals
    foreach(pin term->pins

    foreach(pin term->pins
        printf("%L\n" pin->fig->lpp )
    )
        pointList = tconc(pointList dbTransformPoint(centerBox(pin->fig->bBox) inst->transform ) )
    )
    terminalList = tconc(terminalList list( term->name car(pointList) ) )
    pointList = nil

)

But I need to know which metal in the Pcell is connected to these pins due to the figs of these pins are not assigned to the metal directly. ex: S and D are assigned to OD 

Is there any way to get this kind of information?

Or is there any way I can do net tracing in db level rather than open a window and call leMarkNet? It is not a efficient way to do such a thing. 

  • Cancel
Parents
  • GGLin
    GGLin over 5 years ago

    Thanks for the replay.

    Yes I can see the /S/ /D/ /G/ on the pcell metal.

    But when I use the code above, only the G can get the metal pin, while S & D can get only the OD pins.

    and the nested code is just a paste error, I just want to see the layer name and purpose only.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to GGLin

    OK, I've realised what you're probably doing wrong. Rather than looking at pin~>fig, you should look at pin~>figs. It's likely that the pin has multiple figures, which is how strongly connected pins are represented in the database. The ~>fig is a compatibility mode for old CDB code because prior to OpenAccess, you could only have a single figure on each pin and strong connects were represented a different way.

    So try iterating over the figs on the pin and see whether there's a figure on the layer you want.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • GGLin
    GGLin over 5 years ago in reply to Andrew Beckett

    Thanks! It works.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • GGLin
    GGLin over 5 years ago in reply to Andrew Beckett

    Thanks! It works.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information