• 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. APS:Monte Carlo:Output waveforms in a single file

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 125
  • Views 3909
  • 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

APS:Monte Carlo:Output waveforms in a single file

Ionutz
Ionutz over 11 years ago

  Hi,

 I am running Monte Carlo sims with aps from command line  using spice netlist.

For each of the monte carlo runs, the tool dumps a separate waveform file. Is there any option to have all the monte carlo waveforms built into a single output waveform?

 

 Thank U,

Ionut

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Ionut,

    It does - it builds a family of curves (a "single waveform" wouldn't make sense, but you can have a family of curves, so you can open a single database which gives you all of the results across the run, assuming that you've saved family data using the savefamilyplots=yes option to the montecarlo analysis). If you're using the export=oceanEval(...) type syntax to generate scalar measurements from each point, you can use the abMonteWaveform function in the abStats.il code attached to solution 11026072.

    Regards,

    Andrew.

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

      Hi Andrew,

     Thank U for the response... I have added the option in my spice deck (spice format), but the tool still dumps multiple waveform files for each Monte Carlo and no general file that contains all of the data. Below is the syntax I have used within spice deck:

    simulator lang=spectre
    simulatorOptions options savefamilyplots=yes
    simulator lang=spice

     Below is the command line:

        aps +spice aps.sp +escchars +log aps.log -format wdf -raw ./psf +aps=conservative +mt=1 +lqtimeout 0

     Regards,

    Ionut

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Hi Ionut,

    It's an analysis option, not a global option, so it would need to go on the monte carlo analysis statement.

    Before showing how to do that, it would be far more helpful to understand how you have the analysis statements defined right now in your netlist - because there are several ways of defining a monte carlo analysis. So can you show the analysis/options statements in the netlist that you have right now?

    Kind Regards,

    Andrew.

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

      Hi Andrew,

      Below is the transient analysis setting that I am using for running monte carlo:

    * TRAN analysis
    **********************************************************************************
    .param xlnx_tran_step   = 1ns

    .param xlnx_tran_stop   = 100ns

    .tran xlnx_tran_step xlnx_tran_stop SWEEP MONTE=5
     

     

     Regards,

    Ionut

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Hi Ionut,

    I just tried using this, and it already saves the family data. I used the statements you provided above, and I get this:

    UNIX> ls monteres.raw
    logFile      sweep1-001_timeSweep.tran  sweep1-003_timeSweep.tran  sweep1-005_timeSweep.tran
    logFile.tmp  sweep1-002_timeSweep.tran  sweep1-004_timeSweep.tran  sweep1_timeSweep.montecarlo

    The last file is the root of the tree to give a family of the individual iteration results. If I open this result directory in ViVA, I see the picture in the attachment below. As you can see, I see "tran" as the results, and the set of waveforms gets opened together.

    What tool are you using to look at the waveforms? 

    The alternative would be to use spectre syntax for the monte carlo, but that seems unnecessary here since it works fine:

    simulator lang=spectre
    parameters  xnlx_tran_stop=100n
    monte montecarlo numruns=5 savefamilyplots=yes {
      tran tran stop=xnlx_tran_stop
    }

    there's no real need to set step= on the transient (you could if you really wanted to).

    Kind Regards,

    Andrew.

    • vivaMonteResults.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ionutz
    Ionutz over 11 years ago

     Hi Andrew,

     I tried using the same syntax in my spice deck and below are the files generated:

    transient1-000_transient1.tran  transient1-001_transient1.tran  transient1-002_transient1.tran  transient1-003_transient1.tran  transient1-004_transient1.tran  transient1-005_transient1.tran transient1.montecarlo

     

     The file that probably looks more like the one U mentioned is "transient1.montecarlo", but it does not seem to contain the proper data if loading it using CustomExplorer... I wonder if its the viewer I'm usin ?:(

     

     Regards,

    Ionut

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Ionut,

    I didn't notice the command line you were using earlier:

        aps +spice aps.sp +escchars +log aps.log -format wdf -raw ./psf +aps=conservative +mt=1 +lqtimeout 0

    You're using WDF as the output format. There's only limited support for WDF in the advanced analyses, and so whilst it writes the individual transient results in WDF format, the "collection" database (transient1.montecarlo in your case) is written in PSF still (not sure if WDF has a way to describe things in the same way).

    If you were to write out using psfxl as the format, and then use "viva" to plot the results, you wouldn't have this limitation. That's the primary use model - write the results from a Cadence simulator in a Cadence format and view using a Cadence waveform viewer... 

    Kind Regards,

    Andrew.

    • 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