I have performed the following MonteCarlo simulation through the ocean script to capture the current consumption for a time frame from 15ms to 25ms, how is it possible for me to re-collect the data, say from 50ms to 100ms, without re-run the simulation again? I am looking for a ocean script to do that. FYI, I am using IC5141.
Thanks in advance!
ocnWaveformTool( 'wavescan )simulator( 'spectre )design( "./design/netlist/netlist" )resultsDir( "./design" "a" )modelFile( '("./design/models/f35.scs" "tt"))analysis('tran ?stop "100m" ?errpreset "conservative" )desVar( "vdd" 2.15 )option( 'temp "25.0" )saveOption( ?outputParamInfo nil )saveOption( ?elementInfo nil )saveOption( ?modelParamInfo nil )saveOption( 'currents "selected" )saveOption( 'save "selected" )save( 'v "/OUT" )save( 'i "/V0/PLUS" )temp( 25.0 ) monteCarlo( ?numIters "1000" ?startIter "1" ?analysisVariation 'processAndMismatch ?sweptParam "Temperature" ?sweptParamVals "-20 100" ?saveData t ?nomRun nil ?append nil ?saveProcessParams t )monteExpr( "idd" "average(clip(IT(\"/V0/PLUS\") 15m 25m))" )monteRun()
In reply to kenambo:
The browser GUI window will not workout if the simulation data is very big, mostly it will clip the waveform for only about 400 iteration.
In reply to hippoo:
It shouldn't clip the data - not sure why that would be happening. There is no equivalent of ADE XL's "reevaluate" option in IC5141. So all you can do is build a calculator function which computes a scalar for each iteration, and then use stddev, average, or histogram() on the results ot process it.
In your case you ought to be able to do:
stddev(average(clip(IT("/V0/PLUS") 50m 100m))
average(average(clip(IT("/V0/PLUS") 50m 100m))