• 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. Getting more data after MC run directly in the Results table...

Stats

  • Replies 18
  • Subscribers 133
  • Views 12363
  • Members are here 0

Getting more data after MC run directly in the Results table?

StephanWeber
StephanWeber 3 months ago

Hi,

the ViVA calculator has some nice statistical functions, like average, stddev, skewness, kurtosis, and building more like Cpk or Jarque-Bera JB is not so difficult. But I struggle to get this not only in the calculator but really as output, e.g. to define a spec! E.g. we want Cpk>1.67 or  e.g. JB<3 for check for Gaussian data.

What works so far is this: 

I switch to Detailed table mode, select an output like Rsense or VoutDC, do a "plot across points", then I go to Viva and make "Send to Calculator", then I get an expression like swapSweep(Rsense "Design Points" "nom"), next I simply set x=swapSweep(Rsense "Design Points" "nom"). So it is no easy to get the mean and stddev and then to plot the Gaussian PDF of that fit.

However, I struggle to make that not only manually every time after the MC run but as output expression which would give a much higher automation. E.g. I want to see:

- The PDF plot for a fit for each MC analysis and my key outputs (I run MC vs VT corners)

- Also look for 5-sigma values

- Check if data is Gaussian, e.g. do also other fits like lognormal fit of JB is too large

- Or check at which corner the 5-sigma value is worst, etc.

This way I also do not need to plot Histograms etc. manually after each run.
His anybody done this before?

e.g. stddev(Rsense ?overall t) (with sweeps selected) works but skewness(Rsense ?overall t) (works in CIW!!) is changed to (skewness Rsense ?overall t)
same issue for kurtosis.

Are these Cadence-functions not registered in ADE?

Bye Stephan

  • Cancel
  • Sign in to reply
  • StephanWeber
    StephanWeber 3 months ago in reply to Andrew Beckett

    Hi Andrew, 

    but can't we use a run plan, and use the pre-run script feature to create the additional desired ADE outputs, and after the run we see them in ADE Results table?

    That script could:

    Get all the  existing outputs
    And if e.g. a spec is set then add the add. outputs for stddevOutputname, skewnessOutputname, fits, etc.
    (using "meas across sweep" or even "across all" for get WC corner values)

    Bye Stephan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 3 months ago in reply to StephanWeber

    You can't add outputs in a run plan, so this approach won't work.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • StephanWeber
    StephanWeber 3 months ago in reply to Andrew Beckett

    Can't we go for

    ocnxlAddOrUpdateOutput("Calibrated_ParamName" CalResult) 

    or (as workaround)

    ocnxlUpdatePointVariable("ParamName" sprintf( nil "%L" CalResult)) 

    Like in the trimming flow example?

    Bye Stephan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 3 months ago in reply to StephanWeber
    StephanWeber said:

    Can't we go for

    ocnxlAddOrUpdateOutput("Calibrated_ParamName" CalResult) 

    or (as workaround)

    ocnxlUpdatePointVariable("ParamName" sprintf( nil "%L" CalResult)) 

    Like in the trimming flow example?

    No. These are for use in the per-test pre-run script. A run plan has (potentially) multiple tests, and even if these worked there (which they don't AFAIK) you would need to be able to specify which test the output gets added to.

    There would be no point anyway; as I mentioned earlier on, you can already add several outputs in an OCEAN script measurement. What you can't do is have a regular expression output which magically adds multiple outputs, which is what you were proposing earlier.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • StephanWeber
    StephanWeber 2 months ago in reply to Andrew Beckett

    I see axlAddOutputExpr could be a much better fit (it has all the parameters we need).

    Shouldn't this finally work?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 2 months ago in reply to StephanWeber

    No.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • StephanWeber
    StephanWeber 2 months ago in reply to Andrew Beckett

    OK, so it looks an export to CSV and make the automatic extensions for stat there, then reload is best. One advantage is that it would be permanently + manually editable in GUI. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 2 months ago in reply to StephanWeber

    Or use the OCEAN script measurement that I repeatedly have mentioned.

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

© 2026 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information