Home > Community > Blogs > RF Design > mmsim12 1 speed up transient analysis of crystal oscillators
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more convenient.

Register | Membership benefits
Get email delivery of the RF Design blog (individual posts).


* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

Simulating Crystal Oscillators is Much Easier in MMSIM12.1 - Part 2

Comments(3)Filed under: RF design, Circuit design, Virtuoso Spectre, Virtuoso Spectre Simulator GXL, Spectre, Spectre RF, Virtuoso Spectre Simulator XL, spectreRF, VCO, MMSIM, Circuit simulation, RF Simulation, Analog Simulation, ADE, RF, analysis, APS, simulation, Oscillator, analog, HB, analog/RF, MMSIM 12.1, crystal oscillator


Simulating crystal oscillators got a lot easier in MMSIM12.1...We have made enhancements to both Harmonic Balance and transient analyses.

In Part 1, I discussed Improvements to the Harmonic Balance use model.  With the new streamlined Choosing Analyses form, you now can focus on getting your simulation results, rather than the setup of the analysis.

Now, in Part 2, I'll cover Improvements to transient analysis.  We’ve added a new feature to transient analysis that allows you to reach steady state more quickly should you decide to simulate your crystal oscillator using transient analysis.

Important: Be sure to use IC615 ISR14 or later to see the new MMSIM12.1 features in the GUI.

Part 2: Spectre Transient Analysis Enhancement

Here is the new method that you can use to speed up transient analyses of crystal oscillators.

Simulating crystal oscillators can be painful in transient analysis – it can take a long time to reach steady state. In response to customer requests, we have enhanced Spectre transient analysis (tran) to calculate the initial conditions for rapid oscillator startup. The following two parameters have been added to the transient analysis:

linearic: Enables the linear IC method to calculate the initial conditions automatically from a type of stability analysis in the range [0.5*oscfreq, 1.5*oscfreq]. The linearic parameter overrides the user-defined initial conditions, if instability is detected.

oscfreq: Provides an estimation of the oscillation frequency when linear IC method is enabled.

First, we’ll simulate without using the new parameters…then we’ll add them in and show the difference.

· Set up a transient analysis in the Choosing Analyses form:

· Set the stop time to 10K periods of oscillation - in this case, 1m (1 millisecond).

· For crystal oscillators, I always use errpreset = conservative.

tran analysis

· Click on the Apply button. Then click on the Options button.

Set the following transient analysis options:

· Set the Time Step parameter maxstep to about 20 timepoints per period. Note that Spectre accepts expressions (see the form below), which simplifies things for you.

tran options1

Set the following Algorithm Parameters:

· For Integration Method, select traponly. By default, when errpreset=conservative, the integration method is gear2only. However, gear2only can dampen oscillations and shouldn’t be used – you want your oscillator to oscillate! So, I recommend using either trap or traponly when simulating crystal oscillators.

· Set Accuracy Parameter relref to alllocal. Note that this is one of the options that are set by default when you select errpreset=conservative.

· Leave all of the other parameters at their default values.

tran options 2

For more information on the transient parameters, type spectre -h transient in an xterm window.

· OK the Transient Options form. OK the Transient analysis form.

· Run the analysis (Simulation->Run or green arrow green light).

The transient analysis output is shown below. Access the results by selecting Results – Direct Plot – Main Form, select tran in the Analysis section, voltage in the Function section, and select the resonator net in the Schematic).

tran response

Note that in 10K cycles, this oscillator is still ramping up – it will take quite a while to start. The peak voltage is approximately 1.47V (yes, that is volts, not KV).

As a comparison: Since we know that harmonic balance solves for the periodic steady state solution, we can use this as a check. How far away from steady state are the above transient analysis results? We will look at the transient assisted (tstab) and steady state waveforms from a harmonic balance simulation. Below is the tstab waveform (Transient assisted waveform) from the harmonic balance analysis:

hb tran response

Note that the peak voltage is about 900V. Compare this to the transient output voltage from previous simulation where the voltage was on the order of 1.47V. This is quite a significant difference.

Harmonic balance simulates to convergence and the ifft (inverse fast Fourier transform) is plotted below.

hb periodic steady state

Notice that the actual peak voltage at steady state is about 1.3KV. This is significantly larger in amplitude compared to the transient analysis. You can see that we have a ways to go before reaching steady state in the transient analysis.

Now, we’ll use the two new transient parameters linearic and oscfreq.

· In the transient options form, select the misc tab. At the bottom of the form in the Additional Parameters section, you see a type-in field called additionalParams.

tran misc options

· In that field, type linearic=yes oscfreq=<actual_oscillator_freq>. Here, the actual_osc_freq is 10M.

· Note the space between the two keyword=value pairs. This is needed to separate the statements.

· Now re-run the simulation for 10ms, and plot the transient waveform.

two osc startup waveforms

· The output of the transient analysis without specifying linearic and oscfreq is above in green. The voltage is at roughly 1.5 volts and is nowhere near steady state at 10ms.

· The output of the transient analysis using linearic=yes oscfreq=10M is in orange. Steady state was reached in approximately 3ms. Note that the voltage starts at about 900 Volts peak and at steady state is approximately 1.3kV.


We have enhanced transient analysis to improve convergence. When using the new transient options linearic and oscfreq, transient analysis starts with a solution closer to the steady state value, and the transient simulation converges much faster. Although you do need to do some typing (filling in of fields), in the end the time saving is well worth it.

Have fun simulating!

Best regards,



By yizh on January 3, 2013
It doesn't work for me :-(
This is what I see:Warning from spectre during transient analysis `tran'.
   WARNING: Linear IC: Fail to find out initial frequency. [ Early Reject ]
Can't find linear initial condition. Running transient from DC with the specified initial conditions.                      Can you contact me privately about it?            

By bharath kumar on September 26, 2013
Hi Tawna, This feature is exciting . One question I have is if we use linearic = yes and give approximate oscfreq is there any chance that even the oscillator closed loop gain is less than 0dB(but close to 0dB) and circuit shows that it will oscillate.Bharath

By creditreports on October 3, 2013
e have enhanced transient analysis to improve convergence. When using the new transient options linearic and oscfreq, transient analysis starts with a solution closer to the steady

Leave a Comment

E-mail (will not be published)
 I have read and agree to the Terms of use and Community Guidelines.
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.