• 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. suppressing "function <functionNameHere> redefined" output...

Stats

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

suppressing "function <functionNameHere> redefined" output text

mtwadeCU
mtwadeCU over 10 years ago

I have a procedure that defines a few procedures inside of it (even though I just learned there is no such thing as local functions in SKILL). Everything works fine until I call this procedure from a pcDefinePCell script. I get a message that the pcell generated information, and I can view the information in a temporary file. When I view the file, it just contains the list of functions that were redefined. Is there a way to suppress this output? It causes issues e.g. when you go to compile pcells (flashing yellow x because it interprets it as a pcell eval fail) and stream them out to gds (streamout fails because it thinkgs the pcell eval failed). 

Thanks,
Mark

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    First of all, there are local procedures in SKILL - you just (to make it simpler) have to do it in SKILL++ mode.

    Are you putting procedure(...) calls within the body of the pcDefinePCell? That doesn't really make sense - pcDefinePCell has to be done in SKILL language mode, rather than SKILL++ language mode - but it can call functions that were defined elsewhere. What I would suggest you do is to create a function that does all the real work (which could have local functions, and be defined in a file with a .ils suffix) and then load that file from the libInit.il (or libInit.ils file) of the library containing the pcell. Then have your:

    pcDefinePCell(
       list(ddGetObj("libName") "cellName" "layout")
       (
         (w ...)
         ...
       )
       functionThatDoesAllTheWork(pcCellView w l)
    )

    Nothing will get redefined if you do this - so you won't get the warning messages at run time, and hence no pcell eval failure messages.

    Note you can suppress the message, by doing:

    putd('funcName nil)

    before redefining the procedure/function. However, my guess is that you'd be better served by organising the code differently.

    Of course, this is all guesswork because I've not seen what you're doing!

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mtwadeCU
    mtwadeCU over 10 years ago

    Andrew,

    Thanks for the response!

    My problem seems to be that I'm not using any functions using SKILL++ language mode. So, what I was intending to be local procedures are written as SKILL language mode (.il) and have global scope. Thus, they get redefined every time. 

    I implemented things such that the procedure with local procedures is in SKILL++ and just called from SKILL language mode. This seems to fix things and get the behavior I want. Thanks for the suggestion!

    Mark

    • 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