• 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. No supermaster is created

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 15359
  • 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

No supermaster is created

mantang
mantang over 6 years ago

Hi

From pcell library tpPcell (I do not have write permission) , I instantiated pcell A in Cell X and  pcell B in Cell Y in stdcellLib . Then I create a top level cell "DRC_TOP" by placing Cell X and Cell Y using  SKILL code "CCFplaceAllnstances" (obtained from this community 1 year ago). I got the following error code (DB-27000) and no supermaster is created. What is supermaster ? Why do I get this warning message ? Although I could place Cell X and Cell Y in DRC_TOP successfully, I try to understand why the SKILL code wants to create supermaster and the purpose of the supermaster ?

CCFplaceAllInstances(?libName "stdcellLib" ?viewName "layout" ?columns 20
   ?spacing 2.0 )

\w *WARNING* (DB-260014): dbOpenBag: Library tpPcell: cannot upgrade library access from read to write.
\w *WARNING* (DB-260014): dbOpenBag: Library tpPcell: cannot upgrade library access from read to write.
\w *WARNING* Parameter 'layer1' already exists.
\w *WARNING* Parameter 'layer2' already exists.
\w *WARNING* Parameter 'w1' already exists.
\w *WARNING* Parameter 'l1' already exists.
\w *WARNING* Parameter 's1' already exists.
\w *WARNING* Parameter 'samepattern' already exists.
\w *WARNING* Parameter 'discription1' already exists.
\w *WARNING* Parameter 'w2' already exists.
\w *WARNING* Parameter 'l2' already exists.
\w *WARNING* Parameter 'errpattern' already exists.
\w *WARNING* Parameter 'discription2' already exists.
\w *WARNING* Parameter 'overlap' already exists.
\w *WARNING* (DB-260014): dbOpenBag: Library tpPcell: cannot upgrade library access from read to write.
\o Loading pCellGen.cxt
\w *WARNING* (DB-270000): dbOpenCellViewByType: Cannot obtain write access for library tpPcell to access design database: library has read access.
\w *WARNING* Pcell evaluation failed. No supermaster was created.
\e *Error* dbPurge: argument #1 should be a database object (type template = "d") - nil
\w *WARNING* (DB-270000): dbOpenCellViewByType: Cannot obtain write access for library tpPcell to access design database: library has read access.

Thanks,

MC

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 6 years ago

    My guess is that the pPcell library has a libInit.il file which is loading SKILL code that is performing a pcDefinePCell to recreate the pcell. I checked the code, and this message is produced within the pcDefinePCell function, and unless you're calling that yourself (which doesn't seem to be the case), it's likely to be what I say.

    This means that whoever created the tpPcell library has done it incorrectly.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mantang
    mantang over 6 years ago in reply to Andrew Beckett

    Hi Andrew,

    Thank you for your information.

    What is the correct way to fix the problem in pPcell library? I do not believe that changing write permission is the correct way.  

    Thanks,

    ManChak

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to mantang

    Hi ManChak,

    Changing the permissions is not the right answer. You need to ensure that tpPcell's libInit.il does not call code that calls pcDefinePCell. When you define a PCell this way, the code is stored within the cellView for the pcell (this is the "supermaster") and it does not need to be recreated each time you start Virtuoso. The only things that needed to be loaded each time are any custom functions which are called from within the body of the pcDefinePCell call. 

    So it's a matter of modifying the startup file (libInit.il) for this library to stop it doing the wrong thing.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mantang
    mantang over 6 years ago in reply to Andrew Beckett

    Hi Andrew,

    Thank you for your help. I saw pdDefinePCelll skill code is loaded by the commands in libInit.il. I will check with the original author of this pcell library.

    Thanks,

    ManChak

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • mantang
    mantang over 6 years ago in reply to Andrew Beckett

    Hi Andrew,

    Thank you for your help. I saw pdDefinePCelll skill code is loaded by the commands in libInit.il. I will check with the original author of this pcell library.

    Thanks,

    ManChak

    • 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