• 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. modified Pcell has no parameter

Stats

  • Replies 1
  • Subscribers 148
  • Views 42
  • Members are here 0

modified Pcell has no parameter

XZ202601196340
XZ202601196340 3 hours ago

hello everyone.
Thanks for reading this and i really appreciate any help.

i am trying to modify a Pcell from a PDK. I followed this (SKILL: How to recreate/modify an existing PCell and also generate SKILL code for a schematic, layout PCell from an existing schematic) post and did the following steps:

my goal is to remove some metal from the layout of the Pcell and here is what i did:

1. open the Pcell layout and do cvID=geGetEditRep() 

2. Use the dbDumpPcell(cvID "pcell_src.il" "proc_src.il") procedure to dump the existing PCell.

3. Make the desired changes in the output files generated, and name them pcell_mod.il and proc_mod.il.

4. Backup/delete the existing PCell layout cellview.
5. load("pcell_mod.il")

6. Open the newly generated layout cellview. it is asking to update connectivity and there is no schematic in the cell, only spectre, aucdl and symbol so i didnt update anything.
7. Get the cellview ID. cvId=geGetEditRep()

8. dbDefineProc(cvId "proc_mod.il"); changes the layout cellview to be a parametrized cell.

9. when trying to save the updated layout pcell, i chose to save it as transistor but the hierarchy pcell generator says There is no parameter in this cell, continue to compile? i knew something was wrong but i chose yes regardless

and now the shapes in the layout cell do not have ROD associated with them and whenever i try to create an instance of this pcell, it does not scale with my parameter (e.g. i put in width/length and the generated layout does not change)

i m wondering what could go wrong. i also tried not modifying the pcell_src and proc_src and just load them but still, it is not scaling based on my parameter. i m using IC23.


any help is appreciated.


  • Cancel
  • Sign in to reply
  • Andrew Beckett
    Andrew Beckett 2 hours ago

    The instructions are a bit unclear in that article, to be honest. Some suggestions based on the experiments I just performed:

    6. When you try to open it, it prompts for the schematic source (because layout is Layout XL in IC23.1). Simply uncheck the schematic source - that would be OK.

    9. Rather than pressing the save button on the layout editor, I suggest you use:
        dbSave(cvId)
        (i.e the same variable you used the geGetEditRep/geGetEditCellView for). 

    That worked for me. I think it's confusing it with the graphical PCell system (because of opening up the Pcell in edit mode). Personally I would have changed:

    1. Open the Pcell in readonly mode and then do cvID=geGetEditCellView()
    2-5. As before
    6. cvId=dbOpenCellViewByType("libName" "cellName" "viewName" "" "a") ; rather than opening in a layout editor
    7. skip this
    8. As before call the dbDefineProc
    9. dbSave(cvId)

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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.

© 2026 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information