• 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 set the order of a PCell's Parameters?

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 143
  • Views 5604
  • 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 set the order of a PCell's Parameters?

aakhavan
aakhavan over 13 years ago

In Cadence 5, the order of the pcells parameters in the Create Instance form was set by the order of the parameters in the pcDefinePCell function. However, using the same code in Cadence 6.1.5 results in the parameters being in a seemingly arbitrary order in the Create Instance form. Has anyone experienced this or found a work around?

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    OK, I took a look at the solution, and it is assuming that the parameters hierProp is ordered. I don't think there is anywhere which says that this is the case - that the order matches the order the parameters were defined in the pcDefinePCell. You might have made that empirical observation in IC5141, but it was never guaranteed - and with the change in the database to OA, it doesn't appear to be the case any more (I didn't try, I'm just basing this on what you've observed). Regardless of whether it is true or not, it is not a valid assumption to have made.

    That said, it would be easy to modify the code in Lawrence's solution to define the order without "manually" coding it. Sure, you have to define the order, but apart from that it would be straightforward:

        foreach(param foreach(mapcar paramName '("NX" "NY" "B1" "B2") dbFindProp(cv~>parameters paramName))
          ;; create the cdf in the same basic way, but depending on the
          ;; parameter do some things differently
          cdfCreateParam(cdf
    ...

    So you are just explicitly listing the order you want when you do the CDF parameter creation.

    Hope that helps,

    Regards,

    Andrew.

    Note - if you can't see all the code above because it's truncated in your browser, selected it and copy/paste into an editor.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    OK, I took a look at the solution, and it is assuming that the parameters hierProp is ordered. I don't think there is anywhere which says that this is the case - that the order matches the order the parameters were defined in the pcDefinePCell. You might have made that empirical observation in IC5141, but it was never guaranteed - and with the change in the database to OA, it doesn't appear to be the case any more (I didn't try, I'm just basing this on what you've observed). Regardless of whether it is true or not, it is not a valid assumption to have made.

    That said, it would be easy to modify the code in Lawrence's solution to define the order without "manually" coding it. Sure, you have to define the order, but apart from that it would be straightforward:

        foreach(param foreach(mapcar paramName '("NX" "NY" "B1" "B2") dbFindProp(cv~>parameters paramName))
          ;; create the cdf in the same basic way, but depending on the
          ;; parameter do some things differently
          cdfCreateParam(cdf
    ...

    So you are just explicitly listing the order you want when you do the CDF parameter creation.

    Hope that helps,

    Regards,

    Andrew.

    Note - if you can't see all the code above because it's truncated in your browser, selected it and copy/paste into an editor.

    • 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