• 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. Can a cell-level CDF stay with its cell, regardless of library...

Stats

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

Can a cell-level CDF stay with its cell, regardless of library?

caver456
caver456 over 8 years ago

In order to add control to pcell parameters in the edit parameters GUI (i.e. make a cyclic field, change the parameter display text, etc) I understand you need to use CDF.  (Interesting that this support case uses the wording that CDF is "the best method"... that implies there's another way... is that true?) - CDF works nicely, but, it looks like a base-cell-level CDF still depends on the library it was created with, i.e. if you copy that cell to a different library that doesn't have the same CDF, then the pcell edit parameters form will use the default display (i.e. actual pcell parameter names as the field labels; no cyclic fields; etc).  One post mentions that you can copy the CDF of the cell along with the cell itself by using ccpCopy but that seems pretty cumbersome and I didn't get it to work as expected.

The CDF docs seemed to indicate you could attach a CDF to a cell only, but maybe I'm misunderstanding?  Based on all of the above, it looks like a cell-only CDF is only valid for that cell when it is in the library specified in the cdfCreateBaseCellCDF command?

In other words, is there a way to get a nice clean modular independent pcell along with the user-friendly edit parameters form fields, such that the cell can be copied to any library and still work and look the same?

  • Cancel
Parents
  • skillUser
    skillUser over 8 years ago
    You can redefine a function 'silently' - check if the function is already defined (e.g. use "fboundp") and if it is use putd('functionName nil) where functionName is your function. After doing this the function can be defined again without any warning message saying that it is being redefined. It is a small overhead but should give you what you are asking for. You could set up a foreach loop for each of the functions that you want to redefine so that they are all 'reset' in one go. In my understanding you do not want to try to rewrite everything as macros, this would not be recommended for various reasons.

    Best regards,
    Lawrence.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • skillUser
    skillUser over 8 years ago
    You can redefine a function 'silently' - check if the function is already defined (e.g. use "fboundp") and if it is use putd('functionName nil) where functionName is your function. After doing this the function can be defined again without any warning message saying that it is being redefined. It is a small overhead but should give you what you are asking for. You could set up a foreach loop for each of the functions that you want to redefine so that they are all 'reset' in one go. In my understanding you do not want to try to rewrite everything as macros, this would not be recommended for various reasons.

    Best regards,
    Lawrence.
    • 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