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. |