Quasi-Periodic Steady State Analysis (qpss)
Description
Quasi-periodic steady-state (QPSS) analysis computes circuit response with multiple fundamental frequencies using harmonic balance (in frequency domain) or shooting. QPSS can compute circuit responses with closely spaced or incommensurate fundamentals, which cannot be resolved by PSS efficiently. The simulation time of QPSS analysis is independent of the time-constants of the circuit. In addition, QPSS analysis sets the circuit quasi-periodic operating point, which can then be used during a quasi-periodic time-varying small-signal analysis, such as QPAC, QPXF, QPSP, and QPNOISE.
Generally, harmonic balance(HB) is very efficient in simulating weak nonlinear circuits while shooting is more suitable for computing a circuit response to several moderate input signals, in addition to a large signal. The large signal, which represents a LO or clock signal, is usually the one that causes the most nonlinearity or the largest response. A typical example is the intermodulation distortion measurements of a mixer with two closely spaced moderate input signals. HB is more efficient than shooting in handling frequency-dependent components, such as delay, transmission line, and S-parameter data.
QPSS consists of three phases. First, an initial transient analysis with all moderate input signals suppressed is carried out. Second, a number of (at least 2) stabilizing iterations are run with all signals activated. Finally, the Newton method is followed.
When the shooting method is used, QPSS employs the Mixed Frequency Time (MFT) algorithm extended to multiple fundamental frequencies. For details of MFT algorithm, see Steady-State Methods for Simulating Analog and Microwave Circuits, by K. S. Kundert, J.K. White, and A. Sangiovanni-Vincentelli, Kluwer, Boston, 1990.
Similar to shooting in PSS, shooting in QPSS uses Newton method as its backbone. However, instead of doing a single transient integration, each Newton iteration does a number of transient integrations of one large signal period. Each of the integrations differs by a phase-shift in each moderate input signal. The number of integrations is determined by the numbers of harmonics of moderate fundamentals specified by maxharms. Given maxharms=[k1 k2 ... kn], QPSS always treats k1 as the maximum harmonic of the large signal, and the total number of integrations is (2*k2+1)*(2*k3+1)*...*(2*kn+1). One consequence is that the efficiency of the algorithm depends significantly on the number of harmonics required to model the responses of moderate fundamentals. Another consequence is that the number of harmonics of the large fundamental does not significantly affect the efficiency of the shooting algorithm. The boundary conditions of a shooting interval are such that the time domain integrations are consistent with a frequency domain transformation with a shift of one large signal period.
QPSS inherits most of the PSS parameters and adds a few new ones. The most important ones are funds and maxharms. They replace the PSS parameter, fund (or period) and harms, respectively. The funds parameter accepts a list of names of fundamentals that are present in the sources. These names are specified in the sources by the fundname parameter. In both shooting and HB QPSS analysis, the first fundamental is considered as the large signal. A few heuristics can be used for picking the large fundamental.
(1) Pick the fundamental that is not a sinusoidal.
(2) Pick the fundamental that causes the most nonlinearity.
(3) Pick the fundamental that causes the largest response.
The maxharms parameter accepts a list of numbers of harmonics that are required to sufficiently model responses due to different fundamentals.
The semi-autonomous simulation is a special QPSS analysis combining the autonomous simulation and the QPSS. To perform the semi-autonomous simulation, you need to specify an initial frequency guess for the oscillator inside the circuit, and two oscillator terminals, similar to the autonomous simulation in PSS. For example:
myqpss (op on) qpss funds=[1.1GHz frf] maxharms=[5 5] tstab=1u flexbalance=yes
The semi-autonomous simulation is only available in the frequency domain.
Syntax
Name ... qpss parameter=value ...
Parameters
QPSS fundamental parameters
|
funds
|
[...]
|
Array of fundamental frequency names for fundamentals to use in analysis.
|
|
maxharms
|
[...]
|
Array of number of harmonics of each fundamental to consider for each fundamental.
|
|
autoharms
|
no
|
Activates automatic harmonic number calculation in harmonic balance. Applies only if tstab>0 or if autotstab=yes. If a steady-state is reached, Spectre does a spectrum analysis to calculate the optimal number of harmonics for HB. The minimum number of harmonics is specified by maxharms. If steady-state is not reached to sufficient tolerance, autoharms may be disabled. Possible values are no and yes.
|
|
selectharm
|
|
Name of harmonics selection methods. Default is diamond when maximorder is set; otherwise, default is box. Possible values are box, diamond, funnel, axis, widefunnel, crossbox, crossbox_hier and arbitrary.
|
|
evenodd
|
[...]
|
Array of even, odd, or all strings for moderate tones to select harmonics.
|
|
maximorder
|
|
Maximum intermodulation order of harmonics in diamond, funnel, widefunnel, crossbox and crossbox_hier cuts. For example, given a two-tone case, a harmonic, [hx hy], is in the diamond, funnel or widefunnel harmonic set when |hx|+|hy| <= maximorder. And it is in the crossbox or crossbox_hier set when |hx| <= maximorder and |hy| <= maximorder.
|
|
mappingfft
|
no
|
This parameter is valid only for funnel harmonic cut now. When it is set to yes, it is possible to save more memory but maybe at accuracy expense. Possible values are no and yes.
|
|
axisbw
|
|
The width of the band part of wide funnel harmonic cut along axis.
|
|
minialiasorder
|
|
The order of mini aliasing harmonic order.
|
|
selharmvec
|
[...]
|
Array of harmonics indices.
|
|
harmlist
|
[...]
|
Array of harmonics indices for time domain qpss.
|
|
freqdivide
|
|
Large signal frequency division.
|
|
freqdividevector
|
[...]
|
Array of frequency division factors for each tone. This parameter overrides freqdivide.
|
Simulation interval parameters
|
tstab
|
0.0 s
|
Extra stabilization time after the onset of periodicity for independent sources.
|
|
autotstab
|
no
|
Activates the automatic initial transient (tstab) in harmonic balance and PSS shooting. If set to yes, the simulator decides whether to run tstab and for how long. Typically, the initial length of tstab is 50 periods; however, it could be longer depending on the type of circuit and its behavior. If steady-state is reached (or nearly reached), tstab terminates early. Possible values are no and yes.
|
|
envlp_autotstab
|
no
|
Activates the automatic initial envlp (tstabenvlp) in PSS shooting. If set to yes, the simulator decides how long to run tstabenvlp. Typically, the initial length of tstabenvlp is 50 periods; however, it could be longer depending on the type of circuit and its behavior. If steady-state is reached (or nearly reached), tstabenvlp terminates early. Possible values are no and yes.
|
|
autosteady
|
no
|
Activates the automatic steady state detection during initial transient (tstab) in harmonic balance and PSS shooting. When steady state is reached (or nearly reached), tstab terminates early. This parameter applies only when tstab>0 or when autotstab=yes. autosteady=no|0 turns this feature off; autosteady=yes|1 activates this feature; autosteady=2 runs autosteady with lower steady state tolerance than autosteady=1. autosteady=2 may help pss convergence but with higher tstab costs. Possible values are 0, 1, 2, no and yes.
|
|
tstabenvlp_autosteady
|
no
|
Activates the automatic steady state detection during tstabenvlp in PSS shooting. When steady state is reached, tstabenvlp terminates early. This parameter applies only when tstabenvlpstop>0 or when envlp_autotstab=yes. tstabenvlp_autosteady=no|0 turns this feature off; tstabenvlp_autosteady=yes|1 activates this feature; tstabenvlp_autosteady=2 runs autosteady with lower steady state tolerance than tstabenvlp_autosteady=1. tstabenvlp_autosteady=2 may help pss convergence but with higher tstabenvlp costs. Possible values are 0, 1, 2, no and yes.
|
|
stabcycles
|
2
|
Stabilization cycles with both large and moderate sources enabled.
|
|
tstart
|
0.0 s
|
Initial transient analysis start time.
|
|
tstabenvlpstop
|
0.0 s
|
Determines the stop time of envelope tstab.
|
|
tstabenvlpstep
|
0.0 s
|
Determines the step size of envelope tstab.
|
Time-step parameters
|
maxstep
|
(s)
|
Maximum time step. The default is derived from errpreset.
|
|
transres
|
1e-9*stop s
|
Transition resolution. The transient analysis attempts to stop at corners of input waveforms (for example, corners of rising/falling edge of a pulse). If such events occur within a time less than transres, the analysis combines the events into one and forces only one time point. The rest of the steps are determined by error control. This may lead to loss of detail.
|
|
maxacfreq
|
|
Maximum frequency requested in a subsequent periodic small-signal analysis. The default is derived from errpreset and harms. This parameter is valid only for shooting.
|
|
step
|
0.001*period s
|
Minimum time step that would be used solely to maintain the aesthetics of the results. This parameter is valid only for shooting.
|
Initial-condition parameters
|
ic
|
all
|
The value to be used to set the initial condition. Possible values are dc, node, dev and all.
|
|
skipdc
|
no
|
If set to yes, there is no DC analysis for initial transient. Possible values are no, yes and sigrampup.
|
|
readic
|
|
File that contains initial condition.
|
|
useprevic
|
no
|
If set to yes or ns, use the converged initial condition from previous analysis as ic or ns. Possible values are no, yes and ns.
|
|
oscic
|
default
|
Oscillator IC method. It determines how the starting values for the oscillator are calculated. oscic=lin provides you an accurate initial value, but it takes time; oscic=lin_ic' is not recommended, which is the older version of oscic=lin for shooting analysis for backward compatibility;oscic=fastic is fast, but it is less accurate. 'oscic=skip' directly uses the frequency provided by you as the initial guess frequency. It is only for the two-tier method. Possible values are default, lin, lin_ic, fastic and skip.
|
|
tone_homotopy
|
[...]
|
Array of homotopy options for convergence assistance with multi-divider cases, when hbhomotopy=aggregation. The number of entries should be equal to that of tones. The possible values for each entry are 0, 1 and 2. '0' means no convergence assistance is applied for that tone. '1' means only transient stabilization (tstab) is run for that tone and '2' means both tstab and a single-tone HB simulation should be run to obtain the initial guess for multi-tone HB simulation.
|
Convergence parameters
|
readns
|
|
File that contains an estimate of the initial transient solution.
|
|
cmin
|
0 F
|
Minimum capacitance from each node to ground.
|
Output parameters
|
save
|
|
Signals to output. Possible values are all, lvl, allpub, lvlpub, selected, none and nooutput.
|
|
nestlvl
|
|
Levels of subcircuits to output.
|
|
oppoint
|
no
|
Should operating point information be computed for initial timestep; if yes, where should it be printed (screen or file). Possible values are no, screen, logfile and rawfile.
|
|
skipstart
|
0 s
|
The time to start skipping output data.
|
|
skipstop
|
stop s
|
The time to stop skipping output data.
|
|
skipcount
|
1
|
Save only one of every skipcount points.
|
|
strobeperiod
|
0 s
|
The output strobe interval (in seconds) of transient time.
|
|
strobedelay
|
0 s
|
The delay (phase shift) between the skipstart time and the first strobe point.
|
|
saveinit
|
no
|
If set to yes, the waveforms for the initial transient before steady state are saved. Possible values are no and yes.
|
State-file parameters
|
write
|
|
File to which initial transient solution (before steady-state) is written.
|
|
writefinal
|
|
File to which final transient solution in steady-state is written. This parameter is now valid only for shooting.
|
|
swapfile
|
|
Temporary file to hold steady-state information. It tells Spectre to use a regular file, rather than virtual memory to hold the periodic operating point. Use this option if Spectre complains about not having enough memory to complete the analysis. This parameter is now valid only for shooting.
|
|
writeqpss
|
|
File to which final quasi-periodic steady-state solution is written. Small signal analyses, such as qpac, qpxf, and qpnoise, can read in the steady-state solution from this file directly, instead of running the qpss analysis again. The results from shooting QPSS cannot be used in HB QPSS analysis and vice-versa.
|
|
readqpss
|
|
File from which final quasi-periodic steady-state solution is read. Small signal analyses, such as qpac, qpxf, and qpnoise, can read in the steady-state solution from this file directly, instead of running the qpss analysis again. The results from shooting QPSS cannot be used in HB QPSS analysis and vice-versa.
|
|
selharmread
|
|
File from which arbitrary harmonic data needs to be read.
|
|
selharmwrite
|
|
File to which harmonic data needs to be written.
|
Integration method parameters
|
method
|
|
Integration method. The default is derived from errpreset. This parameter is valid only for shooting. Possible values are euler, trap, traponly, gear2 and gear2only.
|
Accuracy parameters
|
errpreset
|
|
Selects a reasonable collection of parameter settings. Possible values are liberal, moderate and conservative.
|
|
relref
|
|
Reference used for the relative convergence criteria. The default is derived from errpreset. Possible values are pointlocal, alllocal, sigglobal and allglobal.
|
|
lteratio
|
|
Ratio used to compute LTE tolerances from Newton tolerance. The default is derived from errpreset.
|
|
lteminstep
|
0.0 s
|
Local truncation error is ignored if the step size is less than lteminstep.
|
|
steadyratio
|
|
Ratio used to compute steady-state tolerances from LTE tolerance. The default is derived from errpreset.
|
|
maxperiods
|
|
Maximum number of iterations allowed before convergence is reached in shooting or harmonic balance Newton iteration. For PSS and QPSS, the default is 20 for driven circuits, and 50 for oscillators; For HB, the default is 100.
|
|
max_innerkrylov_size
|
20
|
The maximum iteration number allowed in inner gmres solver in two-level gmres linear solver. The default value is 12 for large signal and 20 for small signal analysis.
|
|
max_outerkrylov_size
|
4
|
The maximum iteration number allowed in inner gmres solver in two-level gmres linear solver. The default value is 4.
|
|
itres
|
1e-4 for shooting, 0.9 for HB
|
Controls the residual for iterative solution of linearized matrix equation at each Newton iteration. Tightening the parameter can help with the Newton convergence, but does not affect the result accuracy. The value should be between [0, 1]. Default value for shooting APS flow is 1e-3.
|
|
inexactNewton
|
no
|
Inexact Newton method. Possible values are no and yes.
|
|
finitediff
|
|
Options for finite difference method refinement after quasi-periodic shooting method. finitediff is changed from no to same grid automatically when readqpss and writeqpss are used to reuse QPSS results. Possible values are no, yes and refine.
|
Harmonic Balance parameters
|
harmonicbalance
|
no
|
Use Harmonic Balance engine instead of time-domain shooting. Possible values are no and yes.
|
|
flexbalance
|
no
|
Same parameter as harmonicbalance. Possible values are no and yes.
|
|
hbpartition_defs
|
[...]
|
Define HB partitions.
|
|
hbpartition_fundratios
|
[...]
|
Specify HB partition fundamental frequency ratios.
|
|
hbpartition_harms
|
[...]
|
Specify HB partition harmonics.
|
|
oversamplefactor
|
1
|
Oversample device evaluations.
|
|
oversample
|
[...]
|
Array of oversample factors for each tone. This parameter overrides oversamplefactor.
|
|
sweepic
|
none
|
IC extrapolation method in sweep HB analysis. Possible values are none, linear and log.
|
|
hbhomotopy
|
tone
|
Name of Harmonic Balance homotopy selection methods. Possible values are tstab, source, gsweep, tone, inctone, aggregation and steptone.
|
|
gstart
|
1.e-7
|
Start conductance for hbhomotopy of gsweep.
|
|
gstop
|
1.e-12
|
Stop conductance for hbhomotopy of gsweep.
|
|
glog
|
5
|
Number of steps, log sweep for hbhomotopy of gsweep.
|
|
backtracking
|
yes
|
This parameter is used to activate the backtracking utility of Newton's method. The default is yes. Possible values are no, yes and forced.
|
|
excludeconvgwithBK
|
yes
|
Possible values are no and yes.
|
|
krylov_size
|
10
|
The minimum iteration count of the linear matrix solver used in HB large-signal analysis. After reaching krylov_size iterations, the iteration is forced to terminate because of the poor rate of convergence. Increase krylov_size if the simulation reports insufficient norm reduction errors in GMRES.
|
|
hbprecond_solver
|
basicsolver
|
Choose a linear solver for the GMRES preconditioner. Possible values are basicsolver, blocksolver, autoset, blockdense, blocksolver2 and directsolver.
|
|
lowmem
|
0
|
Harmonic balance low memory mode; Possible values are 0, 1, or number (>=10). The default value is '0', the low memory mode is turned off; if '1' is set, the standard low memory mode is turned on; If a number no less than 10 is set, Spectre interprets the value as the memory requested in GigaBytes.
|
Annotation parameters
|
annotate
|
sweep
|
Degree of annotation. Possible values are no, title, sweep, status, estimated, steps, iters, detailed, rejects, alliters, detailed_hb and internal_hb.
|
|
annotateic
|
no
|
Degree of annotation for initial condition. Possible values are no, title, sweep, status, estimated, steps, iters, detailed, rejects and alliters.
|
|
title
|
|
Analysis title.
|
Newton parameters
|
maxiters
|
5
|
Maximum number of iterations per time step.
|
|
restart
|
no
|
Restart the DC/PSS/QPSS solution if set to 'yes'; if set to 'no', reuse the previous solution as an initial guess; if set to 'firstonly', restart if it is the first point of sweep (supported only in HB). The default value is 'no' for HB and 'yes' for shooting. Possible values are no, yes and firstonly.
|
Circuit age
|
circuitage
|
(Years)
|
Stress time. Age of the circuit used to simulate hot-electron degradation of MOSFET and BSIM circuits.
|
Tstab save/restart parameters
|
ckptperiod
|
|
Checkpoint the analysis periodically by using the specified period.
|
|
saveperiod
|
|
Save the tran analysis periodically on the simulation time.
|
|
saveperiodhistory
|
no
|
Maintains the history of saved files. If yes, maintains all the saved files. Possible values are no and yes.
|
|
saveclock
|
(s)
|
Save the tran analysis periodically on the wall clock time. The default is 1800s for Spectre. This parameter is disabled in the APS mode by default.
|
|
savetime
|
[...]
|
Save the analysis states into files on the specified time points.
|
|
savefile
|
|
Save the analysis states into the specified file.
|
|
recover
|
|
Specify the file to be restored.
|
Compression parameters
|
xdbcompression
|
no
|
Sets the automatic gain compression analysis. In automatic gain compression analysis, Spectre automatically sweeps the input excitation until the gain, as defined by the analysis parameter xdbgain, compresses by the amount specified by the analysis parameter xdblevel. In gain compression analysis, Spectre outputs the hb solution at the calculated compression point only. Dependent analyses, such as hbnoise and hbac, are supported and calculated about the calculated compression level. Auxiliary output includes the gain and voltage/power compression curves. These outputs are available for analysis and post-processing in ADE. The possible values are yes and no. Default is no.
|
|
xdblevel
|
[...]
|
Sets the gain compression level for compression analysis. The reference point for gain compression is the small-signal gain of the circuits, or as specified by the analysis parameter xdbref. Default is 1.
|
|
xdbgain
|
power
|
Chooses between the voltage gain and transducer power gain as the target for compression point calculation. When xdbgain=power, the gain is defined as G (dB) = Pload (dBm) - Pavailable (dBm). When xdbgain=voltage, the gain is defined as G (dB) = dB20(|Vload|/|Vsource|). In both cases, Spectre sweeps the excitation source until xdbref - G = xdblevel, where the analysis parameter xdbref defines the reference level for compression calculation. Possible values are power and voltage. Default is power.
|
|
xdbref
|
linear
|
Sets the reference point for gain compression calculations. When xdbref=linear, spectre uses the small-signal gain as the reference. When xdbref=max, spectre uses the maximum observed gain as the reference. Possible values are linear and max. Default is linear.
|
|
xdbsource
|
|
The instance name of the excitation source, which is swept automatically to reach the compression level. When xdbgain=power, the excitation source must be a port instance. When xdbgain=voltage, the excitation source must be a vsource instance.
|
|
xdbload
|
|
The instance name of the load termination. When xdbgain is power, xdbload can be a port, a resistor, or a current probe.
|
|
xdbnodep
|
|
The output terminals for voltage gain calculation when xdbgain=voltage. If either is left unspecified, the terminal is assumed to be the global ground.
|
|
xdbnoden
|
|
The output terminals for voltage gain calculation when xdbgain=voltage. If either is left unspecified, the terminal is assumed to be the global ground.
|
|
xdbrefnode
|
|
The reference node when xdbload is a current probe. The default is the ground node.
|
|
xdbharm
|
[...]
|
The Integer array which specifies the harmonic indexes of the output voltage or power component.
|
|
xdbsteps
|
100
|
The maximum number of steps for the compression point search. The simulator terminates if xdbsteps exceeds before the compression point is found. The default is 100.
|
|
xdbmax
|
|
The maximum input power (or voltage) for the compression point search. Default is 30 dBm when xdbgain=power, and 2.0 V when xdbgain=voltage.
|
|
xdbstart
|
|
The starting input power (or voltage) for the compression point search. Default is (xdbmax-70) dBm when xdbgain=power, and xdbmax/20000 when xdbgain=voltage.
|
|
xdbtol
|
0.01
|
Sets the tolerance for compression analysis. This tolerance is used in compression curve fitting and calculating the compression point.
|
|
xdbrapid
|
no
|
Sets the automatic gain compression analysis in rapid mode. In this mode, Spectre does not trace the compression curve and calculates only the compression point.
|
|
xdbcpi
|
|
Sets the estimated input-referred compression point for rapid compression analysis.
|
|
backoff
|
0.0
|
The backoff point. If defined, an addition harmonic balance analysis will be performed after the compression analysis is done. Default is 0 dBm when xdbgain=power, and 0 V when xdbgain=voltage.
|
Memory estimation parameters
|
memoryestimate
|
no
|
Sets the memory usage estimate for Harmonic Balance. If yes, a memory estimate is printed in the log file. You can use this memory estimate to plan the computing resources before submitting harmonic balance runs. In memory estimate mode, a short simulation is performed first, and the engine exits after printing the estimate in the log file without saving any results. If no, the simulation continues after the memory estimate is printed. Memory estimation is not recommended for simulations that require less than 500MB approximately. For PSS analysis, memory estimate mode does not apply unless flexbalance=yes. memoryestimate=1 estimates the memory usage for large-signal analysis and memoryestimate=2 estimates both large-signal analysis and small-signal simulations. Possible values are no and yes.
|
Most of QPSS analysis parameters are inherited from PSS analysis and their meanings remain essentially unchanged. Two new important parameters are funds and maxharms. They replace and extend the role of fund and harms parameters of PSS analysis. One important difference is that funds accepts a list of fundamental names, instead of actual frequencies. The frequencies associated with fundamentals are figured out automatically by the simulator. An important feature is that each input signal can be a composition of more than one source. However, these sources must have the same fundamental name. For each fundamental name, its fundamental frequency is the greatest common factor of all frequencies associated with the name. Omitting fundamental name in the funds parameter is an error that stops the simulation. If maxharms is not given, a warning message is issued, and the number of harmonics defaults to 1 for each fundamental.
For QPSS analyses, the role of some PSS parameters is extended compared to their role in PSS analysis. In QPSS, the parameter maxperiods that controls the maximum number of shooting iterations for PSS analysis also controls the number of the maximum number of shooting iterations for QPSS analysis. Its default value is set to 50.
The tstab parameter controls both the length of the initial transient integration with only the clock tone activated and the number of stable iterations with moderate tones activated. The stable iterations are run before shooting or HB Newton iterations.
The errpreset parameter lets you adjust several simulator parameters to fit your needs. In most cases, errpreset should be the only parameter you need to adjust. If you want a fast simulation with reasonable accuracy, set errpreset to liberal. If you have some concern for accuracy, set errpreset to moderate. If accuracy is your main interest, set errpreset to conservative.
If you do not specify steadyratio, it is always 1.0, and it is not affected by errpreset. The following table shows the effect of errpreset on other parameters in shooting.
---------------------------------------------------------------------------
Parameter defaults as a function of errpreset
---------------------------------------------------------------------------
errpreset reltol relref method lteratio maxstep
---------------------------------------------------------------------------
liberal 1e-3 sigglobal gear2only 3.5 clock period/80
moderate 1e-4 sigglobal gear2only 3.5 clock period/100
conservative 1e-5 sigglobal gear2only * clock period/200
* : lteratio=10.0 for conservative errpreset by default. However, when the specified reltol <= 1e-5*10.0/3.5, lteratio is set to 3.5.
The new errpreset settings include a new default reltol that is actually an enforced upper limit for appropriate setting. An increase of reltol above the default is ignored by the simulator. You can decrease this value in the options statement. The only way to increase reltol is to relax errpreset. Spectre sets the value of maxstep so that it is no larger than the value given in the table. Except for reltol and maxstep, errpreset does not change the value of any parameters you have explicitly set. The actual values used for the QPSS analysis are given in the log file. If errpreset is not specified in the netlist, liberal settings are used. For HB, only reltol is affected by errpreset, and the effect is the same as that in shooting. However, lteratio remains 3.5 and steadyratio remains 1 with all values of errpreset.
With parameter 'hbhomotopy', you can specify harmonic balance homotopy selection methods. The possible values of parameter 'hbhomotopy' and their descriptions are as follows:
'hbhomotopy=tstab': Simulator runs a transient analysis and generates an initial guess for harmonic balance analysis; it is recommended for nonlinear circuits or circuits with frequency dividers.
'hbhomotopy=source': For driven circuit, the simulator ignores tstab and accordingly increases the source power level; for oscillators, the simulator accordingly adjusts the probe magnitude until the probe has no effect on the oscillators. It is recommended for strongly nonlinear or high Q circuits.
'hbhomotopy=tone': This method is valid only for multi-tone circuit. The simulator first solves a single-tone circuit by turning off all the tones, except the first one, and then solves the multi-tone circuit by restoring all the tones and using the single-tone solution as its initial guess. It is recommended for multi-tone simulation with a strong first tone.
'hbhomotopy=inctone': Simulator first solves a single tone, then turns on moderate tones incrementally till all tones are enabled. It is recommended for circuits with one strong large tone.
'hbhomotopy=gsweep': A resistor, whose conductance is g, is connected with each node, and the sweep of g is controlled by gstart, gstop, and glog. It is recommended for circuits containing high-impedance or quasi-floating nodes.
Return to top