41
To solve the periodic steady-state problem, SpectreRF simulation replaces the time derivatives in the one-period time interval with discrete differences. This turns the nonlinear, continuous differential equations into a set of discrete nonlinear equations that the SpectreRF circuit simulator can solve. The steadyratio parameter specifies the accuracy requirements for the discrete system. The discrete system might have its own solution (a steady state of the discrete difference equations) independent of what is happening in the continuous limit. In other words, the discrete system might be solved to zero tolerance. This happens frequently, particularly in driven circuits which is why setting a conservative steadyratio value generally works quite well. In some cases, however, the solution to zero tolerance might not occur oscillators seem to be especially problematic. Avoid setting the convergence tolerance too tightly. For example, if reltol = 1.0e-6 and steadyratio = 1.0e-3, the relative tolerance for solving the discrete system is approximately reltol steadyratio = 1.0e-9. This tolerance level approaches the limit of precision the simulator can provide. In this situation, loosen steadyratio to 1.0 or 0.1 and reduce the precautions against false convergence. Providing a larger value for tstab usually improves convergence. Occasionally, you must set tstab to a value equal to or greater than the time needed for the circuit to reach approximate steady state.
While trapezoidal rule ringing is simply annoying in transient analysis, in PSS analysis it can cause the shooting iteration to stall before convergence is achieved. You can remedy this problem by changing the PSS options method parameter from traponly to either trap, gear2, or gear2only. Help convergence by increasing the maxperiods parameter to increase the maximum iterations for shooting method to use. Sometimes a PSS analysis might simply need more than the default number of iterations to converge. However, in some situations convergence does not occur regardless of the number of iterations. In this case, increasing the iteration limit simply causes the simulation to take longer to fail. Decrease the maximum allowed time step to help convergence. To adjust the time step, either decrease the maxstep parameter or increase the maxacfreq parameter. Use the errpreset parameter properly. Use liberal for digital circuits; use moderate for typical analog circuits; use conservative for sensitive analog circuits (for example, charge storage circuits).
oscillator hard enough to start the oscillation and make the oscillator respond with a signal level that is between 25 and 100 percent of the expected final level. Avoid kicking the oscillator so hard that it responds in an unnecessarily nonlinear fashion. Also try to avoid exciting response modes in the circuit that are unrelated to the oscillation, especially those associated with long time constants. Try to improve your estimate of the period. The simulator uses your estimate of the period to determine the length of the initial transient analysis interval. This interval is used to measure the oscillation period. If you specify a period that is too short, the estimate of the oscillation period is not accurate, and the PSS analysis might fail. Overestimation of the period is not a serious problem because the only disadvantage is a longer initial transient interval. However, significant overestimation can result in an excessively long simulation time. Sometimes the analysis might need more than the default number of iterations (maxperiods = 50) to converge. This is more likely to occur with high-Q circuits. You can increase the maximum iterations for shooting methods using the maxperiods parameter.
When you set writefinal to SomeFileName, both the associated time and period information (for autonomous PSS) and the final transient solution at PSS steady-state are saved to the file, SomeFileName. When you run another similar PSS analysis and you set readic to SomeFileName and skipdc to yes, setting skipdc to yes forces the simulator to use the initial conditions in the file SomeFileName as the initial transient solution for the first PSS iteration. For example, if you want to find the periodic steady-state solution with a tight reltol such as 1.0e-5, you might Run an initial PSS analysis with a looser tolerance; for example, reltol = 1.0e-3 Use the writefinal parameter in the initial PSS analysis to write out the final results to a file. A PSS analysis runs faster with the looser tolerance because fewer time points are generated during each transient integration performed during each PSS iteration. Run a second PSS analysis with the tighter tolerance, reltol = 1.0e-5 Use the readic and skipdc in the second PSS analysis to read in the final results of the first PSS analysis as the initial conditions. After the second PSS analysis, you can run small-signal analyses such as PAC.
set1 pss1 set2 pss2 ... set pss set pss pac reltol=1.0E-3 ... writefinal="SomeFile" reltol=1.0E-5 ... readic="SomeFile" skipdc=yes ... ...
Always use a sequence of PSS runs when a you need a tight tolerance PSS solution. If necessary, you can run more than two PSS analyses in the hierarchical process. You choose the tolerance sequence for the continuation. The multiple PSS approach usually produces a better periodic steady-state solution for subsequent small-signal analyses. The above procedure is often called a continuation on the simulation parameter reltol. However, you can use continuation with many other simulation parameters. For example, in order to achieve PSS convergence at a high input power that causes nonconvergence, you might gradually increase the input power at an RF port. Return to top of page
For support, see http://www.cadence.com/support or try Cadences SourceLink service. Copyright 2004, Cadence Design Systems, Inc.