I am trying to simulate phase noise of a VCO using Hspice and Spice.
How can I do it? Thank you.
One way that it could be done is to introduce noise current
source PWL data statements at each node of the VCO ring included as a
data file.
The PWL data statements should be generated from a random noise
generator
using C or Matlab progam and each noise source should be uncorrelated
with the other sources. So if you are using a 3 stage differential
ring VCO you need 6 I statements. The RMS value of the noise
current could be obtained by determining the equivalent thermal
noise current from the transistor that switches. Use the
formula for noise from Gray&Meyer book (inoise_thermal=(8/3)k*T*gm)
for a transistor in saturation).
That said, even the above method is approximate/crude, since
the noise current of the transistor is 'time-varying' i.e. depends
upon its operating point. So the RMS noise current value will be
different at each
time-point as the transistor switches from linear to saturation.
Regards,
Subhajit