I want to inject a pulse current at certain node of a periodic circuit like Oscillator.
I need to check the oscillator's steady state phase shift if the pulse injection happens at different instants during one period of oscillation.
This can be done, by running multiple simulations ( basically a parametric sweep) with shifted instants of pulse injection.
But, running multiple simulations is very time consuming.
To speed up the simulation process, one can run the simulation at one go with reusing circuit INITIAL conditions (at simulation time t=0) at multiple instants.
For example:- If total duration is 1000 ns, I can reuse the INITIAL condition at 200ns, 400ns, 600ns ... ... 800ns, The pulse injection can happen at 150ns, 460ns,670ns ..... 890ns (shift of 10nS from the previous instant).
Can anybody please tell how this can be achieved ?
I don't think I understand why you would want to do this (you can't anyway). The initial conditions can only be used during the initial transient solution (the DC before the transient) and not re-applied part way through a transient (I have no idea why that would be useful, or why that would be any more advantageous than just running a separate transient simulation with each initial condition).
I think running multiple new transient simulations will take more time as each time it has to find DC convergence, initial condition (apart from other stuffs needed to be done at the beginning).
Is there a way we can run multiple new transient simulations yet, we can avoid the initial repetitive stuffs so that it can be fast like a single tran simulation.
Given that initial conditions are applied during the DC before a transient analysis, then no. They are used to intentionally force the DC solution to something other than what it would find normally, but that's work that has to be done and can't be avoided. Yes, it could have avoided the initial netlist read maybe, but if you did this using a parametric analysis in ADE L or a variable sweep in ADE Explorer, it can do this within a single invocation of the simulator and that would be saved.
It's unclear to me how this would (or could) be any faster - the DC should be very quick if the initial conditions match the circuit...
The best thing would be to contact customer support so somebody can look at your actual circuit and understand what's going on here.
Can we save the initial condition (let's say when the circuit stabilizes) and reuse it in subsequent iterations.
This way if we run in a SKILL script, things can be faster.
RFStuff said:Can we save the initial condition (let's say when the circuit stabilizes) and reuse it in subsequent iterations.
The use of an .ic file to set the initial conditions in a spectre transient simulation is very well known and very well documented in the Cadence documentation. A recently updated document is attached and could have been easily found by doing a search on Sourcelink. There is also a techique to create an initial condition file at an intermediate point of a transient simulation if you run spectre interactively - see this: Nodeset and Initial Condition usage in Spectre simulations