• 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. Command to check and save a schematic

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 145
  • Views 11734
  • 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

Command to check and save a schematic

prasadtammana
prasadtammana over 2 years ago

Hi, 

I'm writing a skill code to create a schematic, and then run schCheck(schCV) command to check and save the schematic. Then, schExtractStatus(schCV) command to find out if the extraction is dirty. The reason I'm using this command is to find out if the existing symbol needs to be updated. If the extraction status is dirty, I'm generating the symbol again. 

The only problem I'm facing is, when schCheck(schCV) is executed, if there are any errors or warnings, a popup window is coming up to show the errors/warnings. I don't want this window to be open. 

1. Is there a way to disable this popup window, because I don't want the user to see this error window. 

2. Do we have any other command that does the extraction, without opening an error window. 

Thanks,
Prasad

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago

    Prasad,

    You should not get a popup with the errors and warnings when you do schCheck() - they should appear in the CIW. Can you share what the popup looks like? 

    Which IC sub-version are you using? (getVersion(t) will return this)

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • prasadtammana
    prasadtammana over 2 years ago in reply to Andrew Beckett

    Hi Andrew, 

    Thanks for your reply. Here is the snapshot of the popup. I have VDD_ANA2 in schematic and VDD_ANA in symbol. So, it's showing a popup with an error message to update the symbol. 

    And I'm using "sub-version  IC6.1.8-64b.500.17 ". 

    Thanks,

    Prasad

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to prasadtammana

    Hi Prasad,

    I'm pretty certain that is not a standard part of Virtuoso that is giving that popup. I checked in the code and can't find it (possible that the wording has changed, but I don't recall ever seeing it, and certainly the wording doesn't look like how such a question would be phrased in our software). My guess is that it's done as part of a custom pre- or post- check trigger.

    Can you check what these two functions return? (type the functions in bold)

    schGetPostCheckTriggers()
    ("_schCICheck" "_schAMSPostCheck" "_schOIPostCheck" "_schRunCustomChecks")
    schGetPreCheckTriggers()
    ("_ciSchPreCheckTriggerForConNotes")

    I've shown the standard output that you normally get, so if there are other functions they may be local customisation. You may need to contact the creator of those functions to found out how best to disable the popup.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • prasadtammana
    prasadtammana over 2 years ago in reply to Andrew Beckett

    Hi Andrew, 

    Yes, there are some custom functions that are being triggered. I'll check with my CAD team and see if there is a way to disable the popups. 

    Thanks,

    Prasad

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • prasadtammana
    prasadtammana over 2 years ago in reply to prasadtammana

    Hi Andrew, 


    I found that there is a procedure that was added as part of Check and Save procedure that's showing the error window. If that particular procedure is disabled, the pop-up window won't show up. 

    Do we have a command to skip running a particular procedure using skill? I want to enable the procedure again after my script execution is done, so that future check and saves will see this procedure running. 

    Thanks,
    Prasad

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to prasadtammana

    Hi Prasad.

    If you've identified the trigger with the schGetPostCheckTriggers()/schGetPreCheckTriggers() then you can do the following:

    schUnregPostCheckTrigger('funcName)
    ; do your work
    schRegPostCheckTrigger('funcName)

    There are equivalent functions with "Pre" instead of "Post" if was a pre-check trigger you were doing this with.

    For safety, you might want to do it this way:

    unwindProtect(
      {
        schUnregPostCheckTrigger('funcName)
        ; do your work
      }
      schRegPostCheckTrigger('funcName)
    )

    that means that it will always re-register the trigger even if there's an error somewhere in your code or it gets interrupted by ctrl-C (say).

    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