I a trying to simulate a cross coupled LC oscíllator using the components from the pdk provider (ST microelectronics) in my case. Ths issue I am facing is kind of confusing me that is the oscillator does not start oscillating if I attach a series resistor with the caps(the resistor is to model the loses in the caps, which themselves are not ideal in this case). Even if I use a 1 Ohm series resitor the oscillator would not start oscillating.
So far I have tried the following to get around the issue without success
1) Using the different errprest as suggested by Mr. Andrew Beckett does not help.
2) I have also tried forcing initial conditions on the circuit like tying the complementary nodes to vss and vdd during initial conditions but still no.
3) Adding noise contribution from mos devices and turing on the transient noise.
4) Injecting an ideal sine-wave of the same frequency but smaller amplitude into the osillating nodes (complementary ofcourse) as suggested by Ken Kundert in one of documents but no help.
5) Ramping up the supplies isn't helpful either.
6) Setting the Tmax to 25 times the oscillation period as suggested in some documents doesn't help either.
Can anyone please suggest some alternate ways or a work around this issue. The inductor has a Q of 13 where as the capaciotrs have a Q of around 80, So I guess adding a 1 ohm series resistance should be that disastrous.
I am using IC6.1.5-64b.72 with MMSIM10.1.
Are you sure this is not a circuit issue, i.e. not satisfying startup conditions?
In reply to tkhan:
Many thanks for the reply tkhan I think I have it right at least theoratically the values are satisfied as mentioned in Ali Hajmiri's paper that the negative resisitance contribution from the active devices(PMOS+NMOS) should be 3 times the inductor losses gL( for a Q of 13 this comes out to be 2.9mS @ 2.1GHz) and I have a gactive of 4.5mS (gactive = gmn+gmp/2) using the realtions from the paper
gactive >= a_min * gL/2
this conditon is satisfied and the oscillator should start-up.
One thing might be that in the above calculations I have considered loses in the inductor to be dominant but I am not sure what is the reliable way of calculating the Q of the varactors
In reply to MTP3:
Have you considered filing a Service Request with Cadence Customer Support?
In my experience, it's either a design issue....or....the oscillator isn't getting properly started.
You didn't mention what analysis you are running. This is a pretty good solution if you are using SpectreRF. You must be a Cadence customer on Maintenance to view this.
11534912 (COS) Recommended setup for running PSS on Voltage Controlled Crystal Oscillators (VCXO)
Sr. Staff Support AE, Global Customer Support
Cadence Design Systems, Inc.
In reply to Tawna:
Many thanks for the reply Tawna. I am trying the a transient analysis just to see if the oscillator starts up or not. Please correct me if I am wrong but doing a PSS also requires some kind of transient run, is it so?.
If your oscillator isn’t even starting up…then that suggests one of two things.
You may want to check The Designer’s Guide to Spice and Spectre by Ken Kundert. There is a good section on starting oscillators.
Also, please take a look at this document: Virtuoso Spectre Circuit Simulator RF Analysis Theory -- Oscillators and Autonomous PSS Analysis
“When applying PSS analysis to oscillators, you need to start the oscillator, just as you would if you were simulating the turn-on transient of the oscillator using transient analysis. The Designer's Guide to Spice and Spectre [kundert95] describes in some depth techniques for starting oscillators.
In summary, there are two techniques for starting oscillators, using initial conditions, or using a brief impulsive stimulus. Initial conditions would be provided for the components of the oscillator's resonator. If an impulsive stimulus is used, it should be applied so as to couple strongly into the oscillatory mode of the circuit, and poorly into any other long-lasting modes, such as those associated with bias circuitry.
Either way, after the trigger is applied to start the oscillator, it is important to allow the oscillator to run for a while before the shooting methods are applied to compute the steady-state result. To do so, specify an additional stabilization interval using the tstab parameter. In practice, an additional stabilization interval often improves convergence, especially when simulating high-Q oscillators.”
(Note: For your particular circuit, I recommend Harmonic Balance rather than the Shooting Newton engine.)
Then it goes on to discuss convergence issues and methods to start your oscillator. There are some really important points here. Rather than copy verbatim to the Forum, please read that chapter, specifically the section on Convergence Issues with Autonomous PSS Analysis. It goes through different settings that will assist in getting the oscillator to start.
Another item to look at:
Virtuoso Spectre Circuit Simulator and Accelerated Parallel Simulator RF Analysis User Guide -- Frequency Domain Analyses: Harmonic Balance
One other thing to try is set an initial condition on your oscillator node.
missed this in your first post. What does the output waveform look like with an initial condition? Does the oscillation decay or not start at all? Are you pulling enough current to sustain oscillation?
Many thanks for the replies tkhan and Tawna. Thanks for the documents I will go through them and will update about the progress.
Many thanks for the advice tkhan and Tawna. So some updates about the circuits. I have manged to startup the oscillator with some redesigning of the circuit (I basically had to increase the negative resistance contribution of the feedback transistors). I think the issue(probably) was that the loses in the varactors were not negligible.
So , I started to other varactor structures and this is where the new issue pops up. I am testing a pmos varactor (two pmos transistors with Source=Bulk=Drain, shown at link below ). The gates are connected to the oscillator nodes and control bit is connected to S-B-D terminal. When I try to measure the series resitance of the structure it comes out tp be very very small in the order of uOhm (even nOhm in some cases). I am not sure as to why I see this behaviour. It would be great it you could advise is my setup correct or am I doing something wrong.
P.S. The serires resistance is measured by placing a DC source and OscP and keeping the OscN at the same DC level(with ac level set to 1 at OscN) do an AC simulation and get the impedenace and then simply taking its real part should give the resistance as by definition Z=R+jXc. I must point out that the sp analysis gives similar results.