The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
May 5th, 2024, 9:26am
Pages: 1
Send Topic Print
Spectre's minimal step size (Read 1522 times)
Paul Geraedts
Community Member
***
Offline

GIGO

Posts: 60
Enschede, Netherlands
Spectre's minimal step size
Jan 09th, 2005, 11:54am
 
Just a bit of philosophizing: why should one put a minimal step size parameter ('step') in Spectre's transient analysis, while it isn't really taken serious by the simulator?! Anybody?
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Spectre's minimal step size
Reply #1 - Jan 9th, 2005, 4:24pm
 
It is there for two reasons. First, in Spice it is a required parameter. And when reading a Spice netlist, we needed something to translate the Spice step parameter to.

Second, it has real meaning, but it is different than the meaning for the Spice parameter. In Spice it set print interval, and the print interval set the maximum time step.

In Spectre, the value of step sets the minimum step size the simulator will use for aesthetic reasons. Meaning that Spectre is watching the activity on the waveforms and will reduce the step size when the waveforms are changing rapidly. It does this for two reasons. In places where the simulator computes a finite-difference derivative, say with capacitor voltage to compute capacitor current, or with inductor current to compute inductor voltage, it must do this to maintain the accuracy of the solution. Any error made in this situation tends to accumulate. However there are other times when it will reduce the timestep because of rapid changes in voltages not associated with capacitor or  currents not associated with inductors. Using large timesteps in this situation does not create an error that accumulates, however it can produce waveforms that are misleading or hard to interpret. So in this case Spectre reduces the time step. The step parameter places a limit on how much the simulator will reduce the timestep in this case. I believe its default value is something like 0.1% of the simulation interval.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
Paul Geraedts
Community Member
***
Offline

GIGO

Posts: 60
Enschede, Netherlands
Re: Spectre's minimal step size
Reply #2 - Jan 10th, 2005, 4:58am
 
Thanks for your reply Ken!

I understand what you're saying, although my observations are not in line with you last statement.
Quote:
The step parameter places a limit on how much the simulator will reduce the timestep in this case.
I've seen Spectre reduce the timestep even further on multiple occasions. I was expecting a warning about reaching the minimal stepsize, but I didn't got one. Although not that important, I was wondering in my original post why than setting the parameter in the first place?

I'd like to ask you as well about something related: the default transient times of the analogLib sources (rise and fall times and such). First of all, I think the importance of not setting these parameters justifies a warning, as it could rather well be a mistake. But more importantly, why using a default value of stop/100?! So it is based neither on the total transient time (stop-start) nor the maximal step size (maxstep) nor the minimal stepsize (step). Relating it to the latter would make more sense to me, together with a warning that is..

Thanks, Paul
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Spectre's minimal step size
Reply #3 - Jan 10th, 2005, 1:44pm
 
Paul,
   The step parameter does not specify the minimum time step, it specifies minimum step it uses to maintain the aesthetics of the waveform. If you see Spectre use a smaller step, which it does quite often, it is in order to maintain accuracy or because a device told it that it needed a smaller step.

The transition time on the sources was chosen to be compatible with Spice.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
Paul Geraedts
Community Member
***
Offline

GIGO

Posts: 60
Enschede, Netherlands
Re: Spectre's minimal step size
Reply #4 - Jan 10th, 2005, 4:20pm
 
Ok, let me rephrase that: I didn't understand what you were saying..  ;D

Would you say that using 'below default' values for the step parameter could rather well result in even less misleading waveforms?
I mean, does it make sense to do so?

So what is than the lower bound of the time step that Spectre uses for accuracy reasons? It is related to the simulation interval, isn't it?

And as you are such an excellent source of information, maybe you could have a look at my previous post as well?! It's in 'RF Simulators' and is called 'SpectreRF User Guide'.

Thanks a lot, Paul

Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Spectre's minimal step size
Reply #5 - Jan 10th, 2005, 9:59pm
 
Yes, using a small value for step will reduce the chance of a misleading waveform. However, if you have a lot of discontinuous signals, it could also slow the simulation. Generally, I find Spectre's timestep control to be pretty good and as such there is little need to play with step. Though I will reduce it if I am particularly interested in the fidelity of the current waveforms.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
Paul Geraedts
Community Member
***
Offline

GIGO

Posts: 60
Enschede, Netherlands
Re: Spectre's minimal step size
Reply #6 - Jan 13th, 2005, 4:08am
 
Quote:
However, if you have a lot of discontinuous signals, it could also slow the simulation.

So that's where cmin 'steps' in? Does using cmin implicate that Spectre starts focussing exclusively on the accuracy of the solution? Or does it take into account the actual value of the time-constant of the specific node in determining if the LTE tends to accumulate?

Still remains the origin of the warning 'Minimum time step used. Solution might be in error'. Although it's the result of silly (mis)use of Spectre, I'm anxious to know!

Thanks, Paul
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Spectre's minimal step size
Reply #7 - Jan 21st, 2005, 10:55am
 
Paul,
The cmin parameter add small capacitors from every node in the circuit to ground to aid convergence in transient analysis. Sometimes models have discontinuities, and those discontinuities can cause convergence problems. Adding a bit of capacitance can often help transient analysis get past the discontinuity.  However, you should be aware that to Spectre these are not real capacitors. They are modeled as true capacitors, but Spectre feels no obligation to take small timesteps to accurately compute the current through these capacitors.

The cmin parameter is not provided to help with discontinuous signals, which may occur naturally in the circuit. Rather it is available to help with unintensionally discontinuous models.  In general the models are pretty good and cmin is rarely needed. I have not used it in years.

There is nothing that would cause step to be ignored completely. If that were allowed to happen, then Spectre could not get beyond a discontinuity in a signal because it could not find a time step small enough to allow it to smoothly render the jump.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.