[SI-LIST] Re: crystal oscillator spice simulation

  • From: "Andrew Ingraham" <a.ingraham@xxxxxxxx>
  • To: "si-list" <si-list@xxxxxxxxxxxxx>
  • Date: Fri, 6 Oct 2006 07:59:25 -0400

> I'm involved in characterizing crystal oscillator cell (available as
> netlist). I thought of putting the equivalent circuit of crystal and
> package parasitics and simulate it, for finding the frequency deviations
> in all process corners.

That works only if your equivalent circuit includes all variations that you
are interested in observing.  Many SPICE netlists are not meant to show all
process corners (especially skewed ones), effects of temperature and voltage
variations, etc.

> I'd used some kick start for inductor by initializing it with some
> current. Does it represent the realtime situations. Or should we
> have to insert noise into the oscillator, which mimics actual scenario.

Well, kick-starting the oscillator by external means is not "realistic"
unless that actually happens.  Oscillator start-up is often initiated by
power supply ramp-up, but even if that doesn't do it, noise would do the
trick.  Whether you want to wait that long, or if you even need to observe
that happening, is another matter.  If all you want to do is see it already
running, then it doesn't really matter how you got it there in your
simulation.

> Why people say it takes much time to simulate, convergence issues etc.

Let's say it's a 100 MHz oscillator and it takes 100 ms to start up and
stabilize.  That's 10 million cycles.  Might approach a billion timepoints
that SPICE needs to solve.  That's why it takes so long.

Also remember that crystals are very high Q devices, which also means long
settling times.

Unless you need to observe this lengthy start-up behavior, most people skip
that part and kick-start the oscillator (perhaps with initial conditions)
and let it go from there.  The trick is getting the initial conditions
right, otherwise you may still be observing how the oscillator would behave
without having stabilized yet.  The only way to know that it's stabilized,
is to do very long simulations.  (In your case, change ".tran 0.01n 0.3u" to
something like ".tran 0.01n 0.3" and hope you don't run out of memory or
disk.)

Regards,
Andy


------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

or to administer your membership from a web page, go to:
//www.freelists.org/webpage/si-list

For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field

List FAQ wiki page is located at:
                http://si-list.org/wiki/wiki.pl?Si-List_FAQ

List technical documents are available at:
                http://www.si-list.org

List archives are viewable at:     
                //www.freelists.org/archives/si-list
or at our remote archives:
                http://groups.yahoo.com/group/si-list/messages
Old (prior to June 6, 2001) list archives are viewable at:
                http://www.qsl.net/wb6tpu
  

Other related posts: