• 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. cphGetInstParamToCheck returning nil for instance but in...

Stats

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

cphGetInstParamToCheck returning nil for instance but in CPH instance attribute parameters to check there are list of parameters in GUI

varsha20
varsha20 over 1 year ago

Virtuoso Layout Suite SKILL Reference

physConfigID=cphCreatePhysConfig("cph_lib" "cph_cell" "physConfig" "cph_lib" "cph_cell" "schematic_view")

CPH config file got created and id got created but when trying to access inst parameter to check it is returning "nil" but in GUI CPH for that instance I am able to see parameters list in attribute parameters to check. What could be the reason? 
val=cphGetInstParamToCheck(physConfigID "cph_lib" "cph_cell" "schematic_view" "mp47")

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    I just tried this, and it worked fine. I opened the physConfig in the editor, explicitly set the parameters to check for an instance, and then this worked.

    However, if (say) the parameters to check are set on the cell level for the instantiated transistor, then it will return nil - you'd have to use cphGetCellParamToCheck. My guess is that this is what has happened in your case?

    What you're seeing in the CPH editor for a given instance is the result of cphGetParamToCheck()

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • varsha20
    varsha20 over 1 year ago in reply to Andrew Beckett

    Thank you so much for the reply Andrew.

    I created cph_lib library and schematic cph_cell that has all mos instances placed and did genfromsource. And used cphCreatePhysConfig to create config. mos  instances are taken from primitive library. So when i tried val=cphGetCellParamToCheck(physConfigID "primlib" "nmos") "nmos" is cellname of the device still returns nil. In UI I see two headers Instance and cell , in cell section i am able to see nmos and its parameters to check as well. Will try out some more experiments and let you know what works.

    Thank you very much.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to varsha20

    Sorry, I should have explained a bit more of the picture (I'd misread your original post and not noticed you'd just created the physConfig and not done anything to it). What happens is that what you see in the UI will be the result of any settings coming from a LAM file (typically in the PDK library directory, and then .cadence/dfII/cph/lam/cph.lam, but it could also look for a file called primlib.cph if that was the library name). In other words, where the devices are coming from. You can check the locations that are read by setting:

    envSetVal("layoutXL" "lamReadFileMessage" 'boolean t)

    and then opening the physConfig. 

    If you use cphGetParamToCheck(physConfigID "mp47") (the hierarchical path to the instance is what you give as the second argument) it should show the resolved value coming from the LAM, cell, instance and occurrence settings in the physConfig.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • varsha20
    varsha20 over 1 year ago in reply to Andrew Beckett

    Thank you so much Andrew. This worked. there is lam file forgot to mention that gets the param to check data for the library. Wanted to get that data in Skill for further processing. Thank you very much for the help.

    lamfile is located in <PATH_TO_LIBRARY>/.cadence/dfII/cph/lam/cph.lam 

    used: envSetVal("layoutXL" "lamReadFileMessage" 'boolean t) ( this function indicates LAM file has been read by the current Layout XL session.

    physConfigID=cphOpenConfig("cph_lib" "cph_cell" "physConfig" "r")

     cphGetParamToCheck(physConfigID "mp47")
    And was able to get the parameter list

    • 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