• 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. schCheck(cv) warnings and errors after updating CDF par...

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 143
  • Views 5724
  • 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

schCheck(cv) warnings and errors after updating CDF params

abhi10
abhi10 over 6 years ago

Hi all,

I am trying to port schematics from one technology to another, and I edit certain transistor parameters ( like channel length ) and re-instantiate it in my schematic, retaining the instance names, orientation, etc. Also in the opened schematic, I add power pins.

Now, all the parts of the code is working as intended, But I get the following message in CIW window :

INFO (SCH-1170): Extracting "MY_SCH_NAME schematic"

*WARNING* (DEBASE-102137): deGetViewType - Not a valid windowid.

*Error* rexMatchp: argument #2 should be either a string or a symbol (type template = "tS") - nil

t

I do not get this error when I have the schematic window open. I get this error only when I am operating on an entire library which has many cells.

Here's the piece of code that does it :


cv = dbOpenCellViewByType(convertLib cell~>name "schematic" "" "a")
     
;----------------------------------------------------
        ; Re-Instantiate all the transistors and update CDF
        ;----------------------------------------------------

        reInstantiateTransistors( cv targLib targLibId targLibCells copyParams channelL )

        printf("Done Re instantiating transistors\n")

        setBulkNode(cv)

        updateCDF_params(cv)
;; In this procedure I iterate do the following
;; if my cellName matches with nch or pch
;; cdfgData=cdfGetInstCDF(inst)
;; Iterate through cdfgData~>parameters list and perform callbacks

        printf("Done updating CDF\n")

        schCheck(cv)

        dbSave(cv)

I would appreciate any help to understand what I'm doing wrong, it works without any issues when i'm operating the same code with a schematic window open.

PS : I have only attached a part of code, but i'm happy to provide the full code, depending on what info might be needed. 

Thanks,

Abhi

  • Cancel
Parents
  • RiadKaced
    RiadKaced over 6 years ago

    Hi Abhi,

    It's going to be hard to debug this error with just a snippet of your SKILL code. If you are not able to share the entire code then I would advise leveraging the SKILL IDE's debugging features like breakpoints. The idea is to understand where the code braeaks when you are parsing an entire library.

    Riad.

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

    One possibility (given the errors and warnings displayed) is that your environment has a custom post-check trigger enabled, and that is poorly written to expect a window to be open.

    Can you check what schGetPostCheckTriggers() returns?

    Regards,

    Andrew.

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

    Hi Andrew,

    This is what I get :

    schGetPostCheckTriggers()

    ("_ciSchPostCheckTrigger" "_schAMSPostCheck" "_schOIPostCheck" "_schRunCustomChecks" "_tpoBcaAutoGenConst"  "_schCICheck" )

    I am fairly new to SKILL , I would appreciate as much help and to code efficiently.

    The other issue is that Although I see this error and warning, All my schematics in the library has been correctly updated, and I can CDL out without any errors / warnings. I really fail to understand what is happening. 

    I would appreciate if you could help me understand this. 

    Thank you very much

    Abhi

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

    Hi Andrew,

    This is what I get :

    schGetPostCheckTriggers()

    ("_ciSchPostCheckTrigger" "_schAMSPostCheck" "_schOIPostCheck" "_schRunCustomChecks" "_tpoBcaAutoGenConst"  "_schCICheck" )

    I am fairly new to SKILL , I would appreciate as much help and to code efficiently.

    The other issue is that Although I see this error and warning, All my schematics in the library has been correctly updated, and I can CDL out without any errors / warnings. I really fail to understand what is happening. 

    I would appreciate if you could help me understand this. 

    Thank you very much

    Abhi

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

    Hi Abhi,

    Can you try doing:

    schUnregPostCheckTrigger('_tpoBcaAutoGenConst)

    and see if that fixes it? That function is not a Cadence function, so that's the one I'm wondering might be the reason. It is (I think) registered by certain TSMC PDKs - I don't know which you're using so I can't check the code. Let's start by seeing whether unregistering the function cures the problem, and if it does, please let me know which TSMC PDK  you're using and I can investigate and we can feed this back to TSMC (or you can).

    Thanks,

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • abhi10
    abhi10 over 6 years ago in reply to Andrew Beckett

    Hi Andrew,

    Thank you very much for your response. We are using TSMCN5 PDK. 

    I did do what you suggested and the errors and warning went away! 

    Done updating CDF
    INFO (SCH-1170): Extracting "MY_SCHEMATIC schematic"
    t


    This is awesome, I would have never guessed any of this.

    Andrew, would it be ok to send you an email with the exact PDK version for us to report and feed this back to TSMC ? I won't be able to post the PDK details in here. 

    Thanks,

    Abhi

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to abhi10
    abhi10 said:
    Andrew, would it be ok to send you an email with the exact PDK version for us to report and feed this back to TSMC ? I won't be able to post the PDK details in here

    Sure - happy for you to do that Abhi.

    Andrew

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

    Hi Andrew,

    I somehow can't send you an email through here, I have sent you a friend request on here so that I can share the details with you. 

    Please let me know if that is ok, or if there's another way for me to send it to you.

    Thanks for your help ! 

    Abhi

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

    I did accept the friend request, and sent a reply message that way (hopefully you got it - not sure how good the notifiers are as I virtually never use this aspect of the forums because I prefer people to post in public as generally I don't have the bandwidth to respond to individual requests - this is a reasonable exception).

    Regards,

    Andrew.

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

    Hi Abhi,

    I've reproduced the problem with the PDK reference you provided me and identified what is wrong. I've alerted our foundry team and asked then to follow it up to get this corrected.

    As you said though, the error should be benign - it would not stop the check from happening, it just means that some of the foundry's auto-constraint generation won't work (but you may not need that).

    Kind Regards,

    Andrew.

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

    Hi Andrew,

    Awesome! Thank you for following up on it! 

    Appreciate the help

    Thanks,

    Abhi

    • 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