• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. RF Design
  3. LC parallel circuit at resonant frequency

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 64
  • Views 23766
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

LC parallel circuit at resonant frequency

baristaskin
baristaskin over 10 years ago

Dear All,

I am trying to simulate a simple LC parallel circuit when it is drived by a voltage source.

I'm expecting the current of the voltage source V1 to get smaller as its frequency gets closer to the resonant frequency.

When I simulate this circuit at the resonant frequency, with spectre default values, I get:

I tried to play around with the following parameters:

maxstep, reltol, vabstol, iabstol

without success.

My question is: how do I setup Spectre in order to get consistent and accurate results?

What I expect to see is a sine-shaped current signal with no DC value.

I'm including the netlist of the simulation shown above:

// Generated for: spectre
// Generated on: Mar 2 16:11:27 2015
// Design library name: paper3
// Design cell name: LC_osc
// Design view name: schematic
simulator lang=spectre
global 0
parameters _EXPR_8=1.986858915135295e-08 C=1p L=100n vdd=1 \
freqC=503.30696M cycles=10 L_IC=-sqrt(C/L)*vdd/2

// Library name: paper3
// Cell name: LC_osc
// View name: schematic
L1 (Vin 0) inductor l=L r=1a ic=0
V1 (Vin 0) vsource type=sine freq=freqC ampl=vdd/2 sinephase=90 sinedc=0
C1 (Vin 0) capacitor c=C ic=vdd/2
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
checklimitdest=psf
tran tran stop=_EXPR_8 errpreset=conservative write="spectre.ic" \
writefinal="spectre.fc" annotate=status maxiters=5
finalTimeOP info what=oppoint where=rawfile
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
primitives info what=primitives where=rawfile
subckts info what=subckts where=rawfile
save Vin V1:p L1:1
saveOptions options save=allpub

 

Thank you in advance.

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 10 years ago

    Dear baristaskin,

    Thank you for your excellent answers - I now understand your issue precisely.

    > This works way better, although I still get inconsistent results depending on the type

    > of transient analysis: conservative, moderate, and liberal all give different results in terms

    > of voltage amplitude and number of oscillations needed to go to steady state.

    Networks that have high Q resonant elements have always posed difficulties in simulation. In fact, they fall into a term described as "stiff" differential equations. In essence, the solution consists of a combination of rapidly moving and relatively slow moving regions that require the solver to use very small time steps over a long simulation period. As such, their solution is challenging - irrespective of the algorithm or simulator. Therefore, the use of an errpreset of at least "conservative" is required - or the use of "moderate" with a forced low value of parameter "maxstep" (maximum integration time step). I also tend to use "gear2only"  in these applications. The use of "moderate" (without  maxstep) or "liberal" may make the simulator skip over very important regions of the solution and hence provide inaccurate results.

    > Is this only a "trick" to make the simulator behave? My idea is to build an actual circuit

    > and use an op amp as sustaining amplifier for that LC parallel.

    It is really not a "trick". Given the difficulty of simulating high Q based networks - and the long simulation times to capture the steady-state performance - the use of alternate techniques is a requirement. I designed quartz based oscillators for much of my career and used techniques that separated the high Q resonator from the sustaining amplifier (such as I mentioned). This provided excellent correlation with measured parameters such as the frequency of oscillation and waveform amplitudes. Attempts to accurately quantify these parameters with a Q of 1000+ using conventional transient simulations with the high Q resonator in the circuit proved futile. Certainly, you can use this simulation to verify performance or capture portions of the waveforms, but from a design iteration perspective, the time required is a bit excessive.

    I hope this helps!

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • ShawnLogan
    ShawnLogan over 10 years ago

    Dear baristaskin,

    Thank you for your excellent answers - I now understand your issue precisely.

    > This works way better, although I still get inconsistent results depending on the type

    > of transient analysis: conservative, moderate, and liberal all give different results in terms

    > of voltage amplitude and number of oscillations needed to go to steady state.

    Networks that have high Q resonant elements have always posed difficulties in simulation. In fact, they fall into a term described as "stiff" differential equations. In essence, the solution consists of a combination of rapidly moving and relatively slow moving regions that require the solver to use very small time steps over a long simulation period. As such, their solution is challenging - irrespective of the algorithm or simulator. Therefore, the use of an errpreset of at least "conservative" is required - or the use of "moderate" with a forced low value of parameter "maxstep" (maximum integration time step). I also tend to use "gear2only"  in these applications. The use of "moderate" (without  maxstep) or "liberal" may make the simulator skip over very important regions of the solution and hence provide inaccurate results.

    > Is this only a "trick" to make the simulator behave? My idea is to build an actual circuit

    > and use an op amp as sustaining amplifier for that LC parallel.

    It is really not a "trick". Given the difficulty of simulating high Q based networks - and the long simulation times to capture the steady-state performance - the use of alternate techniques is a requirement. I designed quartz based oscillators for much of my career and used techniques that separated the high Q resonator from the sustaining amplifier (such as I mentioned). This provided excellent correlation with measured parameters such as the frequency of oscillation and waveform amplitudes. Attempts to accurately quantify these parameters with a Q of 1000+ using conventional transient simulations with the high Q resonator in the circuit proved futile. Certainly, you can use this simulation to verify performance or capture portions of the waveforms, but from a design iteration perspective, the time required is a bit excessive.

    I hope this helps!

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information