• 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. custom skill function to assign a global variable in ex...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 146
  • Views 13209
  • 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

custom skill function to assign a global variable in explorer

lorenzocarpineto
lorenzocarpineto over 4 years ago

Hi, I am trying to program a voltage source to have a dc value from a file based on a combination of some other variables in explorer.

Something like: vsource=MySkillFunction(simVariable1,simVariable2)

My understanding is that we can assign a skill function to a global variable. When I tried using existing skill some other functions like vsource= atoi('44") +sqn_fc (that is sweeped later on from 0 to 1)  it did work, my source get the assigned value of 44 and 45, but when I try using my custom function ReadVariableFromFile() I couldn't manage to get the value passed to the vsource variable in the same way and I get sim error. 

When I launch launch the skill function in the CIW it does return the value as expected. 

any help is appreciated. 

Thanks

Lorenzo

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 4 years ago

    Hi Lorenzo,

    Are you loading the code from your .cdsinit? Remember that the netlisting/preparation step is done in the background, and so it won't see a function only defined in the CIW. You may also need to stop the jobs from the job policy/setup form anytime you change the code (and save) because it won't get re-picked up in any background process that's already started.

    Andrew.

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

    Andrew, 

    thanks for the quick reply. I have actually loaded the function in the CIW with the load() command.  I can't modify the .cdsinit since it is set by cad team. Is there another way I can include my custom skill functions such that they are visible to my simulation environment?

    Lorenzo

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • lorenzocarpineto
    lorenzocarpineto over 4 years ago in reply to Andrew Beckett

    Andrew, 

    thanks for the quick reply. I have actually loaded the function in the CIW with the load() command.  I can't modify the .cdsinit since it is set by cad team. Is there another way I can include my custom skill functions such that they are visible to my simulation environment?

    Lorenzo

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to lorenzocarpineto

    Hi Lorenzo,

    It's rather unusual that a .cdsinit would be completely locked down - usually there would be provision for some kind of local/user file to be loaded as needed (it might not be called .cdsinit though). Given that this is the flexible mechanism we provided to load customisation, you should speak to your CAD team to find a way of solving this. It's rather going to get in the way of you using the tools effectively.

    One workaround would be to create a file called libInit.il in your design library - the library containing this maestro view, and either put the code in that file, or add a load() statement in that file to load the file you've written. That way it will get automatically loaded the first time you access the library, or when the library is accessed in the background process.

    Regards,

    Andrew.

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

    Thank a lot Andrew,

    I added the load() of my custom skill function in the libInit.il inside my personal library and all worked as expected.

    Lorenzo 

    • 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