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.
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
|
Frequency at which components will be evaluated in setting up the linearized network. |
|
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. |
|
Degree of annotation. Possible values are no, title, sweep, status and steps. |
||
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:
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