help-gnucap
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gnucap] Oscillator Simulation


From: al davis
Subject: Re: [Help-gnucap] Oscillator Simulation
Date: Wed, 14 Sep 2016 11:11:27 -0400

On Tue, 13 Sep 2016 22:03:51 +1000
Richard Gipps <address@hidden> wrote:

> Gnucap 2009.12.07 RCS 26.136

> zero time step
> newtime=1.000000e-12  rejectedtime=1.000000e-12 oldtime=0.000000e+00
> non-recoverable user requested
> newtime=1.000000e-12  rejectedtime=2.000000e-12 oldtime=1.000000e-12  
> using=2.000000e-12
> tried everything, still doesn't work, giving up

> 
> .TRAN 1p {stop_time} {start_print} 1p
> 
> .PRINT TRAN V(1)


My first impression was that you are using a 8 year old version that
had a bug in time step control that would occasionally show a
convergence failure in mid-transient, when there was really nothing
wrong.

But that's not the issue here.

The bug is that it gave you a useless error message.

The problem is that you specified a time strobe of 1 ps, and an option
set "dtmin" to 1 ps.  On startup, it tries an internal time step even
smaller than that, which is too small per the option.  Time steps less
than dtmin are considered to be zero, hence the message "zero time
step".

The solution to the problem is either to specify a smaller dtmin, or
bigger time strobe.  Given the choice, the better solution is to
specify a bigger time strobe.  I have never seen a case where an
analysis really needed a 1 picosecond (1e-12) time step, but then there
are circuits in the terahertz range that I haven't seen.

For a circuit operating at 100 MHz (f=1e8, period=1e-8) this is 10000 x
oversampled.  When you oversample this much, it actually becomes less
accurate due to rounding.

What Felix said in another post is good advise.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]