• 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 Design
  3. evaluation of "all" possible outputs

Stats

  • Replies 3
  • Subscribers 125
  • Views 611
  • Members are here 0

evaluation of "all" possible outputs

leok
leok 5 months ago

Hi,

I'm building a report generator. Users should be able to enter expressions as in the calculator and it should plot/evaluate them.

But I cannot find a skill expression to evaluate "all" possible results.

  • There is the "normal" expression evaluation from the psf file (working fine after openResults())
  • But for assembler outputs (the other database) my best choice is calcVal which is not always giving the same results as hitting plot in the calculator (e.g. for a sweep it returns only a scalar instead of a waveform).

So my high-level questions is: Is there any function that returns a waveform/scalar exactly as the calculator? That would be great as my users would check the expression there before they enter it in the report.

After fiddling for <waytoolong>, this is my best try:

        unless( s = catch(t evalstring(expr)) ; "normal" psf expression
          s = catch(t calcVal(expr selectedtest ?run historyprefix))) ; assembler database with runplan?
        unless( s
          s = catch(t calcVal(expr selectedtest ?historyName selectedhistory ?lib axlGetSessionLibName(mses) ?cell axlGetSessionCellName(mses)
                              ?view axlGetSessionViewName(mses)))) ; assembler 1.
        unless( s
          s = catch(t calcVal(expr selectedtest ?historyName selectedhistory ?lib axlGetSessionLibName(mses) ?cell axlGetSessionCellName(mses)
                              ?view axlGetSessionViewName(mses) ?getFirstSweepPoint t))) ; assembler 2.

That does not look like it should be possible

Best Regards,

leo

  • Sign in to reply
  • Cancel
  • leok
    leok 5 months ago

    Small addendum: A cadence restart helped this time.. But as you can see in the "grown" evaluation I faced these problems many times - so the calculator-equivalent would be helpful (and face the same bugs, so my users won't be confused and point to me ;) )

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 5 months ago in reply to leok

    The closest is using calcVal to get a result output, but there isn't really a clean way to do this.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • leok
    leok 5 months ago in reply to Andrew Beckett

    Hi,

    thank you! Not really great, but at least I wasn't too far away ;)

    Regards,

    leo

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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