The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Simulators >> RF Simulators >> convergence difficulties in SpectreRF https://designers-guide.org/forum/YaBB.pl?num=1034788971 Message started by YFUSA on Oct 16th, 2002, 10:22am |
Title: convergence difficulties in SpectreRF Post by YFUSA on Oct 16th, 2002, 10:22am I am trying to create a model of VCO using Verilog-A acting as an LC oscillator. The PSS is asked to converge on the differential output LC oscillator. When the accuracy is set to conservative, it works. When the accuracy is set to moderate, it doesn't converge anymore reporting that the voltage on the LC circuit is of 18 TV after 1 or 2 iterations. I made my model display the voltage and it's always between 0V and 1.8V except when it stops! Have you already encountered this type of problem? What was the solution (except simulating always in conservative mode...)? Thanks |
Title: Re: convergence difficulties in SpectreRF Post by Ken Kundert on Oct 17th, 2002, 12:27am Yfusa, I've never heard of anything like that. Perhaps you can post your model and we'll take a look and see if there is an obvious problem. -Ken |
Title: Re: convergence difficulties in SpectreRF Post by YFUSA on Oct 17th, 2002, 12:50am Here is my model (some inputs are not yet used): Code:
|
Title: Re: convergence difficulties in SpectreRF Post by Frank Wiedmann on Oct 17th, 2002, 12:09pm I have not analyzed your model in detail but you might want to try replacing your exp functions with the limexp (or $limexp) function. I had convergence problems in the past when I used the "normal" exp function. |
Title: Re: convergence difficulties in SpectreRF Post by Ken Kundert on Oct 17th, 2002, 10:21pm This model is pretty complicated. You might consider simplifying it until it works properly, and then adding things back one at a time to try to identify the culprit. Some of the first things I would consider eliminating are the diodes and the varactors - both look to be implemented using very nonlinear expressions and so could likely be the cause of your convergence problems. Frank's suggestion is a good one, replace calls to exp() with calls to limexp(). I notice that in the conditionals where you are setting the voltage on the hold and hold2 capacitors you are using a 1 milliohm resistor. That seems extreme, especially for a current formulation (i = f(v)). Consider increasing the resistance to at least an ohm or converting to a voltage formulation (v = f(i)). I don't understand your circuit, so this next comment may be off base, but I am a little worried about the transition function at the end. It looks like its argument might be a continuously varying function of time. That would not be a good thing. Consider eliminating the transition function and see if things get better. Then observe V(hold2). If it is not piecewise constant, you will need to do something different. -Ken |
Title: Re: convergence difficulties in SpectreRF Post by YFUSA on Oct 17th, 2002, 11:43pm I simplified my model and managed to simulate it in moderate pss when I didn't use the hold signal. When I increased my 1 milliohm resistors to 1 ohm on the hold signals, it was still working! I also replaced exp by limexp to make sure it won't provide me convergence problems later. For the transition function, I had planed to remove it later. Thanks for your answers! |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |