• 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
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi Sjoerd,

    If that's what he wants to do, then you can certainly store the information as a property on the subMaster cellView (so pcCellView~>yourProp=...). So for example, this could be of the form:

    pinCentres=list(list("A" 1:2) list("B" 3:4) list("C" -1:-2))
    pcCellView~>pinCentres=pinCentres

    The coordinates would be relative to the subMaster origin (so not instance coordinates).

    Then all he'd have to do is:

    pinAcentre=dbTransformPoint(cadr(assoc("A" inst~>master~>pinCentres) inst~>transform)

    and so on. The cadr(assoc(...)) bit is just an example of how you'd look it up, and then we're transforming it to the parent coordinate system using whatever transformation has been done on the instance. This would work, because the coordinates are in the PCell's coordinate space and so common to all instances of the same variant.

    This would avoid having to hunt down shapes in the master.

    Another approach is to use rodNameShape to name the shapes, and then use rodGetObj to retrieve the named hierarchical object and from that you can use the various handles to (say) find the centre of the shape.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • brossi
    brossi over 6 years ago in reply to Andrew Beckett

    Hi Andrew, I´ve created a pcell that can be strech, and I want to a property like victim or attacker it will be a boolean property. I was able to add those parameters after instanciating the pcell, however I would like that anyone that use that pcell has those properties available. do you have any guide to do that? My idea later is to do a search of that instance and read how many victim / attaker cells I have.

    Regards!

    Brenda

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • brossi
    brossi over 6 years ago in reply to Andrew Beckett

    Hi Andrew, I´ve created a pcell that can be strech, and I want to a property like victim or attacker it will be a boolean property. I was able to add those parameters after instanciating the pcell, however I would like that anyone that use that pcell has those properties available. do you have any guide to do that? My idea later is to do a search of that instance and read how many victim / attaker cells I have.

    Regards!

    Brenda

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to brossi

    Hi Brenda,

    The forum guidelines ask you not to post on the end (or in the middle of) old threads - even though this is loosely related to the previous topic. You can always reference the old thread (including the link) if needed.

    Anyway, if you want the property to show up as something that the user might want to set, you can do that by defining it as a CDF parameter for the cell in question. I'm assuming it's not actually a PCell parameter (i.e. it doesn't influence the PCell's behaviour), but you can add whatever CDF parameters you like and then this governs what shows up on the create instance/edit properties forms.

    Regards,

    Andrew.

    • 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