Product Documentation
Spectre Circuit Simulator Reference
Product Version 23.1, September 2023

HB Stability Analysis (hbstb)

Description

The HBSTB analysis is used to evaluate the local stability of a periodically varying feedback circuit. It is a small-signal analysis like STB analysis, except that the circuit is first linearized about a periodically varying operating point as opposed to a simple DC operating point. Linearizing about a periodically time-varying operating point allows the stability evaluation to include the effect of the time-varying operating point.

Evaluating the stability of a periodically varying circuit is a two-step process. In the first step, the small stimulus is ignored and HB analysis is used to compute the periodic steady-state response of the circuit to a possibly large periodic stimulus. As part of the HB analysis, the periodically time-varying representation of the circuit is computed and saved for later use. In the second step, a probe is used to compute the loop gain of the zero sideband. The local stability can be evaluated using gain margin, phase margin, or a Nyquist plot of the loop gain. To perform HBSTB analysis, a probe instance must be specified as probe parameter.

The loop-based algorithm requires that a probe be placed on the feedback loop to identify and characterize the particular loop of interest. The introduction of the probe component should not change any of the circuit characteristics. For the time-varying property of the circuit, the loop gain at different places can be different, but all values can be used to evaluate the stability. The loop-based algorithm provides stability information for single-loop circuits and for multi-loop circuits in which a probe component can be placed on a critical wire to break all loops. For a typical multi-loop circuit, such a critical wire may not be available. The loop-based algorithm can be used only on individual feedback loops to ensure that they are stable.

The device based algorithm requires the probe be a gain instant, such as a bjt transistor or a mos transistor. The device-based algorithm evaluates the loop gain around the probe, which can be involved in mutiloops.

Note: Unlike other analyses in Spectre, this analysis can only sweep frequency.

Syntax

Name hbstb parameter=value ...

Parameters

Sweep interval parameters

start

0

Start sweep limit.

stop

Stop sweep limit.

center

Center of sweep.

span

0

Sweep limit span.

step

Step size, linear sweep.

lin

50

Number of steps, linear sweep.

dec

Points per decade.

log

50

Number of steps, log sweep.

values

[...]

Array of sweep values.

valuesfile

Name of the file containing the sweep values.

Probe parameters

probe

Probe instance around which the loop gain is calculated.

localgnd

Node name of local ground. If not specified, the probe is referenced to global ground.

Output parameters

save

Signals to output. Possible values are all, lvl, allpub, lvlpub, selected, none and nooutput.

nestlvl

Levels of subcircuits to output.

Convergence parameters

tolerance

Tolerance for linear solver. The default value is 1.0e-9 for shooting-based solver and 1.0e-4 for harmonic balance-based solver.

relativeTol

Relative tolerance for harmonic balance-based linear solver. Default value is 1.0e-2.

gear_order

2

Gear order used for small-signal integration.

solver

turbo

Solver type. Possible values are std, turbo, std_hh and turbo_hh.

oscsolver

turbo

Oscillator solver type. It is recommended that you use ira for huge circuits. Possible values are std, turbo, ira and direct.

resgmrescycle

short

Restarts GMRES cycle. Possible values are instant, short, long, recycleinstant, recycleshort, recyclelong and custom.

hbprecond_solver

autoset

Select a linear solver for the GMRES preconditioner. Default is autoset. With autoset, the simulator will automatically select the appropriate precondtioner. The preconditioner affects the rate of convergence of the linear matrix solver used in periodic small-signal analysis. When autoset is selected, the simulator may decide to switch to a different preconditioner after the analysis begins. When that happens, the simulator may issue a warning instructing you to choose a different preconditioner during subsequent runs. Although not required, choosing a different preconditioner according to the simulator's instructions may speed up subsequent analyses. Possible values are basicsolver, blocksolver, autoset, blockdense, blocksolver2 and directsolver.

krylov_size

200

This parameter is used to set maximum iteration count of the linear matrix solver used in periodic small-signal analysis. After reaching 1.25*krylov_size  iterations, the iteration is forced to terminate because of the poor rate of convergence. Increase the krylov_size if the simulation reports insufficient norm reduction errors in GMRES.

Annotation parameters

annotate

sweep

Degree of annotation. Possible values are no, title, sweep, status, steps and detailed_hb.

title

Analysis title.

You can specify sweep limits by specifying the end points, or the center value and span of the sweep. Steps can be linear or logarithmic, and you can specify the number of steps or the size of each step. You can specify a step size parameter (step, lin, log, or dec) to determine whether the sweep is linear or logarithmic. If you do not specify a step size parameter, the sweep is linear when the ratio of stop to start values is less than 10 and logarithmic when this ratio is 10 or greater. Alternatively, you can use the values parameter to specify the values that the sweep parameter should take. If you provide both a specific set of values and a set specified using a sweep range, the two sets are merged and collated before being used. All frequencies are in Hertz.


Return to top
 ⠀
X