A method for analyzing the steady-state operation of semiconductor circuits using a digital computer

V. V. PFENING
Submitted 1974 | SovietRxiv: ru-197401.12517 | Translated from Russian

Abstract Generated abstract

This paper presents a computational method for steady-state analysis of semiconductor circuits by separating nonlinear semiconductor elements from the remaining linear network. The linear part is treated as a multiport whose external variables are only the currents and voltages associated with nonlinear branches, and formulas are derived, using circuit topology and the fundamental-loop matrix, for constructing the matrices that relate these variables and independent sources. The resulting reduced nonlinear system can then be solved by iterative or Newton methods, with the circuit tree chosen to improve convergence. A Minsk-2 implementation for diode and transistor circuits is described, and comparative calculations indicate reduced per-iteration computation and improved convergence relative to a generalized node-voltage approach.

Full Text

ON A METHOD FOR ANALYZING THE STEADY-STATE OPERATION OF SEMICONDUCTOR CIRCUITS USING A DIGITAL COMPUTER

V. V. PFENING

(Presented by the Department of Computer Engineering)

The static mode of electronic circuits with semiconductor elements is substantially affected by the nonlinearity of the characteristics of semiconductor diodes and triodes. The problem of analyzing the steady-state operation of semiconductor circuits reduces to obtaining a system of nonlinear algebraic equations and solving the resulting system by one of the methods of successive approximations.

The generalized methods of node voltages and loop currents have become the most widespread in the calculation of electrical circuits on digital computers. The number of independent variables, which in the case of nonlinear circuits are determined at each step of successive approximations, for the indicated calculation methods is determined by the topological complexity of the circuit: respectively, by the number of independent nodes for the node-voltage method and by the number of independent loops for the loop-current method. To refine the operation of nonlinear elements at each step, however, only the voltages (or currents) directly associated with the nonlinear elements are used.

Consequently, it is advisable to reduce the system of equations of a circuit with nonlinear elements to such a form that the variables in it are only the voltages and currents of branches with nonlinear elements, while all other variables are eliminated [1, 2]. For this purpose, let us remove all nonlinear elements from the circuit and represent the remaining part of the circuit, containing all linear resistances and independent sources, in the form of a multiport \(M\). The number of independent currents and voltages of nodal pairs for a transistor is equal to two; therefore, for the linear multiport it may be considered in the form of two external branches. A diode is represented by one branch. In the general case, the nonlinear multiport being singled out must be represented in the form of a \(2n\)-terminal network and, accordingly, in the form of \(n\) external branches.

The relation between the voltages and currents of all external branches for the linear part of the circuit is expressed by the equation

\[ HX + F \begin{bmatrix} I \\ E \end{bmatrix} = Y, \tag{1} \]

where

\(X\) and \(Y\) are, respectively, the vectors of the independent and dependent variables of the external branches (here and below, in—

the index \(N\) indicates that the variables pertain to the external branches):

\[ X = \begin{bmatrix} I_{x_1}\\ \vdots\\ I_{x_r}\\ U_{N_{(r+1)}}\\ \vdots\\ U_{N_n} \end{bmatrix}, \qquad Y = \begin{bmatrix} U_{x_1}\\ \vdots\\ U_{x_r}\\ I_{N_{(r+1)}}\\ \vdots\\ I_{N_n} \end{bmatrix} \]

\(n\) — the total number of external branches;
\(r\) — the number of external branches to which the current variable of the vector \(X\) corresponds;
\(I\) and \(E\) — respectively, the vectors of independent current sources and voltage sources of the internal multiport \(M\);
\(H\) — a square matrix of order \(n\);
\(F\) — a rectangular matrix of size \(n \times s\) (\(s\) is the total number of independent sources).

In what follows we shall call the external branches that correspond to the current variables of the vector \(X\) current inputs, and the external branches that correspond to the voltage variables in \(X\) voltage inputs. The values of the currents and voltages of the vectors \(X\) and \(Y\) can be found by solving equation (1) together with the equations of the nonlinear elements.

For the subsequent discussion we shall use concepts from graph theory and circuit topology [4, 5]. The condition for the existence of the matrices \(H\) and \(F\) in equation (1) can be expressed by the following theorem:

Theorem 1. For any linear \(2n\)-terminal network containing resistances and independent sources, the matrices \(H\) and \(F\) exist for the selected set of variables of the vectors \(X\) and \(Y\) if and only if there exists a tree of the circuit such that each current variable of the vector \(X\) and each internal current source corresponds to a link, and each voltage variable in \(X\) and each internal emf source corresponds to a branch of the tree.

The proof of an analogous theorem is given in [7]. The difference is that in [7] the independent current and emf sources are included in the external branches (and are not left inside the multiport), and the existence is proved of the matrix \(H_{\mathrm{p}}\) of the equation

\[ H_{\mathrm{p}} X = Y, \tag{2} \]

where the vectors \(X\) and \(Y\) also include the currents and voltages of the independent sources.

It is easy to show that if the matrix \(H_{\mathrm{p}}\) of equation (2) exists, then the matrices \(H\) and \(F\) of equation (1) also exist, since in this case they are simply submatrices of \(H_{\mathrm{p}}\). The transition from system (2) to (1) can be accomplished by eliminating from system (2) the equations corresponding to branches with independent sources; the terms with independent sources in the remaining equations will give the component

\[ F \begin{bmatrix} J\\ E \end{bmatrix} \]

of equation (1).

In deriving expressions for obtaining the matrices \(H\) and \(F\), we shall use the fundamental-loop matrix. The basic equation for the loop method is written as follows:

\[ ZI=\Gamma E_{\mathrm{v}}, \tag{3} \]

where

\[ \begin{aligned} Z&\text{ is the square matrix of loop resistances;}\\ I&\text{ is the column matrix of loop currents;}\\ \Gamma&\text{ is the loop-branch incidence matrix;}\\ E_{\mathrm{v}}&\text{ is the column matrix of voltages of the active branches.} \end{aligned} \]

The matrix of loop resistances \(Z\) is equal to the expression

\[ Z=\Gamma Z_{\mathrm{v}}\Gamma^{t}, \tag{4} \]

where

\[ \begin{aligned} Z_{\mathrm{v}}&\text{ is the diagonal matrix of resistances of the passive branches,}\\ \Gamma^{t}&\text{ is the transposed matrix } \Gamma. \end{aligned} \]

The branch currents are related to the loop currents by the relation

\[ I_{\mathrm{v}}=\Gamma^{t}I, \tag{5} \]

where \(I_{\mathrm{v}}\) is the column matrix of branch currents.

Let us proceed directly to the determination of the matrices \(H\) and \(F\) for a linear \(2n\)-terminal network. Let the matrix \(\Gamma\) be the fundamental-loop matrix for the selected tree of the circuit satisfying Theorem 1. We shall partition the matrix \(\Gamma\) in accordance with the nature of the circuit elements and the character of their inclusion (respectively in the tree branches or in chords). We shall use the previously introduced index \(N\) and, in addition, the indices: \(M\) for elements belonging to the internal multi-terminal network; \(B\) for tree branches; and \(C\) for chords. According to Theorem 1, the chords of the circuit may be internal independent current sources—\(M\Gamma\), internal passive chords—\(RC\), and current inputs—\(NC\), while the tree branches may be internal independent voltage sources—\(ME\), internal passive tree branches—\(RB\), and voltage inputs—\(NB\). Consequently, the matrix \(\Gamma\) can be partitioned as follows:

\[ \Gamma= \begin{array}{c} \\[-1.2em] \begin{array}{cccccc} M\Gamma & RC & NC & ME & RB & NB \end{array}\\ \begin{array}{c} M\Gamma\\ RC\\ NC \end{array} \left[ \begin{array}{ccc|ccc} E_{1} & 0 & 0 & \Gamma_{1} & \Gamma_{2} & \Gamma_{3}\\ 0 & E_{2} & 0 & \Gamma_{4} & \Gamma_{5} & \Gamma_{6}\\ 0 & 0 & E_{3} & \Gamma_{7} & \Gamma_{8} & \Gamma_{9} \end{array} \right], \end{array} \]

where the identity matrices \(E_{1}, E_{2}\), and \(E_{3}\) correspond to the chords, and the submatrices \(\Gamma_{1}\div\Gamma_{9}\) to the tree branches.

Similarly, let us partition the matrices \(I, Z, I_{\mathrm{v}}, Z_{\mathrm{v}}\), and \(E_{\mathrm{v}}\):

\[ I= \left[ \begin{array}{c} I_{M\Gamma}\\ I_{RC}\\ I_{NC} \end{array} \right]; \qquad Z= \begin{array}{c} \\[-1.2em] \begin{array}{ccc} M\Gamma & RC & NC \end{array}\\ \begin{array}{c} M\Gamma\\ RC\\ NC \end{array} \left[ \begin{array}{ccc} Z_{11} & Z_{12} & Z_{13}\\ Z_{21} & Z_{22} & Z_{23}\\ Z_{31} & Z_{32} & Z_{33} \end{array} \right]; \end{array} \]

\[ I_{\mathrm{B}}=0 \begin{bmatrix} I_{MJ}\\ I_{RC}\\ I_{NC}\\ I_{ME}\\ I_{RB}\\ I_{NB} \end{bmatrix}; \qquad Z_{\mathrm{B}}= \begin{bmatrix} 0&0&0&0&0&0\\ 0&Z_{RC}&0&0&0&0\\ 0&0&0&0&0&0\\ 0&0&0&0&0&0\\ 0&0&0&0&Z_{RB}&0\\ 0&0&0&0&0&0 \end{bmatrix}; \qquad E_{\mathrm{B}}= \begin{bmatrix} U_{MI}\\ 0\\ U_{NC}\\ U_{ME}\\ 0\\ U_{NB} \end{bmatrix}. \]

In the column matrix \(E_{\mathrm{B}}\), the terms \(U_{NC}\) and \(U_{NB}\) are preceded by a minus sign, since for external branches, unlike independent sources, the direction of the voltages is opposite to the direction of the branch current.

Using the notation introduced, equation (1) can be rewritten in the following form:

\[ \frac{ \begin{matrix} H_{11}&H_{12}\\ H_{21}&H_{22} \end{matrix} }{} \, \frac{I_{NC}}{U_{NB}} + \frac{ \begin{matrix} F_{11}&F_{12}\\ F_{21}&F_{22} \end{matrix} }{} \, \frac{I_{MJ}}{U_{ME}} = \frac{U_{NC}}{I_{NB}} . \tag{6} \]

Substitute \(Z\), \(I\), \(\Gamma\), and \(E_{\mathrm{B}}\) into equation (3). After multiplication of the matrices, this equation reduces to a system of three equations, of which we shall need (2) and (3) (respectively, equations (7) and (8)):

\[ Z_{21} I_{MJ}+Z_{22} I_{RC}+Z_{23} I_{NC} = \Gamma_{4} U_{ME}-\Gamma_{6} U_{NB}, \tag{7} \]

\[ Z_{31} I_{MJ}+Z_{32} I_{RC}+Z_{33} I_{NC} = -\,U_{NC}+\Gamma_{7} U_{ME}-\Gamma_{9} U_{NB}. \tag{8} \]

Determine from equation (7) the currents of the internal passive connections,

\[ I_{RC}=Z_{22}^{-1}\left(\Gamma_{4}U_{ME}-\Gamma_{6}U_{NB}-Z_{21}I_{MJ}-Z_{23}I_{NC}\right), \tag{9} \]

where

\(Z_{22}^{-1}\) is the inverse matrix with respect to \(Z_{22}\). Substituting (9) into (8), we obtain the first equation of the system of equations (6):

\[ H_{11}I_{NC}+H_{12}U_{NB}+F_{11}I_{MJ}+F_{12}U_{ME}=U_{NC}, \]

where

\[ \left. \begin{aligned} H_{11}&=Z_{32}Z_{22}^{-1}Z_{23}-Z_{33}; & H_{12}&=Z_{32}Z_{22}^{-1}\Gamma_{6}-\Gamma_{9}; \\ F_{11}&=Z_{32}Z_{22}^{-1}Z_{21}-Z_{31}; & F_{12}&=\Gamma_{7}-Z_{32}Z_{22}^{-1}\Gamma_{4}. \end{aligned} \right\} \tag{10} \]

The second equation of the system (6) can be obtained from relation (5), which for our case is rewritten in the form

\[ \begin{bmatrix} E_{1}&0&0\\ 0&E_{2}&0\\ 0&0&E_{3}\\ \Gamma_{1}^{t}&\Gamma_{4}^{t}&\Gamma_{7}^{t}\\ \Gamma_{2}^{t}&\Gamma_{5}^{t}&\Gamma_{8}^{t}\\ \Gamma_{3}^{t}&\Gamma_{6}^{t}&\Gamma_{9}^{t} \end{bmatrix} \begin{bmatrix} I_{MJ}\\ I_{RC}\\ I_{NC} \end{bmatrix} = \begin{bmatrix} I_{MJ}\\ I_{RC}\\ I_{NC}\\ I_{ME}\\ I_{RB}\\ I_{NB} \end{bmatrix}. \]

The last equation of this system has the form

\[ \Gamma_{3}^{t}I_{MJ}+\Gamma_{6}^{t}I_{RC}+\Gamma_{9}^{t}I_{NC}=I_{NB}. \]

Substituting expression (9) into this equation, we obtain the second equation of the system (6)

\[ H_{21}I_{NC}+H_{22}U_{NB}+F_{21}I_{MJ}+F_{22}U_{ME}=I_{NB}, \]

where

\[ \begin{aligned} H_{21}&=\Gamma_{9}^{t}-\Gamma_{6}^{t} Z_{22}^{-1} Z_{23}; & H_{22}&=-\Gamma_{6}^{t} Z_{22}^{-1}\Gamma_{6},\\ F_{21}&=\Gamma_{3}^{t}-\Gamma_{6}^{t} Z_{22}^{-1} Z_{21}; & F_{22}&=\Gamma_{6}^{t} Z_{22}^{-1}\Gamma_{4}. \end{aligned} \tag{11} \]

The matrix \(Z\) is determined by multiplying three matrices (equation (4)). In computing it, it is advisable to use the fact that many submatrices of the matrices \(\Gamma\) and \(Z_{\mathrm{B}}\) are zero or identity matrices. After multiplying the matrices and performing certain transformations, the expression for determining the matrix \(Z\) can be reduced to the form

\[ Z= \begin{bmatrix} Z_{11} & Z_{12} & Z_{13}\\ Z_{21} & Z_{22} & Z_{23}\\ Z_{31} & Z_{32} & Z_{33} \end{bmatrix} = \begin{bmatrix} 0 & 0 & 0\\ 0 & Z_{RC} & 0\\ 0 & 0 & 0 \end{bmatrix} +\Gamma_{RB} Z_{RB}\Gamma_{RB}^{t}, \tag{12} \]

where

\[ \Gamma_{RB}= \begin{bmatrix} \Gamma_{2}\\ \Gamma_{5}\\ \Gamma_{8} \end{bmatrix}. \]

Thus, all elements of the matrices \(H\) and \(F\) are ultimately computed as functions of the elements of the matrix \(\Gamma\) and of the resistances of the internal passive branches of the multiport. First it is necessary to compute the elements of the matrix \(Z\) (equation (12)), and then the elements of the matrices \(H\) and \(F\) (equations (10) and (11)).

After the matrices \(H\) and \(F\) have been determined, the further calculation of the circuit, i.e., the simultaneous solution of the equation of the linear multiport (1) and the equations of the nonlinear elements, is carried out by one of the approximate methods for solving systems of nonlinear equations, for example, by the iteration method or Newton’s method [1, 2, 3].

An important advantage of the described method of calculation by dividing the circuit into linear and nonlinear parts is that, by a corresponding partition of the variables of the external branches into the vectors \(X\) and \(Y\) (i.e., by a corresponding inclusion of the branches of the nonlinear elements in the tree or in the cotree), the convergence of successive-approximation methods can be substantially improved.

On the basis of the algorithm presented above, a program has been compiled for analyzing the static operating regime of circuits with semiconductor diodes and triodes for the Minsk-2 digital computer. The input data for the program are: a list of the circuit elements indicating the order of their connection (the numbers of the nodes between which an element is connected are specified), the values of the element parameters, and an initial approximation for the currents and voltages of the branches with nonlinear elements. For semiconductor diodes and triodes, the values of the parameters of equivalent circuits are specified (the equivalent circuits themselves are not specified; they are assumed fixed and are taken into account in the corresponding subroutines for the diode and triode).

In the adopted diode model, in addition to the ideal diode, the base bulk conductance, which depends on the operating regime, and the leakage resistance are taken into account. A linear dependence on the diode current is assumed for the base bulk conductance. In the triode model, which is based on the Ebers–Moll equations [6], provision is made for taking into account the dependence of the current gain coefficients and the base bulk resistance on the operating regime, and for taking into account breakdown of the emitter junction for drift triodes.

The program selects the circuit tree, constructs the fundamental-loop matrix, computes the matrices \(H\) and \(F\), and jointly solves the equations of the linear and nonlinear parts by the method of successive approximations. The tree is selected with allowance for the operating mode of the semiconductor devices in order to ensure the best convergence; the operating mode is determined from the initial approximation for the junction voltages of semiconductor diodes and triodes. The equations of the linear part of the circuit and of the nonlinear elements are solved jointly by Newton’s method.

Comparative calculations carried out with this program and with the program used previously, which was based on the generalized node-voltage method with the application of Newton’s method, showed that the method of calculating circuits by dividing them into linear and nonlinear parts offers the following advantages: the solution time at each step is reduced owing to the reduction in the number of variables and owing to the fact that, for the linear part, the matrices \(H\) and \(F\) are formed only once; the convergence of the methods of successive approximations is substantially improved if the circuit tree is selected in accordance with the operating mode of the semiconductor devices.

REFERENCES

  1. V. M. Bondarenko. Algorithms for the numerical analysis of nonlinear dc electrical and electronic circuits. Theoretical Electrical Engineering. Scientific Transactions of OMIIZhT, vol. 65, Omsk, 1965.

  2. V. M. Bondarenko. Iterative methods for the analysis of dc circuits with transistors. Theoretical Electrical Engineering, Publishing House of Lviv University, issue 1, Lviv, 1966.

  3. B. P. Demidovich, I. A. Maron. Fundamentals of Computational Mathematics. Nauka, Moscow, 1966.

  4. N. A. Melnikov. Matrix Method for the Analysis of Electrical Circuits. Energiya, 1966.

  5. S. Seshu, N. Balabanian. Analysis of Linear Networks. Moscow–Leningrad, GEI, 1963.

  6. D. Ebers, D. Moll. Large-signal behavior of junction transistors. Problems of Radar Engineering, No. 4, 1955.

  7. So H. C. On the Hybrid Description of a Linear n-Port Resulting from the Extraction of the Arbitrarily Specified Elements, IEEE Trans. on Circuit Theory, vol. CT—12, pp. 381–387, September, 1965.

Submission history

A method for analyzing the steady-state operation of semiconductor circuits using a digital computer