• 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. create or delete subcell from CDF callback

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 143
  • Views 14656
  • 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

create or delete subcell from CDF callback

smikes
smikes over 5 years ago

A pcell can instantiate subcells at creation. Is there a way to add or remove them via a CDF parameter through the callback?

For example, say I have a resistor that gets added to, or removed from, a schematic based on a CDF parameter.

Thanks,

Steven

  • Cancel
Parents
  • mbracht
    mbracht over 5 years ago

    I would suggest to create the subcell conditionally as part of the PCell creation code. Something like:
    (when <somePcelParam> (dbCreateInstance ...))
    And then provide a CDF param for that PCell parameter.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • smikes
    smikes over 5 years ago in reply to mbracht

    Wouldn't this check just run once at PCELL creation time? Toggling the parameter afterwards would have no effect, right? 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • smikes
    smikes over 5 years ago in reply to mbracht

    Wouldn't this check just run once at PCELL creation time? Toggling the parameter afterwards would have no effect, right? 

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

    It's not really clear what you're trying to do.

    If the PCell is a hierarchical PCell, then a parameter of that PCell could define whether the sub-instance is created or not. If you later change the value of that parameter, the PCell code would get re-evaluated and then in the new sub-master (variant), the instance would or would not be created, dependent on that parameter.

    If you were asking to have a CDF callback for a component which when chosen will create a second instance (at the same level as the main instance that you're editing the properties of), then you shouldn't do that - this is beyond how the tools are supposed to be used and would almost certainly break lots of flows. CDF callbacks should only be affecting parameters on the instance being created/edited, and should not be used for other side effects.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mbracht
    mbracht over 5 years ago in reply to smikes

    nope - changing a Pcell parameter forces a reevaluation of the underlying SKILL code.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • smikes
    smikes over 5 years ago in reply to mbracht

    Yup you're right it works, thanks!

    • 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