• 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. sevEvaluateAndPlotExpressions

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 143
  • Views 14924
  • 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

sevEvaluateAndPlotExpressions

rbahr
rbahr over 9 years ago

I added an expression using sevAddExpression, which adds an expression and it is displayed in the ADE L output pane (plot toggle not checked).

I try to plot the expression using sevEvaluateAndPlotExpressions with the same session, I've tried sevPlotAllOutputs and sevOpenPlotWindow. sevGetSession returns nill, which I assume is the root of the problem.

I can only get the expression to plot if I manually select "plot" toggle from the ADEL output pane. The only way it seems to plot in skill is if I plot using plot(waveform) rather than plotting expressions that are added to the session. Is it possible to plot via the sevEvaluateAndPlotExpressions?

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi Ryan,

    I'd forgotten that that function was documented. Unfortunately it's incomplete (it probably shouldn't have been documented because there are other related things that aren't documented, and as you'll see it doesn't quite all hang together when using the API).

    What you can do is:

    result=sevAddExpression(sevSession(hiGetCurrentWindow()) "thing" "VT(\"/out\")")

    The result is a list of a flag (success) and the output structure. You can then do:

    when(car(result)
      cadr(result)->plot=t
    )

    This will turn on the plot attribute for the output. Note that the UI won't update to show the plot checkbox enabled (there's no API to refresh the UI).

    Then you can call sevEvaluateAndPlotExpressions(...) and the expressions will plot. A side effect of this call is that the UI will update the plot checkbox so that the UI and internal structures are consistent again.

    Kind Regards,

    Andrew..

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • rbahr
    rbahr over 9 years ago
    Hey there, sorry I thought I replied but I did not submit the reply. I wanted to thank you for that suggestion, it does exactly what I was looking for. For my own reference, what is the best way to find out the properties of the structure 'SevOutputStruct'? I cannot find the structure in the documentation browser.

    Also, as I believe ti is a continuation of the topic, is there a way you would recommend to change the plotting mode of these expressions before they are plotted?

    Best,
    Ryan
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi Ryan,

    No, the structure is not documented. This is one of the reasons that we probably shouldn't have documented some of the functions that are documented - it's an incomplete set of information and APIs. They probably aren't all suited to be publicly documented (just because the interfaces may not be doing enough error checking for general purpose use).

    I don't understand what you mean by your second question. What do you mean by "plotting mode"?

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • rbahr
    rbahr over 9 years ago
    Hey there Andrew,
    By plotting mode I mean underneath the outputs there are options for "Plot after simulation" and "Plotting mode", with the options of "New Subwin," "Append," "Replace," and "New Win." With the plot() function I was planning on doing this with the x_stripNumber options, wasn't sure of hte best/recommended way to do similar with the SevOutputStruct/sevAddExpression.

    Thanks,
    Ryan
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi Ryan,

    There's no public SKILL interface to change these settings in an existing session. They are not per-output anyway - they are global to the session.

    You can set them before the ADE session starts though:

    envSetVal("asimenv.plotting" "autoPlot" 'cyclic "Refresh")
    envSetVal("asimenv.plotting" "artistPlottingMode" 'string "Append")

    for example.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • rbahr
    rbahr over 9 years ago

    Thanks for that information. I'm still learning a lot about cadence/skill.

    While there is not a way to change the settings in an existing session, Would running newWindow() or newSubwindow before sevEvaluateAndPlotExpressionsfunction almost accomplish similar results (at least for the New Subwin or New Win functionality)? I'm not sure what the best approach might be to simulate replace/append though if my previous question is true.

    Also, I've been playing with the sevEvaluateAndPlotExpressions, it seems that it evaluates all expressions and plots similar units on separate graphs within the same subwindow, with a subwindow for each unit (volts/phase/etc), whereas if I select the plot icon on the ADE L window, it plots all similar units on the same graphs, and a subwindow for each unit. I've included a picture, I assume it may be an easy fix but wasn't sure if it was a limitation of the sevEvaluateAndPlotExpressions or modifying the SevOutputStruct objects.

    Thanks again for your time,

    Ryan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago
    Maybe. You probably should contact customer support as I'm not going to have time to research this myself. Plus I can't make out what your pictures are trying to show.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • rbahr
    rbahr over 9 years ago
    Thanks for your input. The pictures were just showing on the left the three plots of phase in one subwindow on one graph, the right the three plots of phase on separate graphs in one subwindow as a result of sevEvaluateAndPlotExpressions. Same with voltage, though I only measured two nets in that case.

    Anyways, thanks for the help.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    I took a quick look at this, and there is indeed a difference in behaviour between sevPlotAllOutputs() and sevEvaluateAndPlotExpressions(). One of the functions underneath sevEvaluateAndPlotExpressions does have some controls to control use of different sub-windows, but the behaviour where it puts each graph in a separate strip is fixed, it seems.

    It's just one of those things... historical, I expect. That function corresponds to the Results->Plot Outputs->Expressions menu, compared with the Plot Outputs icon on the bottom right in ADE.

    Regards,

    Andrew. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • rbahr
    rbahr over 9 years ago
    Thanks Andrew for going out of your way to look into that. Glad to know it wasn't possible to combine strips.

    Best,
    Ryan
    • 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