The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> Circuit Simulators >> cadence transient analysis convergence problem
https://designers-guide.org/forum/YaBB.pl?num=1278524977

Message started by jszair on Jul 7th, 2010, 10:49am

Title: cadence transient analysis convergence problem
Post by jszair on Jul 7th, 2010, 10:49am

Hi, I'm simulating a ota with capacitance feedback and run into convergence problem in transient analysis. DC analysis is fine. The following are simulation reports, any suggestion?

Report part 1
--------------------------------------------------------------------------------
Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator
Version 6.2.1.170 -- 10 Feb 2008
Copyright (C) 1989-2007 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence, Virtuoso and Spectre are registered trademarks of Cadence Design Systems, Inc. All others are the property of their respective holders.

Protected by U.S. Patents: 5,610,847; 5,790,436; 5,812,431; 5,859,785; 5,949,992; 5,987,238; 6,088,523; 6,101,323; 6,151,698; 6,181,754; 6,260,176; 6,278,964; 6,349,272; 6,374,390; 6,493,849; 6,504,885; 6,618,837; 6,636,839; 6,778,025; 6,832,358; 6,851,097; 6,928,626; 7,024,652; 7,035,782; 7,085,700; 7,143,021.

Includes RSA BSAFE(R) Cryptographic or Security Protocol Software from RSA Security, Inc.

Simulating `input.scs' on princess.ece.utexas.edu at 12:43:23 PM, Wed Jul 7, 2010.
Command line:
\
/usr/local/packages/cadence_2007/mmsim/tools.lnx86/spectre/bin/32bit/spectre \
input.scs +escchars +log ../psf/spectre.out +inter=mpsc \
+mpssession=spectre0_22309_8 -format sst2 -raw ../psf \
+lqtimeout 900 -maxw 5 -maxn 5
spectre pid = 23836

Loading /usr/local/packages/cadence_2007/mmsim/tools.lnx86/cmi/lib/5.0/libinfineon_sh.so ...
Loading /usr/local/packages/cadence_2007/mmsim/tools.lnx86/cmi/lib/5.0/libnortel_sh.so ...
Loading /usr/local/packages/cadence_2007/mmsim/tools.lnx86/cmi/lib/5.0/libphilips_sh.so ...
Loading /usr/local/packages/cadence_2007/mmsim/tools.lnx86/cmi/lib/5.0/libsparam_sh.so ...
Loading /usr/local/packages/cadence_2007/mmsim/tools.lnx86/cmi/lib/5.0/libstmodels_sh.so ...
Using new Spectre Parser.

Warning from spectre during initial setup.
WARNING (CMI-2426): I0.I3.M4: `Pdiblc2' = -10e-06 is negative.
WARNING (CMI-2426): I0.I3.M5: `Pdiblc2' = -10e-06 is negative.
WARNING (CMI-2426): I0.I3.M6: `Pdiblc2' = -10e-06 is negative.
WARNING (CMI-2426): I0.I3.M7: `Pdiblc2' = -10e-06 is negative.
WARNING (CMI-2426): I0.I2.M7: `Pdiblc2' = -10e-06 is negative.
Further occurrences of this warning will be suppressed.
Notice from spectre during topology check.
Only one connection to the following 2 nodes:
net051
net058
No DC path from node `net051' to ground, Gmin installed to provide path.


Circuit inventory:
nodes 84
equations 104
bsim3v3 82
capacitor 6
isource 1
resistor 10
transformer 4
vcvs 9
vsource 7


Warning from spectre.
WARNING (SPECTRE-6006): 71 warnings suppressed.

Entering remote command mode using MPSC service (spectre, ipi, v0.0, spectre0_22309_8, ).

************************************************
Transient Analysis `tran': time = (0 s -> 10 us)
************************************************
Trying `homotopy = gmin' for initial conditions.
Trying `homotopy = source' for initial conditions.
Trying `homotopy = dptran' for initial conditions.
Important parameter values:
start = 0 s
outputstart = 0 s
stop = 10 us
step = 10 ns
maxstep = 200 ns
ic = all
skipdc = no
reltol = 1e-03
abstol(V) = 1 uV
abstol(I) = 1 pA
temp = 27 C
tnom = 27 C
tempeffects = all
errpreset = moderate
method = traponly
lteratio = 3.5
relref = sigglobal
cmin = 0 F
gmin = 1 pS
maxrsd = 0 Ohm
mos_method = s
mos_vres = 50 mV


Error found by spectre at time = 9.75307 ns during transient analysis `tran'.
ERROR (SPECTRE-16192): No convergence achieved with the minimum time step specified. Last acceptable solution computed at 9.75307 ns.

The values for those nodes that did not converge on the last Newton iteration are given below. The manner in which the convergence criteria were not satisfied is also given.
Failed test: | Value | > RelTol*Ref + AbsTol

I(V0:p) = 20.6083 A, previously 5.98046 A.
update too large: | -14.989 A | > 20.6083 mA + 1 pA
I(V2:p) = 2.14192 A, previously 621.687 mA.
update too large: | -1.55777 A | > 2.14192 mA + 1 pA
I(I0.I1.I4.E2:p) = -46.5438 A, previously -13.5091 A.
update too large: | 33.8504 A | > 46.5438 mA + 1 pA
I(I0.I2.I2.E2:p) = 27.7649 A, previously 8.06592 A.
update too large: | -20.1853 A | > 27.7649 mA + 1 pA
I(I0.I3.I2.E2:p) = -620.767 A, previously -180.165 A.
update too large: | 451.48 A | > 620.767 mA + 1 pA
I(I0.V0:p) = -13.1749 A, previously -3.83602 A.
update too large: | 9.56953 A | > 13.1749 mA + 1 pA
I(I2.K0:t1) = -6.22303 A, previously -1.80596 A.
update too large: | 4.52613 A | > 6.22303 mA + 1 pA
I(I2.K1:t1) = 4.08111 A, previously 1.18427 A.
update too large: | -2.96836 A | > 4.08111 mA + 1 pA

Title: Re:  cadence transient analysis convergence problem
Post by jszair on Jul 7th, 2010, 10:50am

Report part 2 (DC)
-----------------------------------------------------

******************
DC Analysis `dcOp'
******************
Important parameter values:
reltol = 1e-03
abstol(V) = 1 uV
abstol(I) = 1 pA
temp = 27 C
tnom = 27 C
tempeffects = all
gmin = 1 pS
maxrsd = 0 Ohm
mos_method = s
mos_vres = 50 mV
Convergence achieved in 2 iterations.
Accumulated dc load time = 0 s.
Accumulated dc factor time = 0 s.
Accumulated dc solve time = 0 s.
Accumulated dc output time = 0 s.
Total time required for dc analysis `dcOp' was 10 ms.

dcOpInfo: writing operating point information to rawfile.
modelParameter: writing model parameter values to rawfile.
element: writing instance parameter values to rawfile.
outputParameter: writing output parameter values to rawfile.
designParamVals: writing netlist parameters to rawfile.
primitives: writing primitives to rawfile.
subckts: writing subcircuits to rawfile.

Title: Re:  cadence transient analysis convergence problem
Post by Ken Kundert on Jul 7th, 2010, 11:24am

Have you tried to debug it yourself by looking at the signals that the simulator was able to compute. I can see that there are hundreds of amps flowing through parts of your circuit. Is this expected?

You might want to set the option 'diagnose=yes'. It will enable some helpful diagnostic messages.

I can see from the component names that this circuit is constructed from ideal components such as controlled sources. It is easy to get the sense of the feedback wrong in such circuits and cause the circuit to be unstable. In an unstable circuit constructed from ideal components there is nothing to limit the size of the signals, they go to infinity, and the simulator fails to converge. Is that what is happening in this circuit?

-Ken

Title: Re:  cadence transient analysis convergence problem
Post by jszair on Jul 7th, 2010, 2:00pm


Ken Kundert wrote on Jul 7th, 2010, 11:24am:
Have you tried to debug it yourself by looking at the signals that the simulator was able to compute. I can see that there are hundreds of amps flowing through parts of your circuit. Is this expected?

You might want to set the option 'diagnose=yes'. It will enable some helpful diagnostic messages.

I can see from the component names that this circuit is constructed from ideal components such as controlled sources. It is easy to get the sense of the feedback wrong in such circuits and cause the circuit to be unstable. In an unstable circuit constructed from ideal components there is nothing to limit the size of the signals, they go to infinity, and the simulator fails to converge. Is that what is happening in this circuit?

-Ken


Yes I'm trying to debug it based on the report.

Some suggests set a cmin number as 1/10 of minimum Cgs, I tired and it start to do transient simulation but extremely slow.

Another question: why is the DC and AC analysis works fine but transient doesn't work? Does that mean there's no feedback sense error?

Title: Re:  cadence transient analysis convergence problem
Post by Ken Kundert on Jul 7th, 2010, 4:09pm

DC finds equilibrium points, whether they are stable or unstable. In transient, the simulator will move away from an unstable equilibrium point.

Cmin helps you get past discontinuities, but you have to figure out why you have such large currents before you start worrying about discontinuities.

-Ken

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.