# Multiple Soft Fault Diagnosis of Nonlinear Circuits Using the Continuation Method

- First Online:

- Received:
- Accepted:

DOI: 10.1007/s10836-012-5306-3

- Cite this article as:
- Tadeusiewicz, M. & Hałgas, S. J Electron Test (2012) 28: 487. doi:10.1007/s10836-012-5306-3

## Abstract

This paper offers a method for multiple soft fault diagnosis of nonlinear static circuits. The method enables us to locate the faulty elements and evaluate their parameters. It exploits a set of *n* nonlinear algebraic type diagnostic equations in *n* unknown variables and is oriented on finding multiple solutions of these equations. As a result, the method is capable of finding, in systematic manner, different sets of the parameters which satisfy the diagnostic test, rather than one specific set. For this purpose the continuation (homotopy) approach is applied and an efficient procedure for tracing a homotopy path is developed. The proposed method is especially useful at the pre-production stage, where corrections of the technological process are possible and the diagnostic time is not crucial. To illustrate the proposed approach two numerical examples are given.

### Keywords

Analog circuitsContinuation methodMultiple faultsSoft fault diagnosis## 1 Introduction

Fault diagnosis of analog circuits is an important problem in the design and testing of electronic devices [1–3]. Generally, fault diagnosis includes detecting faulty circuits, locating (identification) faulty elements and determinating their parameters. A fault is called soft when the parameter deviates from its tolerance range, but does not produce a short circuit or an open circuit. In some cases, physical imperfections such as near–opens and near–shorts may occur [4–6]. If circuit simulations take place after any testing, the diagnosis method is classified as the simulation-after-test (SAT) approach.

During the last several years, many methods devoted to soft fault diagnosis of analog circuits have been developed [7–23]. Appropriate tools for soft-fault diagnosis are SAT methods. Most of the previous research work addresses only the case when just one element is faulty. Several papers have been focused on the multiple fault diagnosis, e.g. [11, 14, 16, 17, 19, 20]. Although many achievements in this field have been made, the problem is still open and no fully automatic method is available for analog circuits.

The soft-fault SAT methods exploit a diagnostic equation that is generally nonlinear. When the parameters are slightly drifted from their tolerance ranges the equation can be linearized, e.g. [10, 19]. More accurate results are obtained using some methods for solving nonlinear equations, e.g. the Newton–Raphson method or its variants [7, 9, 12, 18], evolutionary algorithms [13], and the least square methods [8]. The soft-fault diagnosis becomes more complicated if the parameter deviations are large. In such a case some of the methods fail. Moreover, it can occur that several sets of the parameters satisfy the test equation. To find the sets (multiple solutions of the equation) different initial guesses can be chosen as proposed in [11]. Another approach based on the homotopy concept was proposed in the report [24]. This paper extends both the theoretical and numerical results of [24].

Location (identification) of faulty elements and determination of their parameters play a very important role at the pre-production stage, where corrections of the technological process are possible. In this way some defects of the technological process can be eliminated, leading to its improvement. The approach proposed in this paper is especially useful at this stage of production. In such a case, the time consumed by the diagnostic method is not crucial.

*n*circuit elements, specified by parameters

*x*

_{1}, …,

*x*

_{n}such as resistances,

*β*forward factors of bipolar transistors, intrinsic transconductance parameter

*KP*or channel width/length (

*W*/

*L*) of MOS transistors are considered as possible faulty. We wish to find the actual values of all the parameters. For this purpose a diagnostic test must be performed leading to a system of

*n*nonlinear equations in

*n*unknown variables

*x*

_{1}, …,

*x*

_{n}. The test equation can be presented in the form

*R*

^{n}into

*R*

^{n}. Generally it is impossible to formulate the nonlinear functions \( {f_i}\left( {\widehat{{{\bf x}}}} \right) \),

*i*= 1, …,

*n*, in explicit analytical form. Thus, the Eq. 1 only asserts that the output signals

*u*

_{1}, ⋯,

*u*

_{n}are some functions of the parameters

*x*

_{1}, …,

*x*

_{n}. Fortunately, the values of

*f*

_{i}(

*x*

_{1}, …,

*x*

_{n}) and their derivatives with respect to

*x*

_{j}(

*i*,

*j*= 1, …,

*n*) can be found numerically for given values of

*x*

_{1}, …,

*x*

_{n}.

*w*accessible input nodes and

*r*accessible output nodes. We apply DC voltage sources to the input nodes (see Fig. 1) and for

*K*different sets of values of these voltage sources measure the corresponding output voltages. As a result we obtain

*rK*values of the output voltages. This test enables us to perform the diagnosis of a circuit with

*n*⩽

*rK*elements considered as possible faulty.

## 2 Preliminary Discussion

The diagnostic Eq. 1 with *n* unknown parameters *x*_{1}, …, *x*_{n}, being real variables, consists of *n* nonlinear individual equations. As a result it may actually possess a unique solution, several different solutions or no solution.

The case where no solution exists means that the equation is not a realistic description of the physical circuit and should be reformulated. Existence of multiple solutions indicates that there are several sets of parameters which satisfy the test. Such a case frequently occurs in the diagnosis of many practical circuits. Research of the existence and uniqueness of the solutions of different nonlinear equations has a long history and several fundamental results relating to this problem have been obtained, including the powerful Palais theorem [25] about the global diffeomorphism.

Many algorithms are generally capable of finding only one solution, even if the nonlinear equation possesses several solutions. The Newton–Raphson method is the best known and the most frequently used for this purpose. However, finding just one specific solution in the case where the equation has multiple solutions is rarely of interest and not sufficient for the reliable diagnosis of the circuit. The solution found by the Newton–Raphson method is not necessarily the correct one. Sometimes the Newton–Raphson method fails, even if the equation has a unique solution, because in the computation process the Jacobian matrix can become singular. In many cases described in Section 4 the Newton–Raphson method applied to the nonlinear diagnostic equations fails or leads to an incorrect solution.

Since the diagnostic Eq. 1 is nonlinear, and we wish to analyse considerable deviations of the parameters, it is necessary to apply a method capable of finding multiple solutions. There is very rich literature devoted to the solvability of nonlinear equations describing resistive circuits and computing of multiple DC operating points. Unfortunately, the results obtained in this field cannot be applied to the diagnostic Eq. 1, because there is no explicit analytical representation of the function \( {{\bf f}}\left( {\widehat{{{\bf x}}}} \right) \). Generally, it is impossible to obtain analytical expressions, but the value of *f*_{i}(*x*_{1}, …, *x*_{n}) and its derivatives with respect to *x*_{j} (*j* = 1, …, *n*, *i* = 1, …, *n*) can be found numerically for given values of *x*_{1}, …, *x*_{n}. This fact will be exploited to trace a homotopy path as described in Section 3.

In this paper, we propose the continuation (homotopy) approach [26, 27] for finding multiple solutions of the diagnostic Eq. 1. The idea of this approach is as follows. To solve an equation **g**(**x**) = **0** a parameter *λ* is embedded into this equation to obtain a new one **h**(**x**, *λ*) = **0**, called a homotopy equation, such that for *λ* = 0, **h**(**x**, *λ*) = **0** can be easily solved and for *λ* = 1 it becomes the original equation **g**(**x**) = **0**. This augmented equation is deformed as the parameter *λ* varies. At each stage of the deformation the corresponding solution is calculated, taking into account the previous solution. As a result, a solution (homotopy) path is traced and each intersection of the path with *λ* = 1 plane is a solution of the diagnostic equation.

## 3 Fault Diagnosis

*x*

_{1}, …,

*x*

_{n}have their nominal values \( \widehat{{{\bf x}}} = {\widehat{{{\bf x}}}^{(0)}} \). We analyse this circuit and find the output signals leading to

**u**=

**u**

^{(0)}. Thus, the equation

Note that for *λ* = 0 the Eq. 3 reduces to the equation \( {{\bf f}}\left( {\widehat{{{\bf x}}}} \right) = {{{\bf u}}^{(0)}} \) having the known solution \( {\widehat{{{\bf x}}}^{(0)}} \), whereas for *λ* = 1 it becomes the original diagnostic equation. Denote *λ* = *x*_{n+1} and form an augmented vector \( {{\bf x}} = {\left[ {{{\widehat{{{\bf x}}}}^{\text{T}}}{x_{n + 1}}} \right]^{\,{\text{T}}}} = {\left[ {{x_1}\; \cdots {x_n}\;{x_{n + 1}}} \right]^{\,{\text{T}}}} \). Then, the homotopy equation can be written as \( \widehat{{{\bf h}}}\left( {{\bf x}} \right) = {\bf 0} \). It represents a system of *n* nonlinear scalar equations in *n* + 1 variables. As *x*_{n+1} = *λ* varies, starting from *x*_{n+1} = 0, the solution of the homotopy equation traces a homotopy path. Each intersection of this path with the *x*_{n+1} = 1 plane is a solution of the diagnostic Eq. 1. If there are several intersection points, then the test equation has several different solutions. Let us parameterize the path with respect to arc length [24, 27, 28]. This is the standard treatment of representing a path in parametric coordinates **x** = **x**(*s*).

*s*is the arc length of the path. Using the parameterization we form the set of equations

*x*

_{i}(

*s*

_{j+1}) and

*x*

_{i}(

*s*

_{j}) using the approximate formula

*h*=

*s*

_{j+1}−

*s*

_{j}. Using (5) we formulate the set of Eq. 4 at

*s*=

*s*

_{j+1}as

**w**(

**x**(

*s*

_{j+1})) =

**0**, where

*m*+ 1 (

*m*= 0, 1, …) the vector \( {{\bf w}}\left( {{{{\bf x}}^{(m)}}\left( {{s_{j + 1}}} \right)} \right) \) and the Jacobian matrix \( \frac{{{\text{d}}{{\bf w}}}}{{{\text{d}}{{\bf x}}}}\left( {{{{\bf x}}^{(m)}}\left( {{s_{j + 1}}} \right)} \right) \) have to be calculated. For this purpose \( {f_k}\left( {{{{\bf x}}^{(m)}}\left( {{s_{j + 1}}} \right)} \right) \) and \( \frac{{\partial {f_k}}}{{\partial {x_l}}}\left( {{{{\bf x}}^{(m)}}\left( {{s_{j + 1}}} \right)} \right) \) (

*k*,

*l*= 1, …,

*n*) are required. Unfortunately, the function

**f**is not given in explicit analytical form. Consequently, neither

*f*

_{k}nor \( \frac{{\partial {f_k}}}{{\partial {x_l}}} \) can be found directly. To overcome this drawback the following approach is proposed. In order to determine \( {f_k}\left( {{{{\bf x}}^{(m)}}\left( {{s_{j + 1}}} \right)} \right) \) and \( \frac{{\partial {f_k}}}{{\partial {x_l}}}\left( {{{{\bf x}}^{(m)}}\left( {{s_{j + 1}}} \right)} \right) \), (

*k*,

*l*= 1, …,

*n*) we set the known values of the parameters \( {x_i} = x_i^{(m)}\left( {{s_{j + 1}}} \right) \) (

*i*= 1, …,

*n*) and perform the DC and the sensitivity analyses of the tested circuit at different values of the input voltages. Since

*f*

_{k}is an appropriate output voltage, we obtain in this way the required \( {f_k}\left( {{{{\bf x}}^{(m)}}\left( {{s_{j + 1}}} \right)} \right) \) and \( \frac{{\partial {f_k}}}{{\partial {x_l}}}\left( {{{{\bf x}}^{(m)}}\left( {{s_{j + 1}}} \right)} \right) \) (

*k*,

*l*= 1, …,

*n*). As the initial guess we assume

*j*= 1, 2, … .

**x**

^{(0)}(

*s*

_{1}) the derivative \( \frac{{{\text{d}}{{\bf x}}}}{{{\text{d}}s}}(0) \) is needed. For this purpose we differentiate both sides of the first Eq. 4 with respect to

*s*at

*s*= 0

*x*

_{n+1}=

*λ*. According to (3) \( \frac{{\partial \widehat{{{\bf h}}}}}{{\partial {x_{n + 1}}}} = {{{\bf u}}^{(0)}} - {{\bf u}} \). Hence, we obtain

*s*varies, the homotopy path is traced as described in Section 2. To carry out this process efficiently the step size

*h*has to be changed during the computations. The step size should be decreased to a very small value, when the solution varies very fast and should be increased to a larger value when the solution changes slowly. The strategy of changing the step size is based on the error

*ε*

_{i}produced by the approximate formula (5), defined as follows

*x*

_{i}and d

*x*

_{i}/d

*s*are the exact solution and its derivative, respectively, at the indicated values of

*s*, where \( {s_{j + 1}} - {s_j} = h \). To derive a useful formula for

*ε*

_{i}we expand the functions \( {x_i}\left( {{s_{j + 1}}} \right) = {x_i}\left( {{s_j} + h} \right) \) and \( \frac{{{\text{d}}{x_i}}}{{{\text{d}}s}}\left( {{s_{j + 1}}} \right) = \frac{{{\text{d}}{x_i}}}{{{\text{d}}s}}\left( {{s_j} + h} \right) \) into the Taylor series about the point

*s*

_{j}:

*l*

_{1}=

*l*

_{2}=

*l*. Substituting (12) and (13) into (11) yields

To perform the computation process we assume a lower and upper bounds of the error \( \left| {{\varepsilon_i}} \right|{:}\,\;\varepsilon_i^{-}, \;\varepsilon_i^{+} \). If at the current step \( \varepsilon_i^{-} \leqslant \left| {{\varepsilon_i}} \right| \leqslant \varepsilon_i^{+} \) for *i* = 1, …, *n* + 1 then the step *h* remains unchanged. If \( \left| {{\varepsilon_i}} \right| > \varepsilon_i^{+} \) for at least one *i*, the step is decreased four times. If \( \varepsilon_i^{-} > \left| {{\varepsilon_i}} \right| \), for all *i* = 1, …, *n* + 1, in two successive steps, the step *h* is increased twice.

During the computation process the Newton–Raphson method is applied for solving the homotopy equation to go from *s*_{j} to *s*_{j+1}. To perform each iteration of this method, the DC analysis of the nonlinear tested circuit has to be executed, using also the Newton–Raphson method. Thus, the Newton–Raphson iteration process is carried out on two levels.

The proposed approach enables us to find several sets of parameters. One of them represents the correct set of parameters, whereas the others are virtual. Having several solutions (sets of parameters) we select these ones which satisfy some physical constraints and discard the others, e.g. containing negative resistances. If more than one solution remain, including the correct solution and virtual ones, then under the applied test they possess equal rights. To determine the correct result a different test should be carried out and the common set selected. In some cases the method gives just one set of the parameters.

## 4 Numerical Examples

Example 1

The channel width and length of the transistors are indicated in Fig. 2.

At first we consider the *KP* intrinsic transconductance parameters as faulty. The faults can be caused by deviation of the gate oxide thickness *TOX* or the carrier mobility *UO*. We consider 100% increase of *KP* in all PMOS transistors (*KP* = 56.60μA/V^{2}) and 25.47% increase of *KP* in all NMOS transistors (*KP* = 100.00μA/V^{2}).

*KP*) which meet the test, as follows: 56.64, 56.62, 56.65, 55.77, 57.50, 99.34, 101.59, 100.01. They are very close to the actual values of the parameters. The time consumed by the method is 13.17 s. For illustration, projection of the traced homotopy path on

*λ*−

*KP*

_{1}plane is shown in Fig. 3.

Another diagnostic case is as follows. Let us assume –30% deviation of the channel width/length (*W*/*L*) for PMOS and 20% deviation for NMOS transistors. Thus, the actual values of *W*/*L* of the transistors are:\( {2}.{625},{6}.{125},{35}.000,{1}0.{5}00,{1}0.{5}00,{8}.{25}0,{8}.{25}0,{9}0.000. \) The proposed method gives two sets of the parameters (*W*/*L*), which meet the test: {2.63, 6.16, 35.00, 10.75, 10.36, 8.45, 8.14, 90.00} and {2.64, 77.16, 35.18, 100.63, 280.42, 55.15, 153.66, 90.01}.

*λ*− (

*W*/

*L*)

_{7}plane is shown in Fig. 4.

Example 2

*R*

_{1}, …,

*R*

_{7}, under the assumption that the deviations of the faulty elements are equal to 35% of their nominal values. We examined 14 single faults, 42 double faults and 70 triple faults, every time assuming the values of the unfaulty elements within their 5% tolerance ranges. In addition, an unfaulty circuit were considered with the parameters dissipated inside their tolerance frames. We performed the diagnostic test at nodes A and B, as described in Section 1.

The percentage of the correct results: 89.8%,

70% only one correct set,

19.8% the correct set and one or two virtual.

In 10.2% the method diverges.

The average time of one analysis was 40s.

*R*

_{1},

*R*

_{2},

*R*

_{3}} are faulty (more than 50%) and the values of the others are within their tolerance ranges. The values of all the circuit elements are as follows: \( \left\{ {{R_1} = 100\,{\text{k}}\Omega, {R_2} = 6\,{\text{k}}\Omega, {R_3} = 20\,{\text{k}}\Omega, {R_4} = 6.95\,{\text{k}}\Omega, {R_5} = 2.78\,{\text{k}}\Omega, {R_6} = 278\Omega, {R_7} = 277\Omega, {\beta_1} = {385,}{\beta_2} = {391}} \right\} \). We consider the set of all resistors {

*R*

_{1}, …,

*R*

_{7}} as possible faulty. The proposed method gives two sets of parameters which satisfy the test, including the correct one. The time consumed by the method is 47s. The homotopy path is closed, its projection on

*λ*−

*R*

_{1}plane is shown in Fig. 6. The points of intersection of the curve with the vertical line

*λ*= 1 correspond to two values of the resistance

*R*

_{1}.

*R*

_{1}, …,

*R*

_{7}} and

*β*forward factors (

*β*

_{1}and

*β*

_{2}) as possible faulty. We extend the previous test by adding two input voltages and find (measure) 9 values of the output voltages. The measurement accuracy is assumed to be 0.1μV. The parameters are as follows: \( \left\{ {{R_1} = 265\,{\text{k}}\Omega, {R_2} = 21\,{\text{k}}\Omega, {R_3} = 42\,{\text{k}}\Omega, {R_4} = 6.95\,{\text{k}}\Omega, {R_5} = 2.78\,{\text{k}}\Omega, {R_6} = 157\Omega, {R_7} = 157\Omega, {\beta_1} = 260,{\beta_2} = 260} \right\} \). Thus, four elements {

*R*

_{6},

*R*

_{7},

*β*

_{1},

*β*

_{2}} are faulty. The proposed method gives two sets of parameters which meet the test, including the correct one. The time consumed by the method is 62s. For illustration, the projection of the obtained homotopy path on

*λ*−

*R*

_{6}plane is shown in Fig. 7.

*λ*= 1 plane. It is illustrated in Fig. 8, where the projection of this path on

*λ*−

*R*

_{4}plane is shown. Consequently, no set of parameters which meet the test is provided. However, for a different test performed at the point C instead of A the method gives two sets of the parameters including the correct set very close to the actual one: \( \left\{ {{R_1} = {265}.{\text{3k}}\Omega, {R_2} = {2}0.{\text{9k}}\Omega, {R_3} = {42}.0{\text{9k}}\Omega, {R_4} = {4}.{4}0{\text{k}}\Omega, {R_5} = {1}.{\text{75k}}\Omega, {R_6} = {175}.{8}\Omega, {R_7} = {268}.{7}\Omega, {\beta_1} = {392}, {\beta_2} = {392}} \right\} \).

## 5 Conclusion

- (1)
The method is based on nonlinear test equations and finds, in systematic way, different sets of the parameters which satisfy the diagnostic test, rather than one specific set.

- (2)
The method enables us to locate the multiple faults in nonlinear circuits and evaluate parameters of all elements belonging to a large set of elements considered as possible faulty.

- (3)
The method is capable of diagnosing the soft faults caused by both slight and considerable deviations of the parameters from their tolerance ranges.

The proposed method, based on the homotopy idea, does not guarantee finding all the solutions. However, numerous (about 450) experiments performed show that for any case where the method is convergent it never loses the correct solutions, leading either to only the correct solution or the correct solution and one or two virtual ones. In some cases (about 10%) the method diverges.

The proposed approach is especially useful at the pre-production stage, where corrections of the technological process are possible and CPU time is not crucial.

## Acknowledgments

This work was supported in part by the National Science Centre under Grant UMO-2011/01/B/ST7/06043.

### Open Access

This article is distributed under the terms of the Creative Commons Attribution License which permits any use, distribution, and reproduction in any medium, provided the original author(s) and the source are credited.