The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Mar 28th, 2024, 3:02pm
Pages: 1 2 3 
Send Topic Print
Signal exceeds blowup quantity (Read 456 times)
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: Signal exceeds blowup quantity
Reply #15 - Sep 15th, 2010, 9:09am
 
.matteo wrote on Sep 15th, 2010, 9:02am:
So, why for ka=1 is still not converging? Am I messing up two different kind of stabilities?
"Non Physical" are completely different issues from "Unstability".

Total energy stored in inductors with coupling is negative for your circuits with your parameters.
This is "Non-Physical".

This situation is similar to "Non-Causal-System" which is also "Non Physical".
There is no problem in pure frequency domain HB Analysis for handling "Non-Causal-System".
But it is not true for time domain analysis.
Back to top
 
« Last Edit: Sep 15th, 2010, 11:14am by pancho_hideboo »  
View Profile WWW Top+Secret Top+Secret   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Signal exceeds blowup quantity
Reply #16 - Sep 15th, 2010, 12:21pm
 
Let me try to clear a few things up. First, this is not a convergence problem, and it is not a Spectre problem. Your circuit is unstable and Spectre is right to issue the blow up message because the resulting waveforms do shoot off to infinity.

Your circuit is unstable because your inductance matrix is not positive definite. I know this because I converted your netlist into a python script that constructed and analyzed the eigenvalues of your inductance matrix. That script is:
Code:
import numpy
from math import sqrt

L = numpy.zeros((10, 10))
L0=1.3e-9
L1=1.3e-9
L2=1.4e-9
L3=1.4e-9
L4=1.5e-9
L5=1.5e-9
L6=1.265e-9
L7=1.265e-9
L8=4.165e-9
L9=4.165e-9
L[0][2] = 1*sqrt(L0*L2)
L[2][0] = 1*sqrt(L2*L0)
L[1][3] = 1*sqrt(L1*L3)
L[3][1] = 1*sqrt(L3*L1)
L[5][7] = 1*sqrt(L5*L7)
L[7][5] = 1*sqrt(L7*L5)
L[4][6] = 1*sqrt(L4*L6)
L[6][4] = 1*sqrt(L6*L4)
L[7][8] = 0.185*sqrt(L7*L8)
L[8][7] = 0.185*sqrt(L8*L7)
L[6][9] = 0.185*sqrt(L6*L9)
L[9][6] = 0.185*sqrt(L9*L6)
L[0][7] = 0.823*sqrt(L0*L7)
L[7][0] = 0.823*sqrt(L7*L0)
L[1][6] = 0.823*sqrt(L1*L6)
L[6][1] = 0.823*sqrt(L6*L1)
L[0][0] = L0
L[1][1] = L1
L[2][2] = L2
L[3][3] = L3
L[4][4] = L4
L[5][5] = L5
L[6][6] = L6
L[7][7] = L7
L[8][8] = L8
L[9][9] = L9
ev = numpy.linalg.eigvalsh(L)
print ev 


It computed the eigenvalues as
Code:
[ -6.69232309e-10  -6.69232309e-10   4.50778482e-10   4.50778482e-10
   2.31985763e-09   2.31985763e-09   3.26523077e-09   3.26523077e-09
   4.26336543e-09   4.26336543e-09] 


Several of the eigenvalues are negative, meaning that the inductance matrix is not positive definite, meaning that your coupled inductor is not passive.

So this leaves three questions to be answered.
1. Why does ADS eigenanalysis report the circuit as being stable?
I don't know why. Perhaps Pancho Hideboo accidentally modified the circuit, or perhaps there is a bug in ADS. A pole-zero analysis by Spectre reports RHP poles.

2. Why does harmonic balance analysis give a bounded result (even with k=1)?
Like DC analysis, HB analysis computes a steady-state solution regardless of whether that solution is stable. In a very real sense, this is a problem with HB analysis because it can lead you to believe your circuit is working properly when it is really unstable.

3. Why do HSpice results remain bounded?
I believe that this is because HSpice is using too large a timestep. It is a known problem with transient simulators that like HB simulators they too can sometimes ignore instabilities if they take too large a timestep. Forcing them to take smaller timesteps will eventually cause them to properly produce waveforms that exhibit the instability.

One final comment. In his last post, Pancho Hideboo seems to suggest that the fact that HB simulators are capable of simulating non-physical systems is a good thing. In fact it is not. It can lead designers to into a false sense of security. For example, in this case if you were using only a harmonic balance simulator, you might have missed the fact that your inductor model is fundamentally flawed.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: Signal exceeds blowup quantity
Reply #17 - Sep 15th, 2010, 8:31pm
 
Ken Kundert wrote on Sep 15th, 2010, 12:21pm:
3. Why do HSpice results remain bounded?
I believe that this is because HSpice is using too large a timestep.
No.
Even if I set "delmax" fairly small, results are same.
Back to top
 
 
View Profile WWW Top+Secret Top+Secret   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Signal exceeds blowup quantity
Reply #18 - Sep 15th, 2010, 10:06pm
 
Pancho Hideboo,
    Please post the full HSpice netlist.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: Signal exceeds blowup quantity
Reply #19 - Sep 16th, 2010, 8:15am
 
Ken Kundert wrote on Sep 15th, 2010, 10:06pm:
Please post the full HSpice netlist.
I'm using the following Sub Netlist of HSPICE format commonly for Synopsys HSPICE and Cadence Spectre.

"matteo.spi" Quote:
* Converted from Spectre Netlist to HSPICE Netlist

* Generated for: spectre
* Generated on: Sep 14 17:33:16 2010
* Design library name: RX
* Design cell name: balun_test
* Design view name: schematic

* Library name: RX
* Cell name: balun_eq_mdl
* View name: schematic
.subckt balun_eq_mdl ct p1 p2 s1 s2
   C12  s1 net033   42.5e-15 ic=0
   C8  net054 0   28e-15 ic=0
   C10  net052 0   14e-15 ic=0
   C13  net033 0   14e-15 ic=0
   C9  ct net054   85e-15 ic=0
   C11  s2 net052   42.5e-15 ic=0
   C14  p1 s2   9e-15 ic=0
   C15  p2 s2   9e-15 ic=0
   C16  p2 s1   9e-15 ic=0
   C6  p1 s1   9e-15 ic=0
   C5  net15 0   260e-15 ic=0
   C4  net27 net15   83e-15 ic=0
   C3  net17 0   130e-15 ic=0
   C2  p2 net17   41.5e-15 ic=0
   C1  net14 0   130e-15 ic=0
   C0  p1 net14   41.5e-15 ic=0
   R26  s2 0   100e6
   R27  p2 0   100e6
   R28  p1 0   100e6
   R24  s1 0   100e6
   R16  net32 0   100e6
   R17  net29 0   100e6
   R18  net095 0   100e6
   R19  net088 0   100e6
   R22  net0146 0   100e6
   R23  net089 0   100e6
   R21  net31 0   100e6
   R15  net084 net052   56
   R14  net086 net054   56
   R8  0 net054   38
   R13  net092 ct   2.53
   R11  0 net033   76
   R12  net090 s2   2.53
   R20  net30 0   100e6
   R9  0 net052   76
   R6  0 net15   40
   R5  0 net17   80
   R2  0 net14   80
   R1  net33 p2   2.65
   R0  net35 net27   2.65

   R7   net088  net089   2.7e3
   R10  net0146 net095   2.7e3

   R4  net29 net30   2.75e3
   R3  net31 net32   2.75e3

*   Ka=1.0
   K0 L0 L2   K='Ka'
   K1 L1 L3   K='Ka'
   K2 L5 L7   K='Ka'
   K3 L4 L6   K='Ka'

*   Kb=0.185
   K4 L7 L8   K='Kb'
   K5 L6 L9   K='Kb'

*   Kc=0.823
   K6 L0 L7   K='Kc'
   K7 L1 L6   K='Kc'

   L0  p1 net35   1.3e-9 ic=0
   L2  net32 net31   1.4e-9 ic=0

   L1  net27 net33   1.3e-9 ic=0
   L3  net30 net29   1.4e-9 ic=0

   L5  net095 net0146   1.5e-9 ic=0
   L7  s1 net092   1.265e-9 ic=0

   L4  net089 net088   1.5e-9 ic=0
   L6  ct net090   1.265e-9 ic=0

   L8  net033 net086   4.165e-9 ic=0
   L9  net054 net084   4.165e-9 ic=0
.ends balun_eq_mdl
* End of subcircuit definition.

* Library name: RX
* Cell name: balun_test
* View name: schematic
X25  ct p1 0 s1 s2  balun_eq_mdl

Top Netlist for HSPICE is http://www.designers-guide.org/Forum/YaBB.pl?num=1284463608/13#13.
Here I add ".pz" statement.

The following is a Top Netlist for Cadence Spectre Quote:
// Generated for: spectre
// Generated on: Sep 16 14:13:04 2010
// Design library name: My_RFDE_Test
// Design cell name: test_matteo
// Design view name: schematic
simulator lang=spectre
global 0
parameters prf=0 frf=10G Ka=1*1.0 Kb=1*0.185 Kc=1*0.823
include "~/RFDE/matteo.spi"

// Library name: My_RFDE_Test
// Cell name: test_matteo
// View name: schematic
V1 (net9 0) vsource mag=1 type=sine sinedc=0 ampl=2*sqrt(2*50*10**((prf-30)/10)) freq=frf
R1 (in net9) resistor r=50
R0 (ct 0) resistor r=100M
C1 (s2 0) capacitor c=200f
C0 (s1 0) capacitor c=200f
C9 (in p1) capacitor c=1.5p ic=0*447.2m
C3 (in 0) capacitor c=80f ic=0*447.2m

simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=25.0 \
   tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
   digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
   checklimitdest=psf

pz ( s1 0 ) pz iprobe=V1 freq=1

tran tran stop=2n errpreset=moderate write="spectre.ic" \
   writefinal="spectre.fc" annotate=status maxiters=5

designParamVals info what=parameters where=rawfile
save in p1 s1 ct s2
saveOptions options save=selected pwr=none
Back to top
 
« Last Edit: Sep 16th, 2010, 9:20am by pancho_hideboo »  
View Profile WWW Top+Secret Top+Secret   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: Signal exceeds blowup quantity
Reply #20 - Sep 16th, 2010, 9:46am
 
Ken Kundert wrote on Sep 15th, 2010, 12:21pm:
First, this is not a convergence problem, and it is not a Spectre problem.
I can never conclude there is no problem in Cadence Spectre.

Quote:
1. Why does ADS eigenanalysis report the circuit as being stable?
I don't know why. Perhaps Pancho Hideboo accidentally modified the circuit, or perhaps there is a bug in ADS.
A pole-zero analysis by Spectre reports RHP poles.
I don't think so.
First, I use Agilent GoldenGate not Agilent ADSsim.

Even if total energy stored in inductors with coupling is negative, this circult as total system could be stable since it includes many resistors.
So there can be stable for steady state.

Pole-Zero Analysis of Synopsys HSPICE also reports no RHP pole like followings.
"Results of PZ Analysis of Synopsys HSPICE" Quote:
******   pole/zero analysis  
   input =  0:v1          output = "s1" "node")

      poles (rad/sec)                 poles ( hertz)
real            imag            real            imag            
-49.5049k       0.              -7.87896k       0.              
-10.9217g       -13.1425g       -1.73825g       -2.09170g      
-10.9217g       13.1425g        -1.73825g       2.09170g        
-14.9901g       -106.390g       -2.38575g       -16.9324g      
-14.9901g       106.390g        -2.38575g       16.9324g        
-30.2939g       -113.648g       -4.82142g       -18.0876g      
-30.2939g       113.648g        -4.82142g       18.0876g        
-38.2914g       0.              -6.09427g       0.              
-58.2373g       1.72220g        -9.26875g       274.096x        
-58.2373g       -1.72220g       -9.26875g       -274.096x      
-72.8863g       0.              -11.6002g       0.              
-74.5901g       0.              -11.8714g       0.              
-109.473g       0.              -17.4231g       0.              
-110.544g       390.199g        -17.5936g       62.1021g        
-110.544g       -390.199g       -17.5936g       -62.1021g      
-237.094g       0.              -37.7347g       0.              
-242.241g       0.              -38.5538g       0.              
-765.490g       0.              -121.832g       0.              

      zeros (rad/sec)                 zeros ( hertz)
real            imag            real            imag            
-120.630m       118.201         -19.1989m       18.8123        
-120.630m       -118.201        -19.1989m       -18.8123        
-138.970x       0.              -22.1178x       0.              
-17.5797g       -110.761g       -2.79790g       -17.6281g      
-17.5797g       110.761g        -2.79790g       17.6281g        
-28.5668g       -229.147g       -4.54655g       -36.4699g      
-28.5668g       229.147g        -4.54655g       36.4699g        
-36.2165g       0.              -5.76404g       0.              
-60.4080g       0.              -9.61424g       0.              
-72.8863g       0.              -11.6002g       0.              
-72.8863g       0.              -11.6002g       0.              
-75.1812g       -567.353g       -11.9655g       -90.2970g      
-75.1812g       567.353g        -11.9655g       90.2970g        
-75.6976g       0.              -12.0477g       0.              
-204.058g       0.              -32.4769g       0.              
-238.696g       0.              -37.9897g       0.              
-785.480g       0.              -125.013g       0.              

***** constant factor = 59.9655x



"Results of Stability Analysis of Agilent GoldenGate" Quote:
*** Writing dc estimation file './estimate.ggr'.
Starting eigenvalues stability analysis.
Initializing eigenvalues algorithm.
Eigenvalues stability analysis : Iteration No 1 : 10 % completed.
Eigenvalues stability analysis : Iteration No 1 : 20 % completed.
Eigenvalues stability analysis : Iteration No 1 : 30 % completed.
Eigenvalues stability analysis : Iteration No 1 : 40 % completed.
Eigenvalues stability analysis : Iteration No 1 : 50 % completed.
Eigenvalues stability analysis : Iteration No 1 : 60 % completed.
Eigenvalues stability analysis : Iteration No 1 : 70 % completed.
Eigenvalues stability analysis : Iteration No 1 : 80 % completed.
Eigenvalues stability analysis : Iteration No 1 : 90 % completed.
Eigenvalues stability analysis : Iteration No 1 : 100 % completed.
Eigenvalues stability analysis completed.
Stability              : The circuit is stable.

Back to top
 
« Last Edit: Sep 16th, 2010, 8:04pm by pancho_hideboo »  
View Profile WWW Top+Secret Top+Secret   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: Signal exceeds blowup quantity
Reply #21 - Sep 16th, 2010, 10:01am
 
"Results of  PZ Analysis of Cadence Spectre" Quote:
****************
PZ Analysis `pz'
****************
                     Poles (Hz)

          Real                       Imaginary                 Qfactor

  1   -7.87896e+03                  0.00000e+00              5.00000e-01
  2   -1.73549e+09              +/- 2.15048e+09              7.96149e-01
  3   -5.47662e+09                  0.00000e+00              5.00000e-01
  4   -9.44098e+09              +/- 1.16120e+08              5.00038e-01
  5   -1.20469e+10                  0.00000e+00              5.00000e-01
  6   -6.68211e+09              +/- 1.58062e+10              1.28407e+00
  7   -2.35646e+09              +/- 1.72776e+10              3.69994e+00
  8   -1.88534e+10                  0.00000e+00              5.00000e-01
  9   -3.81776e+10                  0.00000e+00              5.00000e-01
 10   -3.88584e+10                  0.00000e+00              5.00000e-01
 11   -2.40787e+10              +/- 4.04759e+10              9.77971e-01
 12    6.58446e+10                  0.00000e+00  **RHP       -5.00000e-01
 13    9.88236e+10                  0.00000e+00  **RHP       -5.00000e-01
 14   -1.41419e+11                  0.00000e+00              5.00000e-01
 15   -6.70474e+11                  0.00000e+00              5.00000e-01
 16   -6.71843e+11                  0.00000e+00              5.00000e-01

                     Zeros (Hz)
                     at V(s1,0)/V1

          Real                       Imaginary                 Qfactor

  1    1.57888e+00              +/- 8.47182e+03              -2.68286e+03
  2   -2.21241e+07                  0.00000e+00              5.00000e-01
  3   -5.47474e+09                  0.00000e+00              5.00000e-01
  4   -9.44452e+09                  0.00000e+00              5.00000e-01
  5   -1.16002e+10                  0.00000e+00              5.00000e-01
  6   -1.22973e+10                  0.00000e+00              5.00000e-01
  7   -1.84450e+09              +/- 1.75446e+10              4.78215e+00
  8   -1.23445e+10              +/- 2.90323e+10              1.27781e+00
  9   -3.45619e+10                  0.00000e+00              5.00000e-01
 10   -3.87240e+10                  0.00000e+00              5.00000e-01
 11   -3.06801e+10              +/- 5.50694e+10              1.02736e+00
 12    8.03933e+10                  0.00000e+00              -5.00000e-01
 13    1.16551e+11                  0.00000e+00              -5.00000e-01
 14   -1.41505e+11                  0.00000e+00              5.00000e-01
 15   -6.70887e+11                  0.00000e+00              5.00000e-01
 16   -6.72587e+11                  0.00000e+00              5.00000e-01

Constant factor =  5.99655e+09

DC gain =  1.35200e-08
Results of Cadence Spectre's PZ Analysis are very suspicious.

(1) Results of poles and zeros are different from results of HSPICE especially for zeros.

(2) Why perfect real axis RHP pole could be reported for this circuit which include R, L and C ?
If circuit is composed of R>0 and L<0 without C, all poles are located on perfect real axis in RHP.

(3) If I set Ka=0.41, 0.42, 0.43, 0.44 and 0.45, Cadence Spectre's PZ Analysis does not report any RHP pole.
However transient Analysis of Cadence Spectre still fail due to "blowup".

On the other hand, Transient Analysis of Agilent GoldenGate can complete even if I set Ka=0.45.
Transient Analysis of Synopsys HSPICE can complete even if I set Ka=1.0.

Even if total system is stable, I think transient analysis could diverge if partial unstabilities are included.
But this could be dependent on algorithm of Transient Analysis.

Ken Kundert wrote on Sep 15th, 2010, 12:21pm:
For example, in this case if you were using only a harmonic balance simulator,
you might have missed the fact that your inductor model is fundamentally flawed.
I agree to this.
As well, we never must not believe only one specific vendor's simulator.
Back to top
 
« Last Edit: Sep 17th, 2010, 7:12am by pancho_hideboo »  
View Profile WWW Top+Secret Top+Secret   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Signal exceeds blowup quantity
Reply #22 - Sep 16th, 2010, 12:59pm
 
Pancho Hideboo,
   What a mess. It does not seem like any of the simulators are doing all that well. I am deeply sceptical of the HSpice results. I have shown that the coupled inductor is not passive, and your argument that the resistors in the circuit might somehow make the circuit stable is dubious. If you combine a resistor with an negative inductor, the resulting circuit is unstable regardless of how large the resistor is. The only way make such a circuit stable is to add a positive inductor in such a way as it swamps out the negative inductor, and that cannot happen here.

What size time step did you use when you simulated the circuit in HSpice transient analysis? To be convinced that HSpice transient analysis really believed the circuit was stable, I would want to perform the simulation with the maximum time step set well below 100fs and I would want to whack the circuit with a very rapid pulse to see if I could excite the unstable response.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: Signal exceeds blowup quantity
Reply #23 - Sep 16th, 2010, 8:08pm
 
Ken Kundert wrote on Sep 16th, 2010, 12:59pm:
If you combine a resistor with an negative inductor, the resulting circuit is unstable regardless of how large the resistor is.
It is true, if circuit is composed of R>0 and L<0 without C, all poles are located on perfect real axis in RHP.

But this circuit include R, L and C.
So why this circuit could create perfect real axis RHP pole ?

Ken Kundert wrote on Sep 16th, 2010, 12:59pm:
What size time step did you use when you simulated the circuit in HSpice transient analysis?
I use default maximum time step determined by print tstep=0.01nsec and stop time=2nsec.

Ken Kundert wrote on Sep 16th, 2010, 12:59pm:
To be convinced that HSpice transient analysis really believed the circuit was stable,
I would want to perform the simulation with the maximum time step set well below 100fs and I would want to whack the circuit with a very rapid pulse to see if I could excite the unstable response.
Later I will post results of HSPICE with setting delmax < 100fsec.

Ken Kundert wrote on Sep 16th, 2010, 12:59pm:
I am deeply sceptical of the HSpice results.
Rather I always feel ill-robustness of Cadence Spectre.

Anyway results of Cadence Spectre's PZ Analysis are very suspicious.
Back to top
 
« Last Edit: Sep 17th, 2010, 7:41am by pancho_hideboo »  
View Profile WWW Top+Secret Top+Secret   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: Signal exceeds blowup quantity
Reply #24 - Sep 17th, 2010, 5:04am
 
Greetings,

  Spectre actually converges when ka=0.75 when using the Liberal error
preset and method=euler. So it seems that convergence is improved
with relaxed accuracy tolerance and lossy integration.

                                                          Best Regards,

                                                            Sheldon
Back to top
 

aho.png
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: Signal exceeds blowup quantity
Reply #25 - Sep 17th, 2010, 7:20am
 
I ran Synopsys HSPICE until 100nsec with setting delmax=10fsec.

As you can see, results of HSPICE don't show any symptom of "blowup", even if I set Ka=1.0.

The following is a Top Netlist for Synopsys HSPICE Quote:
** Generated for: hspiceD
** Generated on: Sep 17 21:10:39 2010
** Design library name: My_RFDE_Test
** Design cell name: test_matteo
** Design view name: schematic
.PARAM prf=0 frf=10G ka='1*1.0' kb='1*0.185' kc='1*0.823'


.PROBE TRAN
+    V(net9)
+    V(s2)
+    V(ct)
+    V(s1)
+    V(p1)
+    V(in)
.TRAN 1e-12 100e-9 START=98e-9
.OPTION DELMAX=10e-15


.OP

.TEMP 25
.OPTION
+    ARTIST=2
+    INGOLD=2
+    MEASOUT=1
+    PARHIER=LOCAL
+    PSF=2
.INCLUDE "~/RFDE/matteo.spi"

** Library name: My_RFDE_Test
** Cell name: test_matteo
** View name: schematic
v1 net9 0 AC 1 SIN 0 '2*sqrt(100*10**((prf-30)/10))' frf
r1 in net9 50
r0 ct 0 100e6
c1 s2 0 200e-15
c0 s1 0 200e-15
c9 in p1 1.5e-12 IC=0.0
c3 in 0 80e-15 IC=0.0
.END

Back to top
 

test_matteo_out_New.png
View Profile WWW Top+Secret Top+Secret   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: Signal exceeds blowup quantity
Reply #26 - Sep 17th, 2010, 7:50am
 
Greetings,

  BTW,  Spectre also converges for ka=1, if you loosen the tolerances
enough: Liberal error preset, Euler integration, lteratio=10.

                                                         Best Regards,

                                                            Sheldon
Back to top
 

ka_1.png
View Profile   IP Logged
.matteo
Community Member
***
Offline



Posts: 51
Padova, Italy
Re: Signal exceeds blowup quantity
Reply #27 - Sep 17th, 2010, 7:59am
 
sheldon wrote on Sep 17th, 2010, 7:50am:
Greetings,

  BTW,  Spectre also converges for ka=1, if you loosen the tolerances
enough: Liberal error preset, Euler integration, lteratio=10.

                                                         Best Regards,

                                                            Sheldon

I think I should never use a Liberal error preset, I don't think is the right way to solve the problem. (What if it really oscillates then? ...)
Back to top
 
 
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: Signal exceeds blowup quantity
Reply #28 - Sep 17th, 2010, 8:07am
 
sheldon wrote on Sep 17th, 2010, 7:50am:
BTW,  Spectre also converges for ka=1, if you loosen the tolerances
enough: Liberal error preset, Euler integration, lteratio=10.
In this case, Cadence Spectre's results are very inaccurate.

Compare the following two.
http://www.designers-guide.org/Forum/Attachments/aho.png
http://www.designers-guide.org/Forum/Attachments/ka_1.png

I can accept results of former.
But in latter, why amplitude of p1 is same as amplitudes of s1 and s2 ?

On the other hand, results of Transient Analysis of Synopsys HSPICE can give completely same amplitude as HB Analysis of Agilent GoldenGate even if I set Ka=1.0.
Back to top
 
 
View Profile WWW Top+Secret Top+Secret   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Signal exceeds blowup quantity
Reply #29 - Sep 17th, 2010, 8:48am
 
Sheldon,
   You are going the wrong way. The circuit is unstable. It should blow up. By using loose tolerances, you are exploiting the tendency of all circuit simulators to suppress time constants that are much smaller than the time step to hide the instability.

Pancho Hideboo,
    I am convinced that the circuit contains a negative inductor and so is unstable. The fact that HSpice results do not exhibit the instability even with a very small time step suggests that it has a serious bug. However, there also seems to be problems in the other simulators as well. In both Spectre and GoldenGate the eigen analyses (pole-zero or stability) disagree with the transient analysis on the presence of unstable poles for at least some values of Ka.

.matteo
    The take away for you is that your inductor is poorly modeled. In general, using a coupling factor of 1 is almost always wrong. Once you come up with a new model for you inductor, you should build the inductance matrix and assure that it is positive definite (or at least diagonally dominant). As far as your choice of simulator, you are probably okay with either Spectre or GoldenGate transient analysis, but I'd be very sceptical of mutual inductors in HSpice and the eigen analyses in Spectre or GoldenGate.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
Pages: 1 2 3 
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.