The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> RF Simulators >> Running transient simulation for oscillators
https://designers-guide.org/forum/YaBB.pl?num=1564596613

Message started by iVenky on Jul 31st, 2019, 11:10am

Title: Running transient simulation for oscillators
Post by iVenky on Jul 31st, 2019, 11:10am

Hi,

I am trying to simulating pulling (not locking) between two LC tanks on cadence so not sure if it's possible to run pss to simulate pulling effects and had to revert to transient sims. I run into a lot of trouble, when I do a transient sim especially when w1-w2 = 2e-4*w1. The ppm difference is so small that when I try to plot the dft (even with sufficient resolution), i see the weird spurs closeby (like 3MHz) that are caused due to instantaneous frequency difference which scales linearly with reltol but this blows up simulation time. Is this expected in general or there is a way to avoid this?


Title: Re: Running transient simulation for oscillators
Post by iVenky on Aug 4th, 2019, 3:45pm

Is it possible to run pss for simulating coupling between two VCOs with a ppm offset (say like 200 ppm)? I see that pss doesn't converge when I attempt to do this (even tried tstab> beat period). Is there anything specific that I should do for simulating pulling behavior if I try to run pss?

Title: Re: Running transient simulation for oscillators
Post by Ken Kundert on Aug 5th, 2019, 2:06am

PSS will not converge unless there is a purely periodic solution. Generally when simulating coupled oscillators the solution is not periodic and so PSS is not suitable. The only exception is when the coupling between the oscillators is so strong that the oscillators are fully entrained.

-Ken

Title: Re: Running transient simulation for oscillators
Post by iVenky on Aug 5th, 2019, 2:59pm

Hi Ken Kundert,

Thanks for the reply. Then if I am interested in plotting the beat frequencies due to "pulling" (not injection locking), then I can only do transient simulation, right? & then plot dft?

One problem with transient is that it seems to have a beat tone by default (attached the envelope of transient signal). Meaning, I see a spur of 3.8MHz for a 9GHz oscillation tone even in the absence of any injection. This seems to be due to numerical inaccuracy as it drops with increase in reltol. Is this expected in general?


Title: Re: Running transient simulation for oscillators
Post by Ken Kundert on Aug 5th, 2019, 3:50pm


Quote:
Thanks for the reply. Then if I am interested in plotting the beat frequencies due to "pulling" (not injection locking), then I can only do transient simulation, right? & then plot dft?
Correct


Quote:
One problem with transient is that it seems to have a beat tone by default (attached the envelope of transient signal). Meaning, I see a spur of 3.8MHz for a 9GHz oscillation tone even in the absence of any injection. This seems to be due to numerical inaccuracy as it drops with increase in reltol. Is this expected in general?
Yes. The issue is that the simulation algorithms are reacting to the large signals, meaning that the errors that are created are not independent of the signals, but are being modulated by the signals.

Behzad Razavi published a rather famous rant about this in "A Study of Phase  Noise in CMOS Oscillators" (JSSC 3/96). It is a particular frustration of mine as I came up with a solution to the problem and presented to all of the companies that are producing simulators for analog/RF ICs and they were all uninterested, saying that their customers seemed happy with the accuracy of their DFT results.

As a user it is quite difficult to eliminate this error. I think your best option is to leave reltol to something reasonable and instead shrink maxstep. This should reduce the largest source of this error.

I hesitate to make this recommendation as I find designers can overuse such advice. Normally controlling accuracy using maxstep is a very poor approach, but in this very specific case, it may be your best option.

-Ken

Title: Re: Running transient simulation for oscillators
Post by iVenky on Aug 5th, 2019, 4:13pm

Hi Ken Kundert,

Thank you very much for the reply, I really appreciate it.

I also observe that enabling transient noise option gets rid off this spur (do you expect this?), but I don't observe pulling spurs too & the spectrum looks clean without spurs even in the presence of pulling, which is weird.

Title: Re: Running transient simulation for oscillators
Post by Ken Kundert on Aug 5th, 2019, 6:44pm

A well-designed transient noise should should shrink the time step in order to render white noise sources properly.  This is one of several reasons I would typically avoid transient noise as a well designed transient noise should be slow. However, as a side effect, if they do shrink the step, it should help with your problem. Even if they are not shrinking the time step, injecting randomness into the system would act to obscure the modulation effects, and so would likely reduce and obscure the beat tone you are seeing.

-Ken

Title: Re: Running transient simulation for oscillators
Post by iVenky on Aug 6th, 2019, 11:56am

Hi Ken Kundert,

Thanks for the reply.

For some reason, I see that I don't observe pulling effects when I use "mind" in analog lib to model mutual inductance.
On the other hand, if I do see pulling effects when I use the equivalent transformer circuit (shown on the right side). (L1=L2)

I ran some independent sims (like ac sims) for the transformer to verify the equivalent model, and they are the same.



Title: Re: Running transient simulation for oscillators
Post by Ken Kundert on Aug 6th, 2019, 12:21pm

It is just a coincidence. Because you are being plagued by small simulation errors, small seeming inconsequential changes to the circuit or the simulator settings can effect the results in unexpected ways, but I believe you will find them very fragile.

-Ken

Title: Re: Running transient simulation for oscillators
Post by iVenky on Aug 6th, 2019, 3:22pm

Hi Ken Kundert,

Thanks for the reply. So it's possible that the pulling spurs results that I am seeing aren't right at all?

Title: Re: Running transient simulation for oscillators
Post by Ken Kundert on Aug 6th, 2019, 9:12pm

It is possible, but I don't know how likely the chances are either way. For me to be able to say with any certainty one way or another I would need to be running simulations myself so that I could do detailed experiments.

The question you are asking is, is it possible that there are patterns in the error made in the simulation that mimic a plausible signal. Yes, that is possible. Is it happening in this case, I have no idea.

-Ken

Title: Re: Running transient simulation for oscillators
Post by iVenky on Aug 9th, 2019, 2:27pm

Hi Ken,

Thanks for the reply. I am wondering about another question. I am not sure if this is the right thread. We can have pulling due to parasitic current coupling that can be modeled using a vccs source or we could have due to magnetic coupling 'k' between inductors. Is the injection strength defined as Iinj/Iosc in the vccs case the same as 'k' defined as M/sqrt(L1L2) between the inductors?

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