• 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. Re-compile Pcells

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 14434
  • 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

Re-compile Pcells

KishanVNs
KishanVNs over 14 years ago

 Hi All,

 

I have a Library of Pcells and i have done some modifications to them using db commands .

But when i am placing them in another layout , i am not able to see the changes that i did using the db commands.

I understood that i have to re-complie the Pcells[ compile to pcell not to  skill file ]. The issue is i have around 200 pcells and i want to do it automatically. I don't know what command is used for re-compling [ db command ] and not able to find it.

It would be helpful if any one could post the code for it.

 

thank you

Kishan

 

 

  • Cancel
  • skillUser
    skillUser over 14 years ago

    Hi Kishan,

    Are these graphical PCells (i.e. ones that were drawn and then stretch lines etc. were added to them), or are they SKILL based PCells?

    The way to modify a SKILL based PCell is to modify the SKILL PCell code, and then the PCell is recompiled by loading that code. PCell instances are modified by changing their parameters - this is the only way that you should be trying to modify PCell instances.  Likewise, you should not be trying to alter PCell masters with db commands that run on those cells, put the modifications in the SKILL code that builds the master.

    For a graphical PCell, I have not tried to alter one using db* commands, but even so I presume that if you did this you would need to recompile the PCell, and I don't know what SKILL function that would be - I do not see anything obvious in the SKILL Finder, which leads me to think that there is not a public function for doing this.  Anyway, you are better off using a SKILL based PCell.

    Can you please clarify your request and also mention which version you are using?

    Regards,

    Lawrence.

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

     Hi Lawrrence,

     

    Than you for your reply.

    I am working on graphical pcells. I have modified them using the db commands. Now i want to re-compile them through skill code. I am not able to find a db command for the same.

    It would be great if  you could help me find one.

     

    With Regards

    Kishan 

     

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

    Kishan,

    I believe all you will need to do is:

    cv=dbOpenCellViewByType(libName cellName viewName)
    tmpFile=makeTempFileName("/tmp/PcellCode")
    result=pcSkillGen(cv tmpFile nil)
    when(result
      dbDefineProc(cv tmpFile)
    )
    dbSave(cv)
    deleteFile(tmpFile)

    All that the graphical pcell editor does is generate the SKILL for the pcell and attach it as the pcell proc for the cellVIew - so this is in effect what the "compile to pcell" does. The functions in the above are all public.

    Regards,

    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