I want to use the spectre recover option to extend simulation time. Here is an example of what I want to do.
Initial simulaiton stop time at 200us with savefile saved at this time point.
I then run a new simulation using my savefile in the recover option. I set the stop time at 400us.
When this simulation is done, I only see simulation results from 200us to 400us.
What I want to see is the simulation results from 0 to 400us. Is there a way to do this without explicitly knowing I need to do this before hand. What I mean is that I discover after running my 200us that I need to run 200us more. Of course I will have to have a savefile at 200us to do this. I just want to be able to append the two results so any skill/calc/plot functions operate correctly.
The first thing spectre does on a new simulation is delete the previous data run.
To keep the data, you need to copy 0 - 200u to a new directory. say input.raw200u
Then restart and run 200u - 400u. This data is saved in input.raw directory.
You then need to build a calculator expression merging the two:
v("out" ?result "tran-tran" ?resultsDir "./input.raw200u")+v("out" ?result "tran-tran" ?resultsDir "./input.raw")
In reply to EricCDN:
That makes sense. So I guess there is no way to get spectre to start from the point that it stopped so that in the end only one simulation results exists. If not the workaround should work.
In reply to MarkASummers:
Eric and I discussed this - adding the two waveforms will only work if the end point of the first and start point of the second are 0 - otherwise you get a DC offset caused by the extrapolation of the end points when you add two waveforms where the axis point ranges don't coincide.
See sourcelink solution number 11522792 - this gives code for a "concatenation" function.
Also, on the Direct Plot->Main Form, when using tran, there's an option to append to a previous result directory.