• 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 Design
  3. schematic vs symbol pinorder.

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 11784
  • 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

schematic vs symbol pinorder.

kenc184
kenc184 over 3 years ago

I am back doing design after a laborious period doing layout/tapeout, and am seeing a difference between how globals were treated before and how they are currently. I must be doing something different but I can' think what.

My schematic includes global pins, when I create cellview from cellview, I explicitly ask "exclude inherited connection pins".  When I save the symbol, I get a warning stating e.g. "vss! in the portOrderproperty not found in comparator symbol".

When I check edit>properties>pinorder on the symbol, the inherited pins are there, as they are on the schematic with the same check.

However, when I check back to work done earlier, I see the inherited/global pins in the schematic pinOrder but not in the symbol pinorder, thus I get no check and save warnings.

What might I be doing differently?

  • Cancel
Parents
  • kenc184
    kenc184 over 3 years ago

    I have checked the schematic cross view and "ignore terminals with net expressions and no terminal in the other view" is set.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to kenc184

    I'm not entirely sure what you've done (probably best to follow up with customer support to take a look properly at your data), but in my view worrying about ensuring portOrder consistency is not important. For the most part, only the verilog netlister uses the portOrder, and even then only for stopping views - and it doesn't matter whether it's inconsistent as only the view used affects the order. There are some unusual cases when the CDL netlister uses it (auCdl), but in those cases it also is only the stopping view that matters - no requirement for it to be consistent across views. 

    In my view it's best to turn off the check because otherwise you spend a lot of time fixing stuff that doesn't matter!

    This article explains how to disable the check.

    Most of the netlisters use the CDF termOrder instead - for stopping views, and for intermediate levels of hierarchy it will use the CDF termOrder provided that it's consistent with the terminals on the view used (if it's not consistent, it will use a built-in sorted order). You can ensure that the CDF termOrder is updated by setting these .cdsenv vars:

    ; turn this on if you want changes to the pins on the symbol to trigger CDF updates
    auCore.misc updateCDFtermOrder boolean t
    ; turn this off if you don't want to be asked about updating the CDF
    ;auCore.misc queryCDFtermOrder boolean nil

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kenc184
    kenc184 over 3 years ago in reply to Andrew Beckett

    Hi Andrew,

    It';s not the pinorder that bothers me, it's the warning created at symbol  check and save which states that the global inherited pins in the schematic are NOT in the symbol view. Well, they are not supposed to be, but they appear in the symbol's pinorder list whereas prior to this they did not. I have taken this up with support.

    By the way if I use an implicit inherited connection, the problem doesn't occur, just with explicit pins in the schematic.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to kenc184

    Sorry, your earlier use of the term "global pins" threw me (I wasn't paying enough attention and only read your earlier post rather too quickly). Global pins are a bad idea and should be avoided at all costs, but it sounds as if you are talking about explicit inherited connections which have a default net name which is global. The pins (or rather terminals) themselves are not global - they are inherited connections.

    The default behaviour is to not flag pins on the schematic which have net expressions on the terminals and are missing on the corresponding symbol. If they are being flagged in a cross-view check, then it's because this option has been turned off - I've highlighted the cdsenv that controls this too:

    The portOrder will (I think) have the missing pins on the symbol too - that's because of the attempts to keep the portOrder (pin order) consistent between the views - although I wouldn't get too hung up on that. Most of the netlisters will end up having to netlist the pins on the instance and subckt definition anyway in order to connect them up - you just have the convenience of being able to miss out wiring up the pins on the instance and connect by property instead.

    Notice (and this is good practice that we recommend) that when using explicit inherited connections you give the pin names simple names (i.e. no exclamation mark in the terminal name itself) as that means you can generate layout with sensible (non-global looking) pin names but yet have the benefits of inherited connections still.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kenc184
    kenc184 over 3 years ago in reply to Andrew Beckett

    Thanks, this is consistent with what support told me. If you notice my post above, you'll see that I DID have the cross view check selected appropriately. However your comment regarding "bang" signal names in the layout is spot on. The chip I taped out la few weeks back  had just this, and now knowing that, for example I name the pin "vplus", the property name "vdd" an the default net name "vplus!", I should eliminate this issue.

    I've been appraised that there is a second "inherited connections" RAK which covers this in greater detail that the one I did got through some time back. When I get time, I'll look that over, but for now my issue is solved.

    Thanks again for your time and effort.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • kenc184
    kenc184 over 3 years ago in reply to Andrew Beckett

    Thanks, this is consistent with what support told me. If you notice my post above, you'll see that I DID have the cross view check selected appropriately. However your comment regarding "bang" signal names in the layout is spot on. The chip I taped out la few weeks back  had just this, and now knowing that, for example I name the pin "vplus", the property name "vdd" an the default net name "vplus!", I should eliminate this issue.

    I've been appraised that there is a second "inherited connections" RAK which covers this in greater detail that the one I did got through some time back. When I get time, I'll look that over, but for now my issue is solved.

    Thanks again for your time and effort.

    • 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