• 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 function in Assembler results : how to pass the current...

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 143
  • Views 11695
  • 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 function in Assembler results : how to pass the current window as argument

kkdesbois
kkdesbois over 3 years ago

Hello,

I'm using a custom fuction to define an output in my assembler session. This function is launched once the simulation is finished

I would like this function to get as argument the current window id (or the current fnxSession).

The function hiGetCurrentWindow will return a wrong value as soon as I use another window while my function is launched.

Does anyone get an idea to pass the good arguments?

Laurent.

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

    Laurent,

    This doesn't make sense. Output expressions are normally evaluated in a background process (when using either LSCS or ICRP) except in the case where a single simulation is performed and "optimise single job run" is used. Because of that, there's no window or access to the maestro/ADE XL session in the function.

    What exactly are you trying to do that requires the window or session?

    Andrew

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

    Hello Andrew,
    Thanks for you answer.
    My custom function will run a python script. This script needs as arguments some outputs of the simulation.

    So I need to know to know the rdb in order to (at least) get the simulation's outputs directory.

    Does that make sense to use the output expression like that?

    Laurent

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kkdesbois
    kkdesbois over 3 years ago in reply to kkdesbois

    and I don't know how to get the rdb without starting from the current window (or fnxSession)

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

    Why do you need to get the rdb? The rdb won't have been written at the time of point evaluation (and anyway, it's written in the parent Virtuoso not at the time the result is evaluated).

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to kkdesbois

    Why do you need to get the rdb? The rdb won't have been written at the time of point evaluation (and anyway, it's written in the parent Virtuoso not at the time the result is evaluated).

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to Andrew Beckett
    kkdesbois said:

    My custom function will run a python script. This script needs as arguments some outputs of the simulation.

    Sorry - didn't see the earlier post (there's a bug in the forum software we use which still hasn't been fixed despite us reporting it to the vendor over several years) where they don't use unique message ids in the email notifications which means that some email clients don't see all the emails (if they index on the message id, which is supposed to be unique). 

    My point about the rdb is still valid, but you could use asiGetPsfDir(asiGetCurrentSession()) or asiGetNetlistDir(asiGetCurrentSession()) to retrieve where the simulation results are located for that point.

    Andrew

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

    Andrew,

    I think that it's a good point to retrieve the needed informations thanks to the asi functions. I'm going to try that.

    Unfortunately, I will get the information only for the current test where the output expression is written.
    And I need also to pass to the python script the name of a file stored in the psf directory of another test (of my assembler session).

    Ex: Assembler session is test1 and test2. test2 starts when test1 is over (thanks to calcVal)
    In the output expressions of test2, I use my custom function which runs the python script. But this script needs as arguments the name of files stored in the psf directory of test1 and test2.

    Anyway, from the current psf directory, I can go back to the other test's psf directory. I don't like that much because in case of Cadence decides someday to change the location of the tests' results directory.

    Thank you for your good advices. I'll keep you aware.

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

    Laurent,

    You could have an output of test1 (say called "psfdir") which is asiGetPsfDir(asiGetCurrentSession()) and then use calcVal in the test2 expression to retrieve that - so your test2 function could be myFunction(asiGetPsfDir(asiGetCurrentSession()) calcVal("psfdir" "test1"))

    Andrew

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

    Andrew,

    It works very well and as I expected. Thanks again for the support and the tips.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kkdesbois
    kkdesbois over 3 years ago in reply to kkdesbois

    By the way, is there a skill function to hide the created "psfdir" outputs in order not to pollute the user's results window.

    Ideally, the best would be to make also invisible the output definition in the tab "outputs setup"

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to kkdesbois
    kkdesbois said:
    By the way, is there a skill function to hide the created "psfdir" outputs in order not to pollute the user's results window.

    Unfortunately not.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • kkdesbois
    kkdesbois over 3 years ago in reply to Andrew Beckett

    What a pity :(

    Thanks.

    • 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