• 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. After creating a pcell, the device size cannot be chang...

Stats

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

After creating a pcell, the device size cannot be changed

DS202409251254
DS202409251254 11 months ago

I created a pcell for my device, where L is its length and W is its width. But these two parameters did not appear in the schematic and layout, and my device size has always maintained the default values of L and W.So which parameter should I modify in the schematic to make the device dimensions in the layout change accordingly.

  • Cancel
  • Andrew Beckett
    Andrew Beckett 11 months ago

    My assumption is that you have CDF defined for this device. If there is no CDF defined, the create instance and edit properties will show the PCell parameters; if there is CDF, then it will only show the parameters defined in the CDF.

    As a result, when there is CDF defined (use Tools->CDF->Edit and choose "Base") you need to define your PCell parameters (W and L) there too - you should ensure they have the same default values as the PCell defaults too.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • DS202409251254
    DS202409251254 11 months ago in reply to Andrew Beckett

    Thanks for your apply. I have now set CDF defined for W and L, with the default value for L being 0.4. When I set L to 0.4 in 'edit instance properties', no error occurred. However, once I set it to a different value, it displays ' pcell eval failed '. Isn't the function of PCell to allow me to scale the size of the device when adjusting parameters? But now, once I change the parameters, errors occur. This is my first time encountering PCell, and I am very grateful for your answer to my question.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett 11 months ago in reply to DS202409251254

    From the first picture, my assumption is that the PCell parameters are in microns, whereas you've entered the values in metres. Does it work if you put 0.3? (and an appropriate value for W too)?

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • DS202409251254
    DS202409251254 11 months ago in reply to Andrew Beckett

    oh,it work. Thank you very much for your help.

    Da

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • DS202409251254
    DS202409251254 11 months ago in reply to Andrew Beckett

    Hi, dear Andrew, the default unit for Pcell parameters is microns. How can I change it to meters.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett 11 months ago in reply to DS202409251254

    Firstly, the graphical PCell environment is something that we discourage the use of (it's old, and has not had any significant work done on it in many years - in fact there's a warning given in IC23.1 that we plan to remove it in a future release). Instead you should use a more modern tool such as PCell Designer (please speak to your account team) or write SKILL PCells.

    However, if you want to do this, you could set the Name or Expression to be either:

    L*1e6

    (reference dimension still in microns)

    and then on PCell->Parameters->Edit you set the default value (in metres). 

    I would probably set the expression to be:

    cdfParseFloatString(L)*1e6

    and then set the parameter type (on PCell->Parameters->Edit) to be a string rather than float. This tends to work better if you are using CDF and want the same component to work with simulation flows.

    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