• 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. Schematic Pcell - Evaluation Callback?

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 1434
  • 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

Schematic Pcell - Evaluation Callback?

kdolan
kdolan over 1 year ago

Hi,

I'm currently working on a schematic PCell and facing an issue with the schematic not being 'Checked and Saved' at the correct time. 

I have something like the following:

mySchPcell = pcDefinePCell(

...

... Pcell definition ...

...

);pcDefinePCell
schCheck(mySchPcell)
dbSave(mySchPcell)
dbClose(mySchPcell)

This was originally working, but now I have introduced CDF callbacks that have the potential to change the schematic Pcell and its parameters. Since this, I now have the error whereby it seems my schematic is not being checked and saved after all edits have been made and the pcell is fully evaluated. 

I have tried moving the schCheck command within the Pcell definition function, but this leads to streamout issues as it says this function is now undefined. 

Is there a PCell evaluation callback or something similar, whereby every time the schematic pcell is evaluated and placed, that it will trigger a check and save of the created pcell instance? Or, is there a better or more correct approach to this in which I might be missing?

Thanks!

Keelan

  • Cancel
  • skillUser
    skillUser over 1 year ago

    Hi Keelan,

    The Schematic Check & Save is responsible for extracting connectivity (and saving) but when you create a Schematic PCell you are responsible for creating the (correct) connectivity, and you should not use any 'sch' prefix functions inside a PCell (technically yours is outside but it is still not recommended) - but there is a way to mark it as 'checked' or 'up to date' - you can use 

    dbSetConnCurrent(cvId)

    inside the pcDefinePCell statement.  Hopefully this helps you.

    Best regards,

    Lawrence.

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

    Following from Lawrence's comments, actually there is no need to call dbSetConnCurrent within a PCell, and you certainly can't run schCheck() within a PCell (I didn't understand the comment about stream out since you can't stream out a schematic PCell...). Running schCheck() outside the PCell makes no sense either because that would only check the superMaster which is not used for anything other than displaying when you open the cellView directly.

    Why are you trying to run schCheck? If it's to extract the connectivity, you can't do that. You are responsible for creating the connectivity in the PCell - and the reason why the dbSetConnCurrent is not required is that there's an assumption that if the connectivity was created by code, it must be up to date.

    Anyway, Keelan, if you are the Keelan Dolan I believe you are, your company has access to PCell Designer; creating schematic PCells using PCell Designer is much simpler and avoids having to worry about these things. Can you use PCell Designer instead? If you're unsure, please contact me directly (if you don't know my email address, send me a friend request here and we can get in touch; note, this is not an invitation to others to do the same - I generally decline friend requests as mostly people use them as a way to bypass the forums and talk to me directly, for which I don't have the bandwidth).

    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