This is could be quite obvious to many of you. Still ...
When I tried to simulate ideal LC oscillator with initial
conditions(voltage across the capacitor) using cadence tools ... I
realised that output voltage is decaying as time progresses. I mean ...
without any series resistance across either capacitor and/or inductor
how could I expect output voltage to decay ??
Secondly ... though output voltage is oscillating, I expect voltage
across the capacitor, at t=0, to be the one I imposed ... rather in
transient analysis I am observing it to be zero. I wanted to be clear as
I need to work phase differences.
Could someone throw light on it.
You've not given much information to go on. Are these actually ideal capacitors and inductors (e.g. from analogLib)? Can you post the netlist you're simulating (if it's simple, that's probably the easiest way to show what you've done - and then it shows the analysis statements too).
BTW, I moved this to the RF Design Forum since it is nothing to do with the SKILL Language.
In reply to Andrew Beckett:
Thanks for your response.
I am trying to simulate an LC oscillator(image is attached along),
both capacitor and inductor are taken from analogLib, with L = 1nH and C
= 1pF, with initial condition - forced in "object properties" window -
of the capacitor to be 1V. They are ideal with no series resistance.
When I did transient analysis simulations for 100ns, I realised that
output voltage across the capacitor decayed to ZERO voltage.
Please revert if I am not clear.
In reply to rsrk:
This is almost certainly dependent upon what you set errpreset to in the tran analysis (unfortunately you didn't post your input.scs netlist as I asked you to, which would have enabled me to see what analysis options you had set).
If you run the above circuit with a transient analysis for 100ns with no options set on the tran form, it will not decay. The same is true if you set errpreset to moderate. However, if you set it to conservative or liberal, the method that is used will be gear2only or trapgear2 (it actually depends a bit on which specific version of spectre you're using - see "spectre -h tran" to see what errpreset does in the version of spectre you're using).
When gear2 methods are used, they introduce a small amount of numerical damping - which in the case of an ideal oscillator will cause the oscillation to die out. In many simulations that small numerical damping is useful because it stops trapezoidal ringing, but is something you often want to avoid in a real oscillator.
If you really want to use errpreset=conservative or liberal, you can do - just go to the Options form at the bottom of the transient form and change method to be traponly - that will stop the decay.
Thanks a ton. You saved my life. With the options you mentioned, I realized that voltage is not dieing out. I have attached the netlist along this time (apologize that I have not attached previously).
Can you throw some light on what are the differeces with three types of transient analysis (conservatiove, moderate, liberal). What are the advanced option such as gear2only or trapgear2 etc - I can sense that they might be related to numerical methods.
What are the best/proper options to be choosen while simulating Voltage control oscillators(VCOs). I'll be grateful if you can suggest particular portions of user manuals or material.
Siva Rama Krishna R
A good place to start would be the Virtuoso® Spectre® Circuit Simulator and Accelerated Parallel Simulator User Guide in the documentation. You can access this from cdnshelp command (if picked up from the IC hierarchy, you may need to add the path to the documentation as a library - the docs are in <MMSIMinstDir>/doc - you can do this in Edit->Settings in the Library tab).
Or go to <MMSIMinstDir>/doc/spectreuser/spectreuser.pdf .
There's a chapter on Analyses, within which there's a section on Transient analysis, with sections covering errpreset (which is a quick and easy way of trading off accuracy versus speed), and the integration method (the method parameter).
Techniques on best practice for simulating oscillators are potentially quite lengthy. General principles would be that often it's a good idea to use method=traponly, and you may want to set maxstep to (say) 1/20th of the expected oscillation period to force sufficient timesteps - but the usual challenge is figuring out how to start the oscillator. This is not a unique problem to spectre, but a consequence of the numerical methods used in circuit simulators.
To find out more, I'd suggest looking at a copy of The Designer's Guide to SPICE and Spectre by Kenneth S. Kundert, 1995. Also, Cadence offers a course "Using Spectre Effectively" which is a good way to understand the simulator in depth (look at the training catalogs under Support & Training at the top of this web site).
Sr. Staff Support AE, Global Customer Support
Cadence Design Systems, Inc.
In reply to Tawna:
HI Andrew and Tawna
Thank you very much for your support and suggestions.
We are regular customers of cadence and I will ask my system administrator to grant access to the material you have mentioned.
Thanks and Regards
Siva Rama Krishna