• 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. spectre mc simulation : how to gain disk space (option save...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 126
  • Views 2867
  • 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

spectre mc simulation : how to gain disk space (option save=selected/none...) but keeping the post-processing possible.

samung
samung over 12 years ago

 Hello,

 

I would like to reduce the disk area needed for a spectre simulation (example of a monte-carlo (transient) run 842 (cf. below)).

 

Command launched : spectre input.scs +log mc_log_file.log

 

Inside the input.scs, I can, indeed, decide to save or not some selected data => saveOptions options save=selected subcktprobelvl=2

If I do that, I can do my post-processing exports (example : export out_b_sensed=oceanEval("value(v(\"out_b\" ?result \"tran\") 2e-08)")), however, it takes much disk area than with the save=none option : 456 kBytes vs 216 kBytes

If I decide to put save=none, I reduce the disk area but, the post-processing is impossible =>

Error found by spectre during Monte Carlo analysis `mc1'.

    ERROR (SPECTRE-8003): mc1_subckts: Error evaluating ocean expression `saout_b_sensed=value(v("saout_b" ?result "tran") 2e-08)'.

 

 

Do we have a way to reduce the disk area with keeping the possibility to do the post-processing ?

 

 

Summary below :

 

 

1/ with (inside the input.scs) : saveOptions options save=selected subcktprobelvl=2

 

The biggest file is : 

249916 Jul 25 12:31 input.raw/mc1_tran.tran  => size of 250 kBytes

 

...> du -sh ../842/

456K    ../842/

 

 

...> du -sh ./*

4.0K    ./cp_input.scs

0       ./du

356K    ./input.raw

4.0K    ./input.scs

4.0K    ./input.scs~

12K     ./mc_log_file.log

52K     ./monteCarlo

92K     ./pp238496.out

4.0K    ./spectre.fc

4.0K    ./spectre.ic

 

 

...> ls -lrt input.raw/*

504 Jul 25 12:31 input.raw/mc1.mcparam

249916 Jul 25 12:31 input.raw/mc1_tran.tran

5376 Jul 25 12:31 input.raw/mc1_finalTimeOP.info

684 Jul 25 12:31 input.raw/mc1_modelParameter.info

13152 Jul 25 12:31 input.raw/mc1_element.info

1484 Jul 25 12:31 input.raw/mc1_outputParameter.info

4647 Jul 25 12:31 input.raw/mc1_designParamVals.info

5264 Jul 25 12:31 input.raw/mc1_primitives.info.primitives

523 Jul 25 12:31 input.raw/mc1_subckts.info.subckts

1156 Jul 25 12:31 input.raw/logFile.tmp

2140 Jul 25 12:31 input.raw/mc1_tran.montecarlo

2148 Jul 25 12:31 input.raw/mc1_finalTimeOP.montecarlo

2152 Jul 25 12:31 input.raw/mc1_modelParameter.montecarlo

2144 Jul 25 12:31 input.raw/mc1_element.montecarlo

2152 Jul 25 12:31 input.raw/mc1_outputParameter.montecarlo

2152 Jul 25 12:31 input.raw/mc1_designParamVals.montecarlo

2148 Jul 25 12:31 input.raw/mc1_primitives.montecarlo

2144 Jul 25 12:31 input.raw/mc1_subckts.montecarlo

3275 Jul 25 12:31 input.raw/logFile

382 Jul 25 12:31 input.raw/artil.log

 

 

2/ with : saveOptions options save=none subcktprobelvl=2

 

 

...> du -sh ../842/

216K    ../842/

 

...> du -sh ./*

4.0K    ./cp_input.scs

116K    ./input.raw

4.0K    ./input.scs

4.0K    ./input.scs~

12K     ./mc_log_file.log

52K     ./monteCarlo

12K     ./pp238496.out

4.0K    ./spectre.fc

4.0K    ./spectre.ic

 

 

...> ls -lrt input.raw/

 

504 Jul 25 12:02 mc1.mcparam

12348 Jul 25 12:02 mc1_tran.tran

2468 Jul 25 12:02 mc1_finalTimeOP.info

684 Jul 25 12:02 mc1_modelParameter.info

13152 Jul 25 12:02 mc1_element.info

1484 Jul 25 12:02 mc1_outputParameter.info

4647 Jul 25 12:02 mc1_designParamVals.info

5212 Jul 25 12:02 mc1_primitives.info.primitives

523 Jul 25 12:02 mc1_subckts.info.subckts

1156 Jul 25 12:02 logFile.tmp

2140 Jul 25 12:02 mc1_tran.montecarlo

2148 Jul 25 12:02 mc1_finalTimeOP.montecarlo

2152 Jul 25 12:02 mc1_modelParameter.montecarlo

2144 Jul 25 12:02 mc1_element.montecarlo

2152 Jul 25 12:02 mc1_outputParameter.montecarlo

2152 Jul 25 12:02 mc1_designParamVals.montecarlo

2148 Jul 25 12:02 mc1_primitives.montecarlo

2144 Jul 25 12:02 mc1_subckts.montecarlo

3275 Jul 25 12:02 logFile

1331 Jul 25 12:02 artil.log

 

 

 

input.scs (extract) :

 

simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=70  tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5  digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output"  checklimitdest=psf

mc1 montecarlo numruns=1 seed=12345 variations=mismatch sampling=standard  donominal=no scalarfile="../monteCarlo/mcdata" savemismatchparams=yes  mismatchparamfile="../monteCarlo/mismatchparam" mismatchscalarfile="../monteCarlo/mismatchdata"  savefamilyplots=no savedatainseparatedir=yes  firstrun=842 {

tran tran stop=20n write="spectre.ic" writefinal="spectre.fc"  annotate=status maxiters=5

finalTimeOP info what=oppoint where=rawfile

modelParameter info what=models where=rawfile

element info what=inst where=rawfile

outputParameter info what=output where=rawfile

designParamVals info what=parameters where=rawfile

primitives info what=primitives where=rawfile

subckts info what=subckts  where=rawfile

export out_b_sensed=oceanEval("value(v(\"out_b\" ?result \"tran\") 2e-08)")

...

}

mcOptions options genmcdep=yes

saveOptions options save=none subcktprobelvl=2

 

 

log :

Error found by spectre during Monte Carlo analysis `mc1'.

    ERROR (SPECTRE-8003): mc1_subckts: Error evaluating ocean expression `out_b_sensed=value(v("out_b" ?result "tran") 2e-08)'.

 
 
 
Thanks a lot.
 
P. 
  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    First of all, do you really need subcktprobelvl=2 ? That will save lots of currents - better to save just the terminal currents you need in your measurements (and I think ADE XL should set this up for you automatically).

    Secondly, in the "Save All" form (where subcktprobelvl etc is set), you could turn off the saving of model parameters, elements info, etc - this will save time and (a small amount) of disk space.

    Saving the mismatch data will also create quite a bit of data in general - and unless you really need it, don't save it.

    That said, with all of this, I think there could be some benefit in not keeping the simulation results once measurements have been made. ADE XL offers this choice via  Options->Save and you can turn off "Save Simulation Data".

    If you are not running all your jobs in parallel (i.e. nunruns>1), then spectre will also delete the individual points data (except the last) unless you have savefamilyplots=yes.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    First of all, do you really need subcktprobelvl=2 ? That will save lots of currents - better to save just the terminal currents you need in your measurements (and I think ADE XL should set this up for you automatically).

    Secondly, in the "Save All" form (where subcktprobelvl etc is set), you could turn off the saving of model parameters, elements info, etc - this will save time and (a small amount) of disk space.

    Saving the mismatch data will also create quite a bit of data in general - and unless you really need it, don't save it.

    That said, with all of this, I think there could be some benefit in not keeping the simulation results once measurements have been made. ADE XL offers this choice via  Options->Save and you can turn off "Save Simulation Data".

    If you are not running all your jobs in parallel (i.e. nunruns>1), then spectre will also delete the individual points data (except the last) unless you have savefamilyplots=yes.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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