Hi, I was not sure whether to ask this in <#C017P3...
# analog-design
k
Hi, I was not sure whether to ask this in #xschem or #ngspice, is there something equivalent to transient noise in ngspice/Xschem or xyce/Xschem for simulating oscillators ? So far I have used
.ic
statements to set nodes to either
gnd
or
vdd
to start an oscillation. But I am getting some weird results in a cross coupled oscillator I am trying to design. Do the SKY130 models include noise by default i.e. I shouldn't have to use
.ic
statements or do I have to manually add a noise voltage source in the circuit ? In this design
DIFF_OUT_N
seems to have a "stable" oscillation whereas
DIFF_OUT_P
continues to grow exponentially when I set the former to 1.8V. From what I can tell the design satisfies Barkhausen's criteria since the product of gain of both the stages is greater than or equal to one.
l
The best way to initialize a LC VCO is with a current pulse, not an initial voltage. I guess that series resistance could be better for the simulator to model the inductor quality factor. You should model the coupling between the inductors also. As far as I know, it's common to use two coils sharing the same area.
k
@Luis Henrique Rodovalho I have not studied about how to control oscillators yet. I have just read some basics from Prof Razavi's book. Could you please tell me, where/which node should I push/pull the current pulse to/from?
l
You should insert the current pulse source between the two outputs. Try to use a better modeled voltage source, with a series resistance. This should prevent the output signal amplitude to increase indefinitely, as it limits the supply current.
s
If you design an oscillator it will do its best to stay stable. If you design a compensated feedback amplifier it will always oscillate. /s
d
As the saying goes "my amplifiers will but my oscillators won't"😀