• 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. [ADE L/XL] Setting a skill expression to a design varia...

Stats

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

[ADE L/XL] Setting a skill expression to a design variable

Matth83
Matth83 over 11 years ago

Hi All,

I couldn't find any post on this topic, and hope my next question makes sense...

I have a testbench simulating both a 'tran' and a 'pss' analysis. I'd like to disable automatically some vpwl sources (related to the transient Power-down control) when doing a pss/pnoise.
Henceforth, I wanted to create a variable to set all the values in the vpwl to 0 when the PSS is detected (so that the PSS detects only the clock).
Basically, I wanted to have my "pss_off" variable set to either 1 or 0 in this fashion:

if(pcreMatchList("pss" asiGetEnabledAnalysisList(asiGetSession(hiGetCurrentWindow()))~>name) then 0 else 1)

But this format is not accepted for netlisting (although the calculator doesn't complain). I've tried to format it to a string but as unsuccessfully.
Is there a smart way to push a skill expression into the 'Value' field of an ADE L/XL design variable?
Maybe I'm doing it wrong, there might be another type of sources than vpwl which can be enabled on tran and disabled on PSS...

Thanks in advance,
Best regards,
Matth

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    You can use SKILL expressions in global variables (not local, or test, variables) in ADE XL (not ADE L though). This could conceivably see if the analysis is enabled in the asi session for a particular test (I've not tried it, because it's pretty horrid). I don't like the idea of doing this...

    My suggestion would be to have two parallel sources, one with the pwl specified and one without - and then have two configs - one with one source instance set to "Bind to Open", and the other bound as normal - and the other config the other way around. Then have two tests in ADE XL which uses one config for the tran run, and the other config for the PSS run. I think this will be cleaner to manage.

    Actually, thinking about it - I don't think the expression approach is going to work, because you'd need to have the current ADE XL session id and find this in a way that will work in the background "ICRP" process - so that won't have a "current window", so axlGetWindowSession() is not going to work. So probably doomed to failure. 

    So I'd go with the config and bind to open approach.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Matth83
    Matth83 over 11 years ago

    Thank you for your answer Andrew, I was looking for a solution for both ADE L & XL (I usually start simulating with L and thereafter export to XL), so the skill input won't work altogether.

    I also feared the reference might fail (either using hiGetSessionWindow(), asiGetSession() or axlGetWindowSession() with hiGetCurrentWindow() as argument) but was still ready to give it a try.

    I was already using the config approach previously (not with "bind to open" though - I directly had a schematic and a schematic_pss view), but wished to make it more automatically.

    That would be nice to have a variable that detects the presence of a PSS analysis to disable aperiodic sources without changing the config each time (of course, one'd still have to toggle between tran and PSS analysis manually, but this remains in the main ADE L/XL control window) - maybe in the next IC6 iteration?

    Thanks & regards,
    Matthieu

    • 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