The Cadence Academic Network helps build strong relationships between academia and industry, and promotes the proliferation of leading-edge technologies and methodologies at universities renowned for their engineering and design excellence.

A huge knowledge exchange platform for academia to network with industry. We are looking for academic speakers to talk about their research to the industry attendees at the Academic Track at CDNLive EMEA and Silicon Valley.

Share

Custom IC Design Forums

Open loop gain and open loop phase for an oscillator

Started by Pictou on 27 Mar 2013 4:24 AM. Topic has 18 replies and 58474 views.
Last post on 4 Apr 2013 2:58 AM by Pictou.

Hello,

I'm designing an oscillator with a quartz (Pierce model). The circuit is basically an amplifier and the quartz. I would like to measure the open loop gain and phase however I'm not sure about the method.

First method I tried is the following :

I disconnected the loop at the gate of the MOS amplifier inverter. Put a vac source and set the AC amplitude to 1V.I copied the schematic of the amplifier and pasted it at the output of the crystal, this way the crystal will see the same load as if it was in closed-loop. Then I measure the gain at the output of the crystal using a HB analysis.

Second method is :

I used the middlebrook analysis, which is stb in cadence. However I'm skeptical about this method as stb is to check the stability of the system. And, as I'm using an oscillator, I'm not supposed to be stable. However I'm still measuring an open loop gain and phase with stb analysis.

My question is which method is correct? I really have no idea on how to answer that question, so I'm here.

18 Replies

I would recommend that you use a negative resistance analysis in lieu of the methods you are proposing. It is far more intutive and allows one to examine the impact of using different crystal units. The method can be used for both large and small signal simulations and substitues a current source for the quartz crystal unit to examine the impedance the quartz unit experiences in the Pierce oscillator.

I would certainly not recommend using the first method that was proposed of opening the loop. The stb analysis however useful (it's not quite the same as Middlebrook, but shares some similarities). It is not measuring "open loop" gain and phase, but actually the loop gain and phase (the loop is not opened with this analysis, so it can't give you the open loop gain).

For an oscillator which has significant large signal behaviour, stb may not be appropriate - pstb may be better.

You might want to take a look at <MMSIMinstDir>/tools/spectre/examples/SpectreRF_workshop and the file PstbAN.pdf (there's also a database to try out, Pstb.tar.Z). This covers using Periodic Stability on an oscillator, and comparing it with stb (for an oscillator which is not that linear).

Breaking the loop in a feedback system (particularly if there is high gain) means that you have to work quite hard to ensure that the operating point is correct - small offsets in the system could mean that your amplifier hits the rails and so the operating point is not correct, and hence the AC response is wrong (well, it's the small signal AC response about the wrong bias point). People traditionally have either used large inductors/capacitors to keep the loop closed during the DC analysis/low frequency to get the operating point correct, and then open during the small-signal AC analysis. The problem with that is that the L anc C can then interfere with your circuit.

The other approach is to use spectre's switch component (spt1switch in analog) to ideally close the loop during DC analysis and ideally open it during AC. The downside here is that you still have to get the loading of the loop correct when open, so you end up replicating the circuit - and sometimes this is really tough, particularly when the loading is dependent upon the precise condition of the loop.

So the stb analysis should give you a more accurate answer, and is massively easier to use, than either of the above two approaches used to open the loop.

I'm experiencing some troubles with the PSTB analysis. In the example it says that I need to run a PSS first, however my PSS does not converge (even with a 10mS extra time to stabilize). I was wondering if there was another way.

You have to use PSS before PSTB - you'll need to give more information (such as the spectre output log) to be able to determine why your PSS is not converging. Maybe going via customer support would be a good idea so that we can take a proper look?

I must admit that it must be hard to help me while I give you vague answers.

I don't know how to use the customer support, as an intern I'm not even sure I can use it, I will ask my manager as soon as possible.

Meanwhile I'm focusing more on the negative resistance approach, do you know if I can find a tutorial for this approach using CADENCE?

From what I understood, I need to replace the quartz model by a current source. The voltage drop across the current source will give me an impedance, then I should be able to extract the negative resistance from the impedance I'm reading. Am I correct? (I still need to study this method to fully understand but I think it's the broad idea).

This technique is independent of Cadence and can be used with any circuit simulator or circuit analysis.

Your concept is correct. I would recommend placing the C0 of the quartz model and the parasitics on each pad in your oscillator amplifier. In other words, place the current source across the two the input terminals of the oscillating amplifier where the two terminals of the quartz crystal unit are normally placed. Remove the quartz crystal unit mode, but include the C0 of the resonator and any parasitics on either side of the quartz crystal unit (due to board, pads, etc). Assuming the DC operating point forces the oscillating amplifier into its high gain region, the real part of the resulting voltage response using an AC value of 1 A in the current source will illustrate the "negative resistance" charactersitic of the oscillating amplifier as a function of frequency. The imaginary part provides an estimate of the reactance of the oscillating amplifier. From the real part, and knowing the range of quartz crystal unit series resistance, by inspection you can tell if sufficient gain exists to support oscillation. The gain is the absolute value of the negative resistance over the quartz crystal unit's series resistance. If there were no non-linear effects, which is not the case as the oscillator relies on those to limit the amplitude of oscillation, the exact frequency of oscillation could be determined by solving the equation Xamp + Xresonator = 0 where Xamp is the reactance of the oscillating amplifier and Xresonator is the sum of the Ls and Cs reactances of the quartz crystal unit.

So I replaced the crystal with a current source, I added the shunt capacitor and the load capacitors. I used an AC analysis around my oscillation frequency and I plotted the real part of the voltage drop across the current source

My result is -881Ohm at Fosc (40MHz), my gain is then equal to : 880/R1 (which is 21.58), 880/21.58 = 41.

My question is the following, I found on the internet that the result should be around 4-8 times the motional resistance R1, am I not a little too high?

How should I assess this result? What can I say about it?

I think that this result means that if I wanted my oscillator to oscillate at 40MHz, I could do it because I have enough gain. Am I correct?

Thank you very much for your help.

EDIT : My colleage asked me a question that I couldn't answer to. Why is the gain the ratio between the negative resistance and the motional resistance? Thank you.

Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'. WARNING (CMI-2682): N30: The bulk-drain junction forward bias voltage (12.061 V) exceeds `VjdmFwd' = 1.05687 V. The results are now incorrect because the junction current model has been linearized

Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'. WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'. WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'. WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'. WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'. WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties. Further occurrences of this warning will be suppressed.

Zero diagonal found in Jacobian at `net011' and `net011'.Zero diagonal found in Jacobian at `net011' and `net011'.Zero diagonal found in Jacobian at `net011' and `net011'.

Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'. WARNING (SPECTRE-16191): Minimum time step used. Solution might be in error.Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'. WARNING (SPECTRE-16191): Minimum time step used. Solution might be in error.Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'. WARNING (SPECTRE-16191): Minimum time step used. Solution might be in error.Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'. WARNING (SPECTRE-16191): Minimum time step used. Solution might be in error.

You are asking a number of questions that are really outside the scope of this forum I think - but I will let Andrew make that judgement. The questions are really appropriate for a forum on quartz oscillator design. Nevertheless, I will provide my insights since I do quartz oscillator design,

I'm not sure if my results are correct or not.

I examined your simulation schematic and it appears you are following the methdology correctly - very good! However, your schematic suggests you are using a value of 750 fF for the quartz crystal unit C0. This is a very low value and I think it may not be correct, Most quartz crystal units in the 40 MHz range will have a C0 (which includes both the capacitance of the resonator and the packaging and board) in the range of 2 pf to 5 pf. The vendor will usually specify its value on the data sheet (without your board parasitic) - but it is usually specified as a value far in excess of the value for any speciifc frequency. Often, you need to contact the vendor to get the specific value for the frequency and package type of interest. The value of C0 will significantly impact the value of negative resistance you simulate at 40 MHz. Hence, I suspect the -880 ohm value you observed will be less in absolute value when the proper value of C0 is used.

My result is -881Ohm at Fosc (40MHz), my gain is then equal to : 880/R1 (which is 21.58), 880/21.58 = 41.

My question is the following, I found on the internet that the result should be around 4-8 times the motional resistance R1, am I not a little too high?

How should I assess this result? What can I say about it?

I think that this result means that if I wanted my
oscillator to oscillate at 40MHz, I could do it because I have enough
gain. Am I correct?

Your basic calculation methodology for oscillator open loop gain is correct for the specific simulation you performed.

First, I do not know if you have considered what the minimum absolute value of negative resistance is over all process, supply voltage, and temperature conditions. I also noted that you appear to bias one transistor with an ideal voltage source. If you are trying to determine the minimum absolute value of negative resistance, you must examine all cases and exclude ideal bias elements. As mentioned above, I think if you use a more realistic value of C0, this will also significantly reduce the magnitude of your measured negative resistance at 40 MHz.

Second, there are many other considerations that one must weigh when choosing the proper value of negative resistance. A rule of thumb is not appropriate. For example, how does the negative resistance saturate as the amplitude of oscillation increases? How temperature and voltage sensitive is the negative resistance? How much quartz crystal resonator drive level sensitivity exists? How much frequency trim capacitance is required and how does that impact negative resistance? Hence, you need to answer these questions to determine how much margin is required for your circuit.

EDIT : My colleage asked me a question that I couldn't answer to. Why is the gain the ratio between the negative resistance and the motional resistance? Thank you.

I think my answer to this is outside the scope of this forum. Andrew, if you feel otherwise, I will respond.

I believe you as a minimum need to set errpreset to "conservative" and possibly set maxstep to at most 0.25 ps ( (1/40 MHz)/100 = 25 ns/100). If this is a quartz crystal unit based oscillator, this is a stiff set of equations and the numerical accuracy requirements are rather severe.

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.