• 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. decrypting a callback function

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 143
  • Views 13695
  • 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

decrypting a callback function

knight499
knight499 over 9 years ago

Hi Cadence Community --

We have a factory PDK and don't want to load the whole upgrade and run the Pas migration on all the schematics at this time because we are in the middle of designing. We just want the one new device. I copied in the device and models and it generates the layout so that's great. But of course the callbacks fail. I can't update the length or width for the device.

I can see with the strings command that this callback is in a particular context file and I can see quite a lot of the strings used by the callback. But, what a hassle to have to rewrite the callback. There is so much work here all of the time.

I know we have all of this dbWriteSkill, etc for layout pcells and that's nice. Is there anything like that to decrypt the callback function from out of the conext file?

Thanks for reading my posting && best wishes

Marion

  • Cancel
  • skillUser
    skillUser over 9 years ago

    Hi Marion,

    you can't really reverse engineer a context file, nor can you only load part of it. You cannot read SKILL loaded from a context file (it is read-protected), and you may not even be able to tell what functions are defined in a SKILL context file.  For obvious legal reasons (i.e the PDK provider not wanting access to their IP) you should not attempt to reverse engineer a SKILL context file.  Without knowing any of the details I can't really say, but I would guess that you could load the context file using loadContext() and this would define the callbacks you need?  If this does not work you might contact the foundry and ask if they could supply an incremental update to the PDK, e.g. a small context with only the changes or new bits, and the cells that were added, etc.

    For those that don't know, a SKILL context file is byte-code compiled SKILL, it is a binary (machine readable) representation of the state of the SKILL virtual machine at the time it was 'compiled' which includes function definitions and possibly variables too.  Functions defined in a SKILL context file are automatically read-protected, and thus cannot be pretty-printed or otherwise 'decrypted' for viewing.

    Hopefully this helps and answers your questions?

    Regards,

    Lawrence.

    • 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