Using Pole/Zero Analysis

Star-Hspice uses the Muller methodMuller, D. E., A Method for Solving Algebraic Equations Using a Computer, Mathematical Tables and Other Aids to Computation (MTAC). 1956, Vol. 10,. pp. 208-215. to calculate the roots of polynomials N(s) and D(s). This method approximates the polynomial with a quadratic equation that fits through three points in the vicinity of a root. Successive iterations toward a particular root are obtained by finding the nearer root of a quadratic whose curve passes through the last three points.

In Muller's method, the selection of the three initial points affects the convergence of the process and accuracy of the roots obtained. If the poles or zeros are spread over a wide frequency range, choose (X0R, X0I) close to the origin to find poles or zeros at zero frequency first. Then find the remaining poles or zeros in increasing order. The values (X1R, X1I) and (X2R, X2I) may be orders of magnitude larger than (X0R, X0I). If there are poles or zeros at high frequencies, X1I and X2I should be adjusted accordingly.

Pole/zero analysis results are based on the circuit's DC operating point, so the operating point solution must be accurate. Consequently, the .NODESET statement (not .IC) is recommended for initialization to avoid DC convergence problems.

.PZ (Pole/Zero) Statement

The syntax is:

.PZ output input

PZ

Invokes the pole/zero analysis

input

Input source, which may be any independent voltage or current source name

output

Output variables, which may be any node voltage, V(n), or any branch current, I(element name)

Example
.PZ   V(10)   VIN
.PZ   I(RL)   ISORC
.PZ   I1(M1)  VSRC

Pole/Zero Control Options

CSCAL Sets the capacitance scale. Capacitances are multiplied by CSCAL. Default=1e+12.

FMAX Sets the maximum pole and zero angular frequency value. Default=1.0e+12 rad/sec.

FSCAL Sets the frequency scale. Frequency is multiplied by FSCAL. Default=1e-9.

GSCAL Sets the conductance scale. Conductances are multiplied by GSCAL, and resistances are divided by GSCAL. Default=1e+3.

ITLPZ Sets the pole/zero analysis iteration limit. Default=100.

LSCAL Sets the inductance scale. Inductances are multiplied by LSCAL. Default=1e+6.

Note: The scale factors must satisfy the following relations.

If scale factors are changed, the initial Muller points, (X0R, X0I), (X1R, X1I) and (X2R, X2I), may have to be modified, even though internally the program multiplies the initial values by (1e-9/GSCAL).

PZABS Sets absolute tolerances for poles and zeros. This option affects the low frequency poles or zeros. It is used as follows:

If ,

then and .

This option is also used for convergence tests. Default=1e-2.

PZTOL Sets the relative error tolerance for poles or zeros. Default=1.0e-6.

RITOL Sets the minimum ratio value for (real/imaginary) or (imaginary/real) parts of the poles or zeros. Default1.0e-6. RITOL is used as follows:

If , then

If , then

(X0R,X0I) the three complex starting trial points in the Muller

(x1R,X1I) algorithm for pole/zero analysis. Defaults:

(X2R,X21) X0R=-1.23456e6 X0I=0.0
X1R=1.23456e5 X1I=0.0
X2R=+1.23456e6 X21=0.0

These initial points and FMAX are multiplied by FSCAL.

Pole/Zero Analysis Examples

Example 1 - Low-Pass Filter

The following is an HSPICE input file for a low-pass prototype filter for pole/zero and AC analysisTemes, Gabor C. and Mitra, Sanjit K. Modern Filter Theory And Design. J. Wiley, 1973, page 74.. This file can be found in $installdir/demo/hspice/filters/flp5th.sp.

Fifth-Order Low-Pass Filter HSPICE File
*FILE: FLP5TH.SP
5TH-ORDER LOW_PASS FILTER
****
* T = I(R2) / IIN
*   = 0.113*(S**2 + 1.6543)*(S**2 + 0.2632) /
*     (S**5 + 0.9206*S**4 + 1.26123*S**3 +
*      0.74556*S**2 + 0.2705*S  + 0.09836)
*****
.OPTIONS POST
.PZ  I(R2) IN
.AC  DEC  100  .001HZ  10HZ
.PLOT AC  IDB(R2)  IP(R2)
IN 0 1  1.00  AC  1
R1   1  0  1.0
C3   1  0  1.52
C4   2  0  1.50
C5   3  0  0.83
C1   1  2  0.93
L1   1  2  0.65
C2   2  3  3.80
L2   2  3  1.00
R2   3  0  1.00
.END

 

Figure 27-1: Low-Pass Prototype Filter

Pole/Zero Analysis Results for Low-Pass Filter shows the magnitude and phase variation of the current output resulting from AC analysis. These results are consistent with the pole/zero analysis. The pole/zero unit is radians per second or hertz. The X-axis unit in the plot is in hertz.

 

Table 27-1: Pole/Zero Analysis Results for Low-Pass Filter

Poles (rad/sec)

Poles (hertz)

Real

Imag

Real

Imag

-6.948473e-02

-4.671778e-01

-1.105884e-02

-7.435365e-02

-6.948473e-02

4.671778e-01

-1.105884e-02

7.435365e-02

-1.182742e-01

-8.914907e-01

-1.882392e-02

-1.418852e-01

-1.182742e-01

8.914907e-01

-1.882392e-02

1.418852e-01

-5.450890e-01

0.000000e+00

-8.675361e-02

0.000000e+00

Zeros (rad/sec)

Zeros (hertz)

Real

Imag

Real

Imag

0.000000e+00

-1.286180e+00

0.000000e+00

-2.047019e-01

0.000000e+00

-5.129892e-01

0.000000e+00

-8.164476e-02

0.000000e+00

5.129892e-01

0.000000e+00

8.164476e-02

0.000000e+00

1.286180e+00

0.000000e+00

2.047019e-01

Constant Factor = 1.129524e-01

`

Figure 27-2: Fifth-Order Low-Pass Filter Response

Example 2 - Kerwin's Circuit

The following is an HSPICE input file for pole/zero analysis of Kerwin's circuitTemes, Gabor C. and Lapatra, Jack W. Circuit Synthesis And Design, McGraw-Hill. 1977, page 301, example 7-6.. This file can be found in $installdir/demo/hspice/filters/fkerwin.sp. Pole/Zero Analysis Results for Kerwin's Circuit lists the results of the analysis.

Kerwin's Circuit HSPICE File
*FILE: FKERWIN.SP
KERWIN'S CIRCUIT   HAVING JW-AXIS TRANSMISSION ZEROS.
**
* T = V(5) / VIN
*   = 1.2146 (S**2 + 2) / (S**2 + 0.1*S + 1)
* POLES = (-0.05004, +0.9987), (-0.05004, -0.9987)
* ZEROS = (0.0, +1.4142), (0.0, -1.4142)
*****
.PZ  V(5)  VIN
VIN  1  0  1
C1   1  2  0.7071
C2   2  4  0.7071
C3   3  0  1.4142 
C4   4  0  0.3536
R1   1  3  1.0
R2   3  4  1.0
R3   2  5  0.5
E1   5  0  4  0  2.4293
.END
 

 

Figure 27-3: Design Example for Kerwin's Circuit

 

Table 27-2: Pole/Zero Analysis Results for Kerwin's Circuit

Poles (rad/sec)

Poles (hertz)

Real

Imag

Real

Imag

-5.003939e-02

9.987214e-01

-7.964016e-03

1.589515e-01

-5.003939e-02

-9.987214e-01

-7.964016e-03

-1.589515e-01

-1.414227e+00

0.000000e+00

-2.250812e-01

0.000000e+00

Zeros (rad/sec)

Zeros (hertz)

Real

Imag

Real

Imag

0.000000e+00

-1.414227e+00

0.000000e+00

-2.250812e-01

0.000000e+00

1.414227e+00

0.000000e+00

2.250812e-01

-1.414227e+00

0.000000e+00

-2.250812e-01

0.000000e+00

Constant Factor = 1.214564e+00

Example 3 - High-Pass Butterworth Filter

The following is an HSPICE input file for pole/zero analysis of a high-pass Butterworth filter.Temes, Gabor C. and Mitra, Sanjit K., Modern Filter Theory And Design. J. Wiley, 1973, page 348, example 8-3. This file can be found in $installdir/demo/hspice/filters/fhp4th.sp. The analysis results are shown in Pole/Zero Analysis Results for High-Pass Butterworth Filter.

Fourth-Order High-Pass Butterworth Filter HSPICE File
*FILE: FHP4TH.SP
*****
* T = V(10) / VIN
*  = (S**4) / ((S**2 + 0.7653*S + 1) * (S**2 + 1.8477*S + 1))
*
 
* POLES, (-0.38265, +0.923895), (-0.38265, -0.923895)
*          (-0.9239, +0.3827),   (-0.9239, -0.3827)
* ZEROS, FOUR ZEROS AT (0.0, 0.0)
*****
.OPTIONS  ITLPZ=200 
.PZ   V(10)   VIN 
VIN  1  0  1
C1   1  2  1
C2   2  3  1
R1   3  0  2.613
R2   2  4  0.3826
E1   4  0  3  0  1
C3   4  5  1
C4   5  6  1
R3   6  0  1.0825
R4   5  10 0.9238
E2   10 0  6  0  1
RL   10 0  1E20
.END

 

Figure 27-4: Fourth-Order High-Pass Butterworth Filter

 

Table 27-3: Pole/Zero Analysis Results for High-Pass Butterworth Filter

Poles (rad/sec)

Poles (hertz)

Real

Imag

Real

Imag

-3.827019e-01

-9.240160e-01

-6.090889e-02

1.470617e-01

-3.827019e-01

9.240160e-01

-6.090890e-02

-1.470617e-01

-9.237875e-01

3.828878e-01

-1.470254e-01

6.093849e-02

-9.237875e-01

-3.828878e-01

-1.470254e-01

-6.093849e-02

Zeros (rad/sec)

Zeros (hertz)

Real

Imag

Real

Imag

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

0.000000e+00

Constant Factor = 1.000000e+00

Example 4 - CMOS Differential Amplifier

The following is an HSPICE input file for pole/zero analysis of a CMOS differential amplifier for pole/zero and AC analysis. The file can be found in $installdir/demo/hspice/apps/mcdiff.sp. The analysis results are shown in Pole/Zero Analysis Results for CMOS Differential Amplifier.

CMOS Differential Amplifier HSPICE File
FILE: MCDIFF.SP
CMOS DIFFERENTIAL AMPLIFIER
.OPTIONS PIVOT SCALE=1E-6 SCALM=1E-6  WL
.PZ V(5) VIN
VIN 7 0 0 AC 1
.AC DEC 10 20K 500MEG
.PRINT AC VDB(5) VP(5) 
M1  4  0  6  6  MN  100  10  2  2
M2  5  7  6  6  MN  100  10  2  2
M3  4  4  1  1  MP  60  10  1.5  1.5
M4  5  4  1  1  MP  60  10  1.5  1.5
M5  6  3  2  2  MN  50  10  1.0  1.0
VDD  1  0  5
VSS  2  0  -5
VGG  3  0  -3
RIN  7  0   1
.MODEL  MN  NMOS  LEVEL=5  VT=1  UB=700  FRC=0.05  DNB=1.6E16
+ XJ=1.2  LATD=0.7  CJ=0.13  PHI=1.2  TCV=0.003  TOX=800
$
.MODEL  MP  PMOS  LEVEL=5  VT=-1  UB=245  FRC=0.25  TOX=800
+ DNB=1.3E15  XJ=1.2  LATD=0.9  CJ=0.09  PHI=0.5  TCV=0.002
.END

 

Figure 27-5: CMOS Differential Amplifier

 

Table 27-4: Pole/Zero Analysis Results for CMOS Differential Amplifier

Poles (rad/sec)

Poles (hertz)

Real

Imag

Real

Imag

-1.798766e+06

0.000000e+00

-2.862825e+05

0.000000e+00

-1.126313e+08

-6.822910e+07

-1.792583e+07

-1.085900e+07

-1.126313e+08

6.822910e+07

-1.792583e+07

1.085900e+07

Zeros (rad/sec

Zeros (hertz)

Real

Imag

Real

Imag

-1.315386e+08

7.679633e+07

-2.093502e+07

1.222251e+07

-1.315386e+08

-7.679633e+07

-2.093502e+07

-1.222251e+07

7.999613e+08

0.000000e+00

1.273178e+08

0.000000e+00

Constant Factor = 3.103553e-01

Example 5 - Simple Amplifier

The following is an HSPICE input file for pole/zero analysis of an equivalent circuit of a simple amplifier with RS=RPI=RL=1000 ohms, gm=0.04 mho, CMU=1.0e-11 farad, and CPI=1.0e-9 faradDesoer, Charles A. and Kuh, Ernest S. Basic Circuit Theory. McGraw-Hill, 1969, page 613, example 3.. The file can be found in $installdir/demo/hspice/apps/ampg.sp. The analysis results are shown in Pole/Zero Analysis Results for Amplifier.

Amplifier HSPICE File
FILE: AMPG.SP
A SIMPLE AMPLIFIER.
* T = V(3) / VIN
* T = 1.0D6*(S - 4.0D9) / (S**2 + 1.43D8*S + 2.0D14)
* POLES =  (-0.14D7, 0.0), (-14.16D7, 0.0)
* ZEROS =  (+4.00D9, 0.0)
.PZ   V(3)   VIN
RS   1  2  1K
RPI  2  0  1K
RL   3  0  1K
GMU  3  0  2  0  0.04
CPI  2  0  1NF
CMU  2  3  10PF
VIN  1  0  1
.END

 

Figure 27-6: Simple Amplifier
Table 27-5: Pole/Zero Analysis Results for Amplifier

Poles (rad/sec)

Poles (hertz)

Real

Imag

Real

Imag

-1.412555+06

0.000000e+00

-2.248151e+05

0.000000e+00

-1.415874+08

0.000000e+00

-2.253434e+07

0.000000e+00

Zeros (rad/sec)

Zeros (hertz)

Real

Imag

Real

Imag

4.000000e+09

0.000000e+00

6.366198e+08

0.000000e+00

Constant Factor = 1.000000e+06

Example 6-- Active Low-Pass Filter

The following is an HSPICE input file for pole/zero analysis of an active ninth-order low-pass filterVlach, Jiri and Singhal, Kishore. Computer Methods For Circuit Analysis and Design. Van Nostrand Reinhold Co., 1983, pages 142, 494-496. using the ideal op-amp element. AC analysis is performed. The file can be found in $installdir/demo/hspice/filters/flp9th.sp. The analysis results are shown in Pole/Zero Analysis Results for the Active Low-Pass Filter.

Ninth Order Low-Pass Filter HSPICE File
FILE: FLP9TH.SP
******
VIN  IN  0  AC 1
.PZ  V(OUT) VIN
.AC  DEC  50  .1K  100K
.OPTIONS  POST  DCSTEP=1E3  X0R=-1.23456E+3  X1R=-1.23456E+2
+ X2R=1.23456E+3  FSCAL=1E-6  GSCAL=1E3  CSCAL=1E9  LSCAL=1E3
.PLOT  AC  VDB(OUT)
.SUBCKT OPAMP IN+ IN- OUT GM1=2 RI=1K CI=26.6U GM2=1.33333 RL=75
RII IN+ IN- 2MEG
RI1 IN+ 0 500MEG
RI2 IN- 0 500MEG
G1  1  0  IN+  IN-  GM1
C1  1  0  CI
R1  1  0  RI
G2   OUT  0  1  0  GM2
RLD  OUT  0  RL
.ENDS
.SUBCKT FDNR 1 R1=2K C1=12N R4=4.5K 
RLX=75
R1  1  2  R1
C1  2  3  C1
R2  3  4  3.3K
R3  4  5  3.3K
R4  5  6  R4
C2  6  0  10N
XOP1  2  4  5  OPAMP
XOP2  6  4  3  OPAMP
.ENDS
*
RS IN 1 5.4779K
R12 1 2 4.44K
R23 2 3 3.2201K
R34 3 4 3.63678K
R45 4 OUT 1.2201K
C5 OUT 0 10N
X1 1 FDNR R1=2.0076K  C1=12N    R4=4.5898K
X2 2 FDNR R1=5.9999K  C1=6.8N   R4=4.25725K
X3 3 FDNR R1=5.88327K C1=4.7N   R4=5.62599K
X4 4 FDNR R1=1.0301K  C1=6.8N   R4=5.808498K
.END

 

Figure 27-7: Linear Model of the 741C Op-Amp

 

Figure 27-8: The FDNR Subcircuit

 

Figure 27-9: Active Realization of the Low-Pass Filter

 

Table 27-6: Pole/Zero Analysis Results for the Active Low-Pass Filter

Poles (rad/sec)

Poles (hertz)

Real

Imag

Real

Imag

-4.505616e+02

-2.210451e+04

-7.170911e+01

-3.518042e+03

-4.505616e+02

2.210451e+04

-7.170911e+01

3.518042e+03

-1.835284e+03

2.148369e+04

-2.920944e+02

3.419236e+03

-1.835284e+03

-2.148369e+04

-2.920944e+02

-3.419236e+03

-4.580172e+03

1.944579e+04

-7.289571e+02

3.094894e+03

-4.580172e+03

-1.944579e+04

-7.289571e+02

-3.094894e+03

-9.701962e+03

1.304893e+04

-1.544115e+03

2.076802e+03

-9.701962e+03

-1.304893e+04

-1.544115e+03

-2.076802e+03

-1.353908e+04

0.000000e+00

-2.154811e+03

0.000000e+00

-3.668995e+06

-3.669793e+06

-5.839386e+05

-5.840657e+05

-3.668995e+06

3.669793e+06

-5.839386e+05

5.840657e+05

-3.676439e+06

-3.676184e+06

-5.851234e+05

-5.850828e+05

-3.676439e+06

3.676184e+06

-5.851234e+05

5.850828e+05

-3.687870e+06

3.687391e+06

-5.869428e+05

5.868665e+05

-3.687870e+06

-3.687391e+06

-5.869428e+05

-5.868665e+05

-3.695817e+06

-3.695434e+06

-5.882075e+05

-5.881466e+05

-3.695817e+06

+3.695434e+06

-5.882075e+05

5.881466e+05

Zeroes (rad/sec)

Zeroes (hertz)

Real

Imag

Real

Imag

-3.220467e-02

-2.516970e+04

-5.125532e-03

-4.005882e+03

-3.220467e-02

2.516970e+04

-5.125533e-03

4.005882e+03

2.524420e-01

-2.383956e+04

4.017739e-02

-3.794184e+03

2.524420e-01

2.383956e+04

4.017739e-02

3.794184e+03

1.637164e+00

2.981593e+04

2.605627e-01

4.745353e+03

1.637164e+00

-2.981593e+04

2.605627e-01

-4.745353e+03

4.888484e+00

4.852376e+04

7.780265e-01

7.722796e+03

4.888484e+00

-4.852376e+04

7.780265e-01

-7.722796e+03

-3.641366e+06

-3.642634e+06

-5.795413e+05

-5.797432e+05

-3.641366e+06

3.642634e+06

-5.795413e+05

5.797432e+05

-3.649508e+06

-3.649610e+06

-5.808372e+05

-5.808535e+05

-3.649508e+06

3.649610e+06

-5.808372e+05

5.808535e+05

-3.683700e+06

3.683412e+06

-5.862790e+05

5.862333e+05

-3.683700e+06

-3.683412e+06

-5.862790e+05

-5.862333e+05

-3.693882e+06

3.693739e+06

5.878995e+05

5.878768e+05

-3.693882e+06

-3.693739e+06

-5.878995e+05

-5.878768e+05

Constant Factor = 4.451586e+02

 

Figure 27-10: 9th Order Low-Pass Filter Response

The top graph in 9th Order Low-Pass Filter Response plots the bandpass response of the Pole/Zero Example 6 low-pass filter. The bottom graph shows the overall response of the low-pass filter.

References

References for this chapter are listed below.

1. Desoer, Charles A. and Kuh, Ernest S. Basic Circuit Theory. New York: McGraw-Hill.1969. Chapter 15.

2. Van Valkenburg, M. E. Network Analysis. Englewood Cliffs, New Jersey: Prentice Hall, Inc., 1974, chapters 10 & 13.

3. R.H. Canon, Jr. Dynamics of Physical Systems. New York: McGraw-Hill, 1967. This text describes electrical, mechanical, pneumatic, hydraulic, and mixed systems.

4. B.C. Kuo. Automatic Control Systems. Englewood Cliffs, New Jersey: Prentice-Hall, 1975. This source discusses control system design, and provides background material on physical modeling.

5. L.T. Pillage, and R.A. Rohrer. Asymptotic Waveform Evaluation for Timing Analysis , IEEE Trans CAD. Apr. 1990, pp. 352 - 366. This paper is a good references on interconnect transfer function modeling which deals with transfer function extraction for timing analysis.

6. S. Lin, and E.S. Kuh. Transient Simulation of Lossy Interconnects Based on the Recursive Convolution Formulation , IEEE Trans CAS . Nov. 1992, pp. 879 - 892. This paper provides another source of interconnect transfer function modeling.

7. Muller, D. E., A Method for Solving Algebraic Equations Using a Computer, Mathematical Tables and Other Aids to Computation (MTAC). 1956, Vol. 10,. pp. 208-215.

8. Temes, Gabor C. and Mitra, Sanjit K. Modern Filter Theory And Design. J. Wiley, 1973, page 74.

9. Temes, Gabor C. and Lapatra, Jack W. Circuit Synthesis And Design, McGraw-Hill. 1977, page 301, example 7-6.

10. Temes, Gabor C. and Mitra, Sanjit K., Modern Filter Theory And Design. J. Wiley, 1973, page 348, example 8-3.

11. Desoer, Charles A. and Kuh, Ernest S. Basic Circuit Theory. McGraw-Hill, 1969, page 613, example 3.

12. Vlach, Jiri and Singhal, Kishore. Computer Methods For Circuit Analysis and Design. Van Nostrand Reinhold Co., 1983, pages 142, 494-496.

 

Star-Hspice Manual - Release 2001.2 - June 2001