The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design >> RF Design >> oscillation amplitude is driven to Giga V?
https://designers-guide.org/forum/YaBB.pl?num=1154724323

Message started by Aigneryu on Aug 4th, 2006, 1:45pm

Title: oscillation amplitude is driven to Giga V?
Post by Aigneryu on Aug 4th, 2006, 1:45pm

I am using a quite complicated inductor model for a center-tapped symmetrical inductor.
It is used in a conventional cross-coupled CMOS VCO. The mos model is BSIM4 from UMC90nm technology,
and the  inductor model is attached below:

simulator lang=spectre
subckt ind_diff (plus minus tap gnd)
parameters  \
P0=(-3.298297e-04) \
P1=0.5*(P0+sqrt(P0*P0+1)) \
P2=1e-09*P1 \
P3=1e-09*P1 \
P4=7.012202e+00 \
P5=0.5*(P4+sqrt(P4*P4+1)) \
P6=8.471033e-02 \
P7=0.5*(atan(2*P6)/1.5708+1) \
P8=(-4.377874e+01) \
P9=0.5*(P8+sqrt(P8*P8+1)) \
P10=1e-09*P9 \
P11=(-2.751936e+01) \
P12=0.5*(P11+sqrt(P11*P11+1)) \
P13=1e-09*P12 \
P14=(-2.625063e-02) \
P15=0.5*(P14+sqrt(P14*P14+1)) \
P16=1e-09*P15 \
P17=1e-09*P15 \
P18=1.801767e+00 \
P19=0.5*(P18+sqrt(P18*P18+1)) \
P20=1.124000e+00 \
P21=0.5*(atan(2*P20)/1.5708+1) \
P22=(-8.181058e+00) \
P23=0.5*(P22+sqrt(P22*P22+1)) \
P24=1e-09*P23 \
P25=(-2.707053e+01) \
P26=0.5*(P25+sqrt(P25*P25+1)) \
P27=1e-09*P26 \
P28=5.103442e-02 \
P29=0.5*(atan(2*P28)/1.5708+1) \
P30=9.859815e-02 \
P31=0.5*(P30+sqrt(P30*P30+1)) \
P32=1e-09*P31 \
P33=1e-09*P31 \
P34=1e-06 \
P35=1.582976e+02 \
P36=0.5*(P35+sqrt(P35*P35+1)) \
P37=1e-15*P36 \
P38=9.060465e+01 \
P39=0.5*(P38+sqrt(P38*P38+1)) \
P40=5.624218e+02 \
P41=0.5*(P40+sqrt(P40*P40+1)) \
P42=3.429708e+02 \
P43=0.5*(P42+sqrt(P42*P42+1)) \
P44=1e-15*P39 \
P45=1e-15*P43 \
P46=1e-15*P39 \
P47=1e-15*P43 \
P48=(-9.586872e+01) \
P49=0.5*(P48+sqrt(P48*P48+1)) \
P50=1.151642e+01 \
P51=0.5*(P50+sqrt(P50*P50+1)) \
P52=1e-15*P51
l1_sect1 (plus _n1i_sect1) inductor l=P2
l2_sect1 (_n2i_sect1 minus) inductor l=P3
r1_sect1 (_n1i_sect1 _n_sect1) resistor r=P5
r2_sect1 (_n_sect1 _n2i_sect1) resistor r=P5
k12_sect1 mutual_inductor coupling=P7 ind1=l1_sect1 ind2=l2_sect1
lc_sect1 (_nc_sect1 tap) inductor l=P10
rc_sect1 (_n_sect1 _nc_sect1) resistor r=P13
l1_sect2 (plus _n1i_sect2) inductor l=P16
l2_sect2 (_n2i_sect2 minus) inductor l=P17
r1_sect2 (_n1i_sect2 _n_sect2) resistor r=P19
r2_sect2 (_n_sect2 _n2i_sect2) resistor r=P19
k12_sect2 mutual_inductor coupling=P21 ind1=l1_sect2 ind2=l2_sect2
lc_sect2 (_nc_sect2 tap) inductor l=P24
rc_sect2 (_n_sect2 _nc_sect2) resistor r=P27
ks1s2_1 mutual_inductor coupling=P29 ind1=l1_sect1 ind2=l1_sect2
ks1s2_2 mutual_inductor coupling=P29 ind1=l2_sect1 ind2=l2_sect2
lx1 (_n1i_sect1 _nx1) inductor l=P32
lx2 (_n2i_sect1 _nx2) inductor l=P33
rx1 (_nx1 _n1i_sect2) resistor r=P34
rx2 (_nx2 _n2i_sect2) resistor r=P34
c12 (plus minus) capacitor c=P37
c_1_sub (plus _n1_1_sub) capacitor c=P44
rs_1_sub (_n1_1_sub gnd) resistor r=P41
cs_1_sub (_n1_1_sub gnd) capacitor c=P45
c_2_sub (minus _n1_2_sub) capacitor c=P46
rs_2_sub (_n1_2_sub gnd) resistor r=P41
cs_2_sub (_n1_2_sub gnd) capacitor c=P47
rx_1_2_sub (_n1_1_sub _n1_2_sub) resistor r=P49
cx_1_2_sub (_n1_1_sub _n1_2_sub) capacitor c=P52
ends ind_diff


Actually this model has mutual inductances in a wide range.
This inductor works well in AC/DC simulation, but fails in transient/PSS.
Simpler inductor model works fine with the MOS transistor.
I am not sure which one is the cause for the divergence problem in
spectre computation. Did anybody faced such kind
of problem before?

Or is there any guideline to suppress this problem.

Title: Re: oscillation amplitude is driven to Giga V?
Post by Ken Kundert on Aug 9th, 2006, 9:35pm

Your inductor is probably not passive. That would cause the voltages to explode. The inductance matrix must be positive definite for your inductor to be passive.

-Ken

Title: Re: oscillation amplitude is driven to Giga V?
Post by Aigneryu on Aug 10th, 2006, 12:21pm

Thank you Ken,

Can you give me a hint how to check the inductance matrix?
I mean, is it possible finding out the suspect elements by viewing the simulation log?

Title: Re: oscillation amplitude is driven to Giga V?
Post by David Lee on Aug 10th, 2006, 1:47pm

First, try removing all mutual inductors and see if problem goes away. If problem is due to mutual inductors, reduce the coupling coefficients.

Title: Re: oscillation amplitude is driven to Giga V?
Post by loose-electron on Aug 10th, 2006, 11:20pm

In addition to simplifying the inductor model, you might want to be aware that the UMC transistor models really are not that good, especially when it comes to how they distribute their capacitance.

I don't care if they use BSIM999.97, if the numbers in the model are off, the model falls apart.


Title: Re: oscillation amplitude is driven to Giga V?
Post by byang on Sep 25th, 2006, 11:02pm

This old problem might have been solved. Still I would like to post my findings. I tried to run this inductor model using a simulator. Indeed, the model is not passive.

There are negative eigenvalues in the transient circuit simulation matrix, which can lead to convergence problems. From my analysis, the problem is related with the combined effect of the mutual inductors.

Baolin

Title: Re: oscillation amplitude is driven to Giga V?
Post by byang on Sep 25th, 2006, 11:45pm

Because of a negative sign before the circuit Jacobian matrix, the positive eigenvalue I was talking about is really negative eigenvalue. Just want to clarify.

Baolin

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