• 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. Pcell conditional inclusion of one layer and remove oth...

Stats

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

Pcell conditional inclusion of one layer and remove other

marthandp
marthandp over 11 years ago

Is there any provison in Pcell GUI that I can include and layer and remove other layer/layers simultaneously using only one conditional inclusion in pcell.

 

Regards,

Marthand.

 

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

    Several ways you could do this. You could make the expression in the condition something like "param1 && !param2 && !param3" (this means the shape would only appear if param1 was set and param2 and param2 were not set). Or you could make the expression something like param1==1 for one shape, param1==2 for the second shape and param1==3 for the third shape. You'd probably have to go to Pcell->Parameters->Edit Parameters and change the parameter to be an int rather than boolean.

    If you want to have three boolean parameters and have it that if you set one, the others get turned off, you'd need to implement that in a CDF callback - because a pcell cannot change the parameter values on the instance above. But you could implement it by a system of priorities - if param1 had a higher priority than param2 which had a higher priority than param3, then you'd have the shapes:

    shape1: conditional is param1
    shape2: conditional is !param1 && param2
    shape3: conditional is !param1 && !param2 && param3

    that way, if param1 is set, shape 2 and shape3 are always off regardless of the values of param2 and param3, and so on.

    All depends on what you're trying to achieve!

    Regards,

    Andrew.

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

    Several ways you could do this. You could make the expression in the condition something like "param1 && !param2 && !param3" (this means the shape would only appear if param1 was set and param2 and param2 were not set). Or you could make the expression something like param1==1 for one shape, param1==2 for the second shape and param1==3 for the third shape. You'd probably have to go to Pcell->Parameters->Edit Parameters and change the parameter to be an int rather than boolean.

    If you want to have three boolean parameters and have it that if you set one, the others get turned off, you'd need to implement that in a CDF callback - because a pcell cannot change the parameter values on the instance above. But you could implement it by a system of priorities - if param1 had a higher priority than param2 which had a higher priority than param3, then you'd have the shapes:

    shape1: conditional is param1
    shape2: conditional is !param1 && param2
    shape3: conditional is !param1 && !param2 && param3

    that way, if param1 is set, shape 2 and shape3 are always off regardless of the values of param2 and param3, and so on.

    All depends on what you're trying to achieve!

    Regards,

    Andrew.

    • 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