• 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 Design
  3. express_pcell_manager cache saving

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 14195
  • 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

express_pcell_manager cache saving

EMsolver
EMsolver over 6 years ago

Hi all,

I have a question: supposing my cell A uses a pCell B from a PDK C. I open layout of A and using express_pcell_manager I save the cache of supermaster B. I then exit the virtuoso session. Later (from the same directory I started virtuoso the last time) I restart virtuoso and open the cell A layout. Does the layout get the cached pcell informations or re-evaluate the pcell? If the cache has been saved and nothing has been changed, I assume the next session opening the layout SHOULD read the cached version. Am I wrong? Is anything to be set in the PDK, that I missed?

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

    Assuming you have the environment variables set up to be using Express PCells, and you're using the same cache, then it should load from the cache and not re-evaluate. Do you have a reason to think that this is not happening?

    Andrew.

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

    Unfortunately, it is what is happening. On the same Virtuoso session,if I open a layout cell, where there are pCells instantiated, I save the cache and I verify the cache has been written, then I close that layout cell. Once I reopen the same layout cell, I do have to re-evaluate the pCell (command <SHiFT-F>) instead of having the cached layout displayed. I already issued a technical support request (case # 4638298) to see what the source of the problem. I have a polite guess it might be in some added environmental customization, but I don't know where to look at for fixing such troubles. 

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

    Unfortunately, it is what is happening. On the same Virtuoso session,if I open a layout cell, where there are pCells instantiated, I save the cache and I verify the cache has been written, then I close that layout cell. Once I reopen the same layout cell, I do have to re-evaluate the pCell (command <SHiFT-F>) instead of having the cached layout displayed. I already issued a technical support request (case # 4638298) to see what the source of the problem. I have a polite guess it might be in some added environmental customization, but I don't know where to look at for fixing such troubles. 

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

    I can't check the case because you've omitted a digit, but turning on express pcells doesn't avoid you needing to use shift-F to expand the hierarchy. Note that shift-F means display to 32 levels of hierarchy, it does not mean "re-evaluate the pcell". So if you are just concerned about needing to expand the hierarchy when you open the design, you can control that using:

    envSetVal("layout" "stopLevel" 'int 32)

    before opening the design (unless you've saved the stopLevel into the cellView or the library).

    So other than having to use shift-F, have you any other reason to think that the pCells are being re-evaluated?

    Regards,

    Andrew.

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

    I apologize, as I omit a "0" : the number is 46382908. And you were right about the stropLevel variable. The issue about not reading the cache popped out from third party tool. It seems that setting stopLevel to 32 and saving the cache now it allows the third party tool working. I don't know and understand the reasons. Anyway, thank you. I make a complete check and if everything works I shall close the support case too.

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

    If you don't expand the hierarchy in the first place, the pcells are never evaluated, so there's nothing (yet) to save in the cache... so that's why it didn't work.

    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