• 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 the port name of a selected cell view?

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 3571
  • 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 the port name of a selected cell view?

HongJian
HongJian over 1 year ago

I am trying to get the symbol port name through SKILL code. These are what I tried so far

cv = geGetEditCellView()
db:0x6ae7e71a
cv->cellName
"folded_cascode_ota"
cv~>portOrder
nil
cv~>ports
nil

 

How do I get the symbol port name so that I can double check the symbol port, whether it is connected to a net that has the same name?

For example, I wish to get a list of port which is AVCCAUX, AVSS, ibas_50u_ic, pd_1p8v, pdb_1p8v, vinn, vinp. This later will help me compare what nets are connected to each port for chekcing.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    cv~>terminals~>name

    Or if it's an instance, you'd do:

    instId~>master~>terminals~>name

    Or if it's in a schematic which has been extracted, you could use the instTerms:

    foreach(instTerm instId~>instTerms
      printf("%s connected to %s\n" instTerm~>name instTerm~>net~>name)
    )

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • HongJian
    HongJian over 1 year ago in reply to Andrew Beckett

    Hi Andrew, thanks a lot for the reply.

    Are there any ways I can 

    1. Click any instance on the schematic 

    2. List out all the port name (for example pd_1p8V ...)

    3. Check the net connected to the corresponding port (for example, it is pd_vccaux for pd_1p8V port)

    4. Just list out the ports that have different net name

    This will be helpful to highlight any unintended mistake in connection. 

    Based on the skill function given, seems like i need to descend down to get the port name first? What about checking the net connected to the corresponding port?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to HongJian

    The code I showed above pretty does what you want:

    Andrew Beckett said:

    foreach(instTerm instId~>instTerms
      printf("%s connected to %s\n" instTerm~>name instTerm~>net~>name)
    )

    You could just precede this with:

    instId=car(geGetSelSet())

    which would use the selected instance - it would then print out all the terminal names of that instance and the connected net names. If you wanted to just show those which are different (although of course it's not a requirement that the names match in general):

    instId=car(geGetSelSet())
    foreach(instTerm instId~>instTerms
      unless(instTerm~>net~>name==instTerm~>name
        printf("%s connected to %s\n" instTerm~>name instTerm~>net~>name)
      )

    )

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • HongJian
    HongJian over 1 year ago in reply to Andrew Beckett

    Thanks a lot. It works!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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