Hello,
I am encountering an issue when I launch some simulations with this commandline :
spectre simulations/design_test/montecarlo/$i/input.scs +log simulations/design_test/montecarlo/$i/mc_log_file.log
The $i value is the value for different path corresponding to different netlists to launch MC on.
In the result file I have the value : -1.11111e+36
Example : in my mcdata result file :
-1.11111e+36 -1.11111e+36 -1.11111e+36 -1.11111e+36 -1.11111e+36
Instead of something like :
0.23 0.87 1 0
I suspect a synchronisation issue between the result waveforms creation and the ocean export commands.
If I relaunch the command, it works well.
I think I have a solution, it's to launch a spectremdl command, but I wanted to highlight this weird behaviour, and i would like to know if i can change something slight to make it work better, jus with a spectre commandline?
In the log file :
Warning from spectre during Monte Carlo analysis `mc1'.
WARNING (SPECTRE-16002): Monte Carlo iteration 49 terminated prematurely because of the following error(s):
Error found by spectre during Monte Carlo analysis `mc1'.
ERROR (SPECTRE-8003): mc1_subckts: Error evaluating ocean expression `expression_1=value(v("out_b_iv" ?result "tran") 4.775n)'.
ERROR (SPECTRE-8003): mc1_subckts: Error evaluating ocean expression `expression_2=value(v("out_iv" ?result "tran") 4.775n)'.
ERROR (SPECTRE-8003): mc1_subckts: Error evaluating ocean expression `expression_3=value(v("state_left" ?result "tran") 9.825n)'.
ERROR (SPECTRE-8003): mc1_subckts: Error evaluating ocean expression `expression_4=value(v("state_right" ?result "tran") 9.825n)'.
Extract of the netlist :
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 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" dumpdependency=mismatch dependencymapfile="../monteCarlo/mismatchdependency" dut=[ I0 I1 M2 M0 M1 ] savefamilyplots=no savedatainseparatedir=yes firstrun=50 {
tran tran stop=34.40nn 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 expression_1=oceanEval("value(v(\"out_b_iv\" ?result \"tran\") 4.775n)")
export expression_2=oceanEval("value(v(\"out_iv\" ?result \"tran\") 4.775n)")
…
}
mcOptions options genmcdep=yes
save out_b_iv out_iv out_b out state_left state_right
saveOptions options save=selected subcktprobelvl=2
Thanks a lot !!
P.