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

PZ Analysis (pz)

Description

The PZ analysis linearizes the circuit about the DC operating point and computes the poles and zeros of the linearized network. To compute zeros, you need to specify input sources and output voltages or currents. If no input or output is given, only poles are computed. If there are frequency-dependent components, poles and zeros are computed by approximating those components as equivalent conductances and capacitances evaluated at 1Hz. The PZ analysis uses default direct solver (method=qz) for better accuracy.  Performance is better in small-to-medium sized circuits. For large circuits, a Krylov subspace iterative solver (method-arnoldi) can be used for better performance, but, with lesser accuracy.

Note: A frequency-dependent component means that the capacitance or conductance-equivalent representation of the component varies with the frequency. Examples are transmission lines or bjts with excess phases. A linear capacitor is not a frequency-dependent component.

Spectre can perform the analysis while sweeping a parameter. The parameter can be temperature, component instance parameter, component model parameter, or netlist parameter. If changing a parameter affects the DC operating point, the operating point is recomputed at each step.  You can sweep the parameter temp or a netlist parameter by specifying the parameter name without a dev or mod parameter. After the analysis is complete, the modified parameter returns to its original value.

Pole-zero cancellation is performed when a neighboring pole-zero pair is located within absdiff distance. The distance is also determined relatively as reldiff times the magnitude of the pole or zero. Spectre uses the larger value of the two distances for cancellation. By default, a lower bound of resistance is enforced. You may remove this limitation by defining the resistor parameter rac. However, this may affect pz results.

Syntax

Name ... pz parameter=value ...

Parameters

Probe parameters

iprobe

Input probe for zeros of the transfer function.

oprobe

Output probe for zeros of the transfer function.

Port parameters

portv

Voltage across the specified oprobe port is the output of the analysis.

porti

Current through the specified oprobe port is the output of the analysis. Should be used when oprobe is a voltage source or a current probe.

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.

Sweep variable parameters

dev

Device instance whose parameter value is to be swept.

mod

Model whose parameter value is to be swept.

param

Name of parameter to sweep.

freq

(Hz)

Frequency at which components will be evaluated in setting up the linearized network.

State-file parameters

readns

File that contains estimate of DC solution (nodeset).

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.

Output parameters

oppoint

no

Should operating point information be computed, and if so, where should it be sent. Possible values are no, screen, logfile and rawfile.

zeroonly

no

If set, only zeros are requested. Possible values are no and yes.

Filtering parameters

fmax

(Hz)

Maximum pole and zero frequency value to filter out spurious poles and zeros. This parameter is passed to psf outputs for plotting filtering.

docancel

yes

If set, pole-zero cancellation is requested. Possible values are no and yes.

absdiff

1e-6 Hz

Pole-Zero cancel absolute distance in Hz.

reldiff

1e-4

Pole-Zero cancel relative distance.

Convergence parameters

prevoppoint

no

Use the operating point computed on the previous analysis. Possible values are no and yes.

restart

yes

Restart the DC solution from scratch if any condition has changed. If not, use the previous solution as initial guess. Possible values are no and yes.

Annotation parameters

annotate

sweep

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

title

Analysis title.

Miscellaneous parameters

method

qz

Method to perform pz analysis. Possible values are qz and arnoldi.

pole_emphasis

lowfreq

If set to lowfreq, calculate low-frequency poles more accurately. If set to highfreq, calculate high-frequency poles more accurately. Possible values are lowfreq and highfreq.

numpoles

Maximum number of poles requested, only for arnoldi method.

numzeros

Maximum number of zeros requested, only for arnoldi method.

sigmar

0.1

root finding control parameter, only for arnoldi method.

sigmai

0.0

root finding control parameter, only for arnoldi method.

Examples

mypz pz 
Pole analysis is performed. 
mypz2  (n1 n2) pz iprobe=VIN 
Input is VIN and output is voltage difference between nodes n1 and n2. Both pole and zero analyses are performed. 
mypz3 (n1 n2) pz iprobe=I1 
Input is I1, output is voltage difference between n1 and n2. Both pole and zero analyses are performed. 
mypz4 pz iprobe=VIN oprobe=IP1 porti=1 
Input is VIN, output is current through IP1, where IP1 is an iprobe. Both pole and zero analyses are performed. 
mypz5 pz iprobe=VIN oprobe=V3 porti=1 
Input is VIN, output is current through voltage source V3. Both pole and zero analyses will be performed. 
mypz6 pz iprobe=VIN oprobe=R3 portv=1 
Input is VIN, output is the voltage across the resistor R3. Both pole and zero analyses will be performed. 
mypz7 (n1 n2) pz iprobe=I1 param=temp start=25 stop=100 step=25 
Sweep temperature from 25 C to 100 C with increment of 25 C. 
parameters rval=2.0 
 R2 3 4 resistor r=rval 
 ... 
 sweep1 sweep param=rval start=1 stop=10 step=1 { 
    mypz8 (n1 n2) iprobe=VIN 
 } 
External sweep parameter rval from 1 to 10 with increment of 1. 
mypz9 (n1 n2) pz iprobe=VIN docancel=no 
Do not perform pole-zero cancellation. 
Note:
Note: porti allows you to select a current associated with a specific device given in oprobe as an output. This device, however, has to have its terminal currents as network variables. Thus, to avoid confusion, porti should be used exclusively with voltage sources and current probes and with other components that have voltage-defined branches.

When PZ analysis finishes, a table is printed by default. The table includes values of poles/zeros and a brief notification on the "right-hand side poles", if there are any. This information can also be viewed graphically. n addition to the direct results, "DC gain" is also listed at the end. It calculates the gain of transfer function H(s), given s=0, including the contribution of the excluded poles/zeros (blocked by user-specified fmax). "Constant factor" calculates the ratio of the coefficients of the leading terms in the numerator and denominator of H(s).


Return to top
 ⠀
X