• 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. Is it possible to add properties to a layout pcell?

Stats

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

Is it possible to add properties to a layout pcell?

Sheppy
Sheppy over 9 years ago

Hi,

This is what I would like to do:

The p-cell code to generate a layout instance must store certain values computed in the code as a property to that instance.

This is simular to someting I have done before: added properties of computed values for a group in layout.

In the code for generating shapes in a layout, I group all the generated shapes together and then add properties to this group. I use the command:

dbCreateProp( topGroupID fieldName fieldType fieldValue )

I want to do the same with a p-cell. The values I want to report are not parameters (I don't want them to be that either), so they should be stored as properties. When an instance is instantiated, upon selecting that instance and hitting the "q" key, I wnat properties to show-up under the properties tab. I tried to do it with the same command like so:

dbCreateProp( pcCellView fieldName fieldType fieldValue )

but this did not work.

Is there any way to get the p-cell code to store certain values as properties to the instance it is creating?

With kind regards,

Sjoerd

  • Cancel
Parents
  • Sheppy
    Sheppy over 9 years ago

    Hi Andrew,

    Thank you very much for the very detailed response.

    And it is actually what I expected it to be, so no big surprise. And I agree with you that solution/backdoor you propose shouldn't be used (keep that door closed!).

    What was needed: a colleague wants to automatically (using SKILL script part of a validation toolbox) place pins on all pins of a transistor pcell (in an other layout). I developed this pcell, and all pins have labels, each label has its origin exactly in the middle of the pin. This information is easily retrievable from the instance master (just do a foreach of all shapes and look for object-type "label" and that is has the correct value in "theLabel") so I suggested to just use that. I understand it would be easier for him if there would be a property with a list of all pin locations, but I think this is the best way to do it. (looking for terminals and than locating the pins/shapes and determine the centre is a solution as well, many roads lead to...) Now I can tell him that a property can't (reliably) be created.

    With kind regards,

    Sjoerd

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Sheppy
    Sheppy over 9 years ago

    Hi Andrew,

    Thank you very much for the very detailed response.

    And it is actually what I expected it to be, so no big surprise. And I agree with you that solution/backdoor you propose shouldn't be used (keep that door closed!).

    What was needed: a colleague wants to automatically (using SKILL script part of a validation toolbox) place pins on all pins of a transistor pcell (in an other layout). I developed this pcell, and all pins have labels, each label has its origin exactly in the middle of the pin. This information is easily retrievable from the instance master (just do a foreach of all shapes and look for object-type "label" and that is has the correct value in "theLabel") so I suggested to just use that. I understand it would be easier for him if there would be a property with a list of all pin locations, but I think this is the best way to do it. (looking for terminals and than locating the pins/shapes and determine the centre is a solution as well, many roads lead to...) Now I can tell him that a property can't (reliably) be created.

    With kind regards,

    Sjoerd

    • 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