• 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. How to use skill to change PCell parameter like using Edit...

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 144
  • Views 18986
  • 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 use skill to change PCell parameter like using Edit Instance Properties to change parameter ?

Charley Chen
Charley Chen over 14 years ago

Hi All,

When using Pcell , press  q to use "Edit Instance Properties" to change parameter (e.g.  length) ,

in cdf  , it has callback ,  everything is right according to callback function . Different length has it different result in Pcell.

Now I have many Pcells needs to changed  parameter - length (from 2um to 4um) by  "Edit Instance Properties" ,

Is there any approach to do that ? (Not manual use "Edit Instance Properties" to change each Pcell's parameter ?

After changing parameter - length , its result should same as using "Edit Instance Properties" .

 

Thank you.

Charley

  • Cancel
  • StefanSL
    StefanSL over 14 years ago

     Hi Charley,

    what about the following piece of code:

    tc=geGetEditCellView()
    foreach(ti tc~>instances if(ti~>PCLENGTH then ti~>PCLENGTH = 4))

    i check for existence of the parameter PCLENGTH to avoid to add this as property to
    other cells; perhaps you need to modify the if-condition to be sure only to modify the
    correct set of cells.

    hope this helps

    regards

    Stefan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Charley Chen
    Charley Chen over 14 years ago

    Hi Stefan ,

     Does it do any CDF callback if length has callback function ?

    Thank you,

    Charley

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • StefanSL
    StefanSL over 14 years ago

     Hi Charley,

    i'm not really sure about that, but the cdfuser-manual states
    "Callbacks are triggered whenever a change is made to the parameter value, even if the
    change is caused by loading a default value."

    This sounds good, but you should check if this applies to your special application too.

    Kind regards

    Stefan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Take a look at solution 11018344 - this has code to call CDF callbacks procedurally.

    Regards,

    Andrew.


     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Charley Chen
    Charley Chen over 14 years ago
    Andrew,

    Thank you, but the link is not exist.

    Charley
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Austin CAD Guy
    Austin CAD Guy over 14 years ago

    CDF callbacks are only executed during the interactive editing of the parameters through the Edit Property form or the Edit Property Assistant (IC6.1). If you are changing them programmatically, you have to execute the callback. Here is a way to do it:

    ;; Get the instance
    inst = car(selectedSet())
    ;; Instance CDF
    cdfgData = cdfGetInstCDF(inst)
    inst->length = newLength
    param = cdfFindParamByName( cdfgData "length")
    when(param->callback
      evalstring(param->callback)
    )

    Ted (this line is not part of the code)

     

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • StefanSL
    StefanSL over 14 years ago

     Hi Charley,

    there's a small (but  nevertheless vital) error in Andrews link:

    http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNu mber=11018344

    remove the space within "Nu mber", then it works fine...

    regards, have a nice weekend

    Stefan

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago
    Apologies - cut and paste error. Did it in too much of a hurry - thanks Stefan for fixing it!
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Charley Chen
    Charley Chen over 14 years ago

    Ted,

    It works , thank you.

    Charley

    • 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