• 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. Signal type

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 4942
  • 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

Signal type

Aldo3
Aldo3 over 1 year ago

Hello,

For the i-th terminal of an instance

nth(i cv~>terminals)~>term~>net~>sigType

gives the signal type set in the "Create Pin" gui.

How is net~>sigType set?

nth(i cv~>terminals)~>net~>sigType

Thank you

Best regards

Aldo

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    Aldo,

    Just use (say) net~>sigType="supply" or net~>sigType="signal" . Note that the signal types are not exactly the same as they are shown in the edit properties form or property assistant. Search in the documentation for "Signal Attributes" (in quotation marks) and you'll find the reference for the allowed values.

    Andrew

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

    Thank you Andrew for you kind support.

    I was writing a script to grab info about pins of the instances contained in a schematic.

    From the documentation I've seen that the same value I set in the "Create Pin" gui can be read through sigType:

    nth(i cv~>terminals)~>term~>net~>sigType

    (except "power" in the gui, corresponding to sigType="supply").

    It is still unclear to me where the info contained in nth(i cv~>terminals)~>net~>sigType come from.

    There is a sigType associated to terminal's term~>net (the one I'm interested to know) and one associated to terminal's net (that can be different from the first one).

    Thank you

    Best regards

    Aldo

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

    OK, I've re-read your original question, and realise that you've used a variable cv which is actually an instance not a cellView (the importance of good naming of variables). If it had been a cellView, then cv~>terminals~>term would have returned a list of nils (because terminal objects on a cellView don't have a terminal attribute).

    Now that I've realised that you're talking about instances, then:

    inst~>terminals is an alias for inst~>instTerms (the terminals attribute is not shown when you do inst~>?). If you go from an instTerm and do inst~>instTerms~>term - you get the terminal on the instantiated cellView (a symbol if it's a schematic), and then if you do inst~>instTerms~>term~>net~>sigType you're getting the sigTypes from the instantiated symbol. If however you do inst~>instTerms~>net you're getting the nets in the schematic that the symbol is instantiated in - and hence this is a different object.

    The sigType can be set via the property editor, but it an also be set automatically at check-and-save time. This is controlled by the Options→Check form, the Set Signal Type from Net Name and Type Registration which is defaulted by the postProcNetSigTypes cdsenv variable (search in the documentation for this). 

    There's also the registration of name to signal type mapping which is controlled by the ciRegisterNet function (search for that in the documentation).

    Regards,

    Andrew

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

    Hi Andrew,

    Thank you for the clarification and sorry for the misleading variable name

    Best regards

    Aldo

    • 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