• 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 Design
  3. How to trigger call-back procedure when changing cell-name...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 125
  • Views 16390
  • 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 trigger call-back procedure when changing cell-name of existing instance?

Sheppy
Sheppy over 9 years ago

Hello,

I am developing a PDK containing various components (p-cells with call-back procedures). The designers using it at this moment, are performing the following steps to create large test-layouts, with lots and lots of nearly identical devices:

  1. Create a layout with many instances of a PMOS transistor, varying parameters like width, length, gate-drian space, gate-source space, etc.
  2. Copy this layout to a new cell
  3. Perform a search-and-replace and changing all cell-names from PMOS to NMOS

In an other PDK, this works, all parameters that need an update (like for instance a parameter called Device Info) are updated, but others, like width and length, remain as is. Thus creating a new layout with virtually no effort. So what clearly happens is that a cell-name change triggers the p-cell to update certain parameters.

When they try to do this with my p-cells, it doesn't work. All parameter names are identical (as is in the other PDK), but after the cell-name change the value of all parameters remain teh same. An example:

The parameter called DeviceInfo contains the following for the PMOS: Standard Low Voltage P-Channel MOS Device
After changing the cell-name, it should be updated to: Standard Low Voltage N-Channel MOS Device

However, this update does not happen.

Now is my question: how do I make my devices behave identical to the other PDK?

How do I trigger the call-back procedure to update, if necessary, the parameters of the p-cell?

With kind regards,

Sjoerd

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

    Sjoerd Herder said:
    In stead of going this way, do you advice me to write custom code to automatically swap components? This would be easy to do, since a certain type of NMOS is always swapped with a similar type of PMOS: a PMOS_50 always replaces a NMOS_50, PMOS_85 replaces NMOS_85, and so on. In total there are 10 types, so the code is not difficult to write (might even be possible to use abConvertComponentParamsHier() to do the trick).

    Just noticed this additional question. Yes, probably custom code would be the right answer currently in the absence of anything generic in the tool which handles this.

    Regards,

    Andrew.

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

    Sjoerd Herder said:
    In stead of going this way, do you advice me to write custom code to automatically swap components? This would be easy to do, since a certain type of NMOS is always swapped with a similar type of PMOS: a PMOS_50 always replaces a NMOS_50, PMOS_85 replaces NMOS_85, and so on. In total there are 10 types, so the code is not difficult to write (might even be possible to use abConvertComponentParamsHier() to do the trick).

    Just noticed this additional question. Yes, probably custom code would be the right answer currently in the absence of anything generic in the tool which handles this.

    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