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