Academia.eduAcademia.edu

Fault simulation of linear analog circuits

1993, Journal of Electronic Testing

Research in the areas of analog circuit fault simulation and test generation has not achieved the same degree of success as its digital counterpart owing to the difficulty in modeling the more complex analog behavior. This article presents a novel approach to this problem by mapping the good and faulty circuits to thediscrete Z-domain. An efficient fault simulation is then performed on this discretized circuit for the given input test wave form. This simulator provides an order of magnitude speedup over traditional circuit simulators. An efficient fault simulator and the formulation of analog fault models opens up the ground for analog automatic test generation.

JOURNAL OF ELECTRONIC TESTING: Theory and Applications, 4, 345-360 (1993) 9 1993 Kluwer Academic Publishers, Boston. Manufactured in The Netherlands. Fault Simulation of Linear Analog Circuits NAVEENA NAGI Computer Engineering Research Center, University of Texas at Austin, Austin, TX 78758 [email protected] ABHIJIT CHATTERJEE School of Electrical Engineering, Georgia Institute of Technology, Atlanta, GA 30332 JACOB A. ABRAHAM Computer Engineering Research Center, University of Texas at Austin, Austin, TX 78758 Received March 10, 1993; Revised May 10, 1993. Editor: M. Soma Abstract. Research in the areas of analog circuit fault simulation and test generation has not achieved the same degree of success as its digital counterpart owing to the difficulty in modeling the more complex analog behavior. This article presents a novel approach to this problem by mapping the good and faulty circuits to the discrete Zdomain. An efficient fault simulation is then performed on this discretized circuit for the given input test wave form. This simulator provides an order of magnitude speedup over traditional circuit simulators. An efficient fault simulator and the formulation of analog fault models opens up the ground for analog automatic test generation. 1. Introduction Analog circuits and systems have recently enjoyed a renaissance, due to advances in communications and high-speed VLSI ASICs which demand a tightly coupled analog-digital architecture. However, the state of the art in analog automatic test generation is not as advanced as in digital automatic test pattern generation. Most previous work in test generation focuses on digital circuits using the classical stuck-at fault model since most potential physical faults can be mapped to a node stuck-at a logical 1 or 0. However, because of the complex electrical nature of analog circuits, a direct application of digital fault models proves to be inadequate in capturing the faulty behavior. Hence, analog test selection has been approached in a rather ad hoc way. Sometimes circuits tend to be overtested, while at other times, the tests may be inadequate. Traditionally, fault simulation is used to determine the effectiveness of input test sets to distinguish good chips from defective ones for digital circuits. However, for today's complex analog circuits with thousands of faults, fault simulation using conventional circuit simulators will be very inefficient. The problem is compounded by the presence of transient (ac) errors which can be detected only by an input waveform over time, unlike dc errors which require a single set of steadystate inputs. While the problem of fault simulation for analog circuits has not been directly addressed by previous researchers, there has been related work in other areas. FSPICE [1] is a SPICE based tool to introduce faults at the circuit level and simulate these faulty circuits using SPICE. Since fault simulation of large circuits at the circuit level is too time consuming to be practical, FSPICE is used for the simulation of macrocells and the results of the simulation used for the development of logical and functional fault models. Over the past few years, a number of higher level simulation tools for analog circuits have been developed including SABER [2] and iMACSIM [3], to name a few. These have alleviated the problem of large simulation times of circuit simulators. However, none of these have been applied to the problem of fault simulation and fault modeling. The lack of suitable analog fault models has been the prime reason for restricting the problem of analog test to the functional domain. Numerous authors have addressed the analog and mixed signal testing problem but all these techniques focus on functional testing of specific classes of circuits, for example, codecs [4], and do not indicate test generation methodologies nor the efficiency of the tests. Recent research [5, 6] has attempted to move away to the more quantitative faultbased approach to analog testing. However, the fault models are limited to resistive faults [5], or faults 346 Nagi, Chatterjee and Abraham in passive components [6]. None of these considers parametric faults in active components. In this work we make use of a hierarchical fault modeling approach for catastrophic as well as parametric ac and dc faults in passive and active circuits [7]. In this article, we present DRAFTS (DiscRetized Analog circuit FaulT Simulator), an efficient fault simulator for linear analog circuits. A large class of circuits used in control and signal processing applications fall into this category. Extremely efficient fault simulation is achieved by abstracting the analog circuit at the behavioral level, and then transforming it from the continuous Laplace domain to the discrete Zdomain. The discretized circuit is then simulated for the sampled test wave form. We achieve fast simulation by abstracting the analog circuit at the behavioral level and discretizing it. However, the effect of failures must be mapped on to the discretized circuit model. It is very important that the fault simulator be given a meaningful set of faults at the simulation level that is closely related to the physical defects in the analog circuits. This is a rather involved problem, as evidenced by the lack of standard analog fault models, since analog faults can manifest in different ways which affect the magnitude and phase frequency response of the circuit. One of the main contributions of DRAFTS is in developing this mapping process. This fault modeling is performed in two stages. First, faults at the circuit level are modeled at the behavioral level. In a previous work [7] we have developed a hierarchical fault modeling approach for catastrophic as well as parametric ac and dc faults. These faults can occur in both, passive and active components of the circuit. We use this approach to model faults at the behavioral level. In the second stage, these faulty circuits must be mapped to the discrete level in order to be incorporated into the discretized circuit formulation. Finally, a fault list is generated for the circuit and the faulty circuit for each fault in the list is simulated for the sine wave at the given test frequency. We begin the discussion of the fault simulator by a brief overview of the underlying theory behind the simulation of linear analog systems in the discretized Z-domain. The main focus of the fault simulator then is to map the faulty circuits at the circuit level to the Z-domain. This forms the core of the simulator and is described in Section 3. Section 4 describes the implementation of the fault simulator which is based on the basic simulation framework and the capability to represent faults within it. The results are illus- trated in Section 5 for a few example circuits. Finally conclusions and some future research directions are outlined. 2. Discretized State Variable Representation In the following, we briefly describe the theoretical framework underlying the simulation approach of DRAFTS for linear analog circuits. A large class of analog circuits [8, 9] can be expressed as linear state variable (first-order) systems. These can be represented by a system of interconnected integrators and summers (realized with op amps) [10]. The outputs of the integrators represent the state variables of the circuit. Second- and higher-order systems can be transformed to this form by introducing additional state variables [11]. For simplicity and ease of notation we consider single-output state variable circuits, where the output of each block containing a memory element (e.g., capacitor) corresponds to a state variable of the circuit. The circuit can be represented by a system of state equations given by X(t) = AX(t) + BU(t) (1) where X(t) = [xl(t), x2(O, . . . , xn(O]T which is the state vector comprising n state variables, Xl . . . . . xn, and ~7(t) = [xl(t), A2(t), . . . , An(t)]r, where Jci(t) is the derivative (with respect to time) of xi(t). U(t) is the vector of m inputs and A and B are n • n and n • m matrices, respectively. In the following discussion all matrices are indicated in boldface. The output of the circuit y(t) is given by y(t) = CX(t) + DU(t) (2) where C and D are 1 x n and 1 x m matrices, respectively. The output equation can be subsumed by the state equation by matrix manipulation so we will consider only the state equation for further analysis. The state equation is then transformed from the time domain to the complex frequency s-domain, by taking the Laplace transform, to obtain sX(s) = AX(s) + BU(s) (3) Given a network description, we can derive the above set of equations using signal flow graph (SFG) analysis [9]. A SFG is a representation of a system of equations as a directed graph with weights assigned to the edges. Fault Simulation of Linear Analog Circuits As an example, consider the biquadratic filter shown in figure 1. The three op-amp stages represent a sumruing inverter, an integrator and a lossy integrator. The outputs of the second and third stage (which contain memory elements, C) are the two state variables, xl(t) and x2(t), of the circuit. In this case, the output of the biquad filter corresponds to x2(t). The signal flow graph for the circuit is constructed with the help of the feedforward and feedback connectivity and the individual transfer functions of each block which give the weights of the arcs. The SFG for the biquad filter is given in figure 2. The weights (in boldface) have been computed by setting all resistors equal to R and capacitors equal to C. Thus, coo = 1/RC. From the SFG, the state equations can be obtained as follows: --coO - - c o O X2(S) where t, is the sampling time. Substituting (4) in the state equation (3) results in X(z) = ~ I " A~ z-iX(z) I X(Z) = ZAZ-IX(z) + Z B ( z - l u ( z ) I 'v~ I ~ 2z-1 s - t~ z + 1 / co = 2 t a n g t s t, 2 -R4/R6 -wo (7) at which the output signal has a value of - 3 0 dB. Bilinear transformation has a warping effect on higher frequencies because of the nonlinear transformation of the frequency axis to the Z-domain, given by (4) ~ u(tg)) f~>-Zfm where fm is the maximum frequency of interest of the circuit. In practice, fm can be taken to be the frequency -1 -1 -R4/R1 (6) This equation can be simulated for any given input signal, u(t). The input is sampled at the rate 1/ts. Thus, tk - tk_ 1 = ts and the simulation proceeds in time steps of ts. The value of the state variables at the current time step are obtained from the current input as well as the input and states at the previous time step. The sampling frequency, f~ = 1/ts, must satisfy the Nyquist criterion: The circuit state equation is a set of differential equations which can be solved using integration. However, if the integrals are approximated by recursive differences, we get a bilinear transformation of the sdomain equations to the Z-domain. These equations can be solved to give a discretized (i.e., a sampled) solution. The bilinear transform is given by u(t) Jr- U(Z)) Here, z -~ represents a single delay. Therefore, in the time domain, this equation is equivalent to F/g. 1, Biquadratic filter. o~. +1~>. (5) The above equation then simplifies to X(tk) = ZAX(tk-l) + ZB(u(&-I) + c~ ~ -1 ~t~ I + Let R6 R4 I~'-A~ + I~sI -- A~ -1B(z-I.(z) + u(z)) X2(S)/S u(s)/s +[O~ 347 1/s > o y(t) - _~~wo -1/R5C2 R4/R7 Fig. 2. SFG of biquadratic filter. X2 Nagi, Chatterjee and Abraham 348 where c0 is the analog frequency and fl is the transformed frequency. However, for fl < 0.3/t s, ~o -~ ft. Hence we choose a smaller sampling time for higher frequencies. For the above example of the biquad filter, let R = 10 K and C = 0.02/z. Then wo = 5000 and using the Nyquist criterion, ts = 0.0001 s. The state matrices in the Z-domain can be computed to give [x](z) x2(z)] = 0.307 0.538 ] I -0.307 0"538 I z-lxl(z)zlX2(Z) ] [ O'192](u(z) +z-lu(z)) + -0.038 These equations are simulated for a sinusoidal input given by u(O = 0.1 sin (2 ~r * 500 t) and the response is shown in figure 3. Here, u(t) is the input sine wave, Xl(t) and x2(t) are the response of the state variables which are the outputs of the two integrators of the biquad filter. 0.15 [ u(t) 0.05 //''"h / 0 .... / .... j xl (t) x2 (t) 0.I //''"\ / " ~\(' 9 ', / - / \\ {s / . . . . . . . . . . . \\\ . . . . . . . . . . / -0.05 -0.i i -0.15 Oe+O i le-3 r i i i i 2e-3 3e-3 t i m e in sec. i | small enough to be ignored are referred to as hard shorts, whereas shorts whose resistance cannot be ignored are resistive shorts. Shorts which are caused by large parasitics give rise to capacitive shorts. Circuit behavior can change drastically with small variations in the impedance of the short. Parametric faults are caused by statistical fluctuations in the manufacturing environment. Changes in process parameters (e.g., oxide thickness and substrate doping) can cause the values of components to change beyond their tolerance levels. Parametric faults are also caused by process gradients which produce device mismatch. 3.1. Circuit-Level Fault Models The key to ensuring valid fault models is that they should be derived as closely as possible from the underlying physical processing defects. A viable approach is to apply inductive fault analysis [13] to physical layouts of the circuit. Physical defects in the circuit are then abstracted to the circuit level and a fault list is formed, which consists of shorts and breaks in interconnections, new devices, and changes in the values of existing devices. Since design and process parameters can take on infinitely many values, there are infinitely many analog faults. An optimum subset must be chosen which will lead to the best possible fault list. The concept of fault equivalence as developed in [14] can be used to prune the fault list. This circuitlevel fault list is given as input to the fault simulator. 4e-3 Fig. 3. Response of biquad to 0.1 sin (2 lr * 500 t). 3. Fault Modeling In order to be able to judge the effectiveness of input test sets an accurate fault list is needed. For analog circuits, faults can be classified into two categories [12]: 9Catastrophic faults 9Parametric faults Catastrophic faults are random defects that cause structural deformations like short and open circuits which change the circuit topology, or cause large variations in design parameters (e.g., a change in the W/L ratio of a transistor caused by a dust particle on a photolithographic mask). Shorts whose resistance is 3.2. Fault Mapping The fault simulator is given a circuit description and a circuit-level fault list along with the test waveforms as input. Based on the theoretical framework described in Section 2, the fault simulator takes the network representation of the analog circuit and constructs its SFG to obtain the state equations. These are transformed from the s-domain to the Z-domain using bilinear transformation and this discretized representation of the circuit is simulated for the given input. In addition to the good circuit, faulty circuits with circuitlevel faults have to be transformed to the Z-domain too. This is by no means a trivial task, and its successful implementation forms a major contribution to a viable fault simulator. It would have been rather simple if each fault in the circuit could be mapped to a unique entry Fault Simulation of Linear Analog Circuits in the Z-domain state matrix. However, there is no such straightforward one-to-one mapping. This is what makes it a rather difficult problem as will be illustrated by the various cases discussed below. 3.2.1. Multiple Effect due to Single Fault. As in the case of digital circuits, we consider only single faults in the circuit for simplicity. Most circuit malfunctions occur in the presence of a single catastrophic or parametric fault. However, analog circuits which consist of a number of stages could display faulty behavior due to distributed fault effects. Each individual stage may differ from the nominal one within its specified tolerance, but the combined effect of multiple stages may result in the circuit malfunction (e.g., distributed phase shift errors in a feedback loop add up to cause the circuit to oscillate). The fault simulator can be extended to simulate distributed faults, but for now we consider only single faults at the circuit level. In order to simulate the faulty circuit, it must be mapped to the discrete domain. The Z-domain state equations of the circuit may be thought of as a discrete network realization of delay elements, adders, and multipliers as shown in figure 4. Here, the multiplier coefficients, zaij and zbi are the elements of the Z n and ZB matrices of equation (6). A single fault at the circuit level, however, does not map to a corresponding single fault in the discrete circuit representation. Instead, it appears as multiplefaultsin the discrete circuit. Comparing these with the corresponding fault-free equations shows that all the entries of both the matrices ZA and ZB are affected, thus affecting all the multipliers in the discrete circuit. xl E-5000.0 ooo0 -500.0 , 001 X2(S) + I Xl(Z xz(z)! = X2(S)/S [5000"Olu(s)/s 0.0 0.372 I - 00'525 .3720.860 1 + I z-lxl(z)zlX2(Z) 1 I -0.046 O'1901(u(z) +z-'u(z)) In this example the single circuit fault had a single effect on the Laplace domain representation of the circuit, but in general, it could cause a multiple effect. This multiple effect of the fault in the discrete domain precludes the possibility of directly modeling faults in the discrete circuit realization. 3.2.2. Changein the Number of States. A major cause of ac malfunction in a circuit is the occurrence of large parasitics or coupling capacitances. These can give rise to the addition of faulty states in the circuit response. For example, consider the effect of a capacitive short Cf across the output and negative terminals of OA1 in the biquad circuit of figure 1. This will introduce a faulty state Xf, in addition to the original states x~ and x2. The faulty SFG is shown in figure 5 and corresponding state equations are given below. X2(S) Xf(S) xl/z 349 1 i00 = 00o00ol -5000.0 -5000.0 5000.0 -5000.0 X2(S)/S Xf(S)/S x2 -[- 0.0 -5000.0 0.0 5000.0 R(S)/S Fig. 4. Discretenetworkrealizationof the biquad filter. For example, consider a single fault in the circuit shown in figure 1 with a faulty value of resistor R5 = 1K (instead of 10K). This affects the entry a22 of the state matrix A in the Laplace domain equation (3), whereas it affects both matrices Z A and ZB in equation (6), thereby causing a multiple-fault effect in the Z-domain. The faulty state equations are given below. 1 Io886 0075o377l Ez E0047l x2(z) = -0.377 0.452 0.584 -0.301 0.075 0.509 z_lx~(z) + -0.009 -0.188 (u(z) + z-lu(z)) xf(z) 350 Nagi, Chatterjee and Abraham -w| -1/R6Cf / u(t) -w, /~ -WO +1 1IS -WO >o 1/S >o y(t) -]/R502 -1/R7Cf Fig. 5. SFG of biquadratic filter with faulty coupling capacitor (Cf). The discrete network realization for the faulty circuit undergoes a complete topological change as shown in figure 6. Due to this effect, the fault simulator has to rebuild the state equations for the faulty circuit. Faults in circuits cannot only cause an increase in the number of states, but they can also result in a decrease in the number of original states. This can occur if a circuit fault causes a capacitor to be shorted. -tej zbl ( 1 }-- zb2 ( X ~ - - zb3 za13 This is based on the asymptotic wave form evaluation (AWE) technique [15]. This can be incorporated into the SFG and the state equations. However, op amps are rarely used in an open-loop configuration and the response of the closed-loop macrocircuit may be dominated by the poles introduced by the passive components. If even the faulty op amp poles are dominated by these, then the macrocircuit response and hence the circuit response may be fault free under such a fault. In order to avoid introducing such faults, faults are hierarchically modeled at the macrocircuit (op-amp block) level. As an example, consider a fault in OA3 of figure 1. The macrocircuit composed of this op amp is that of a lossy integrator whose transfer function can be represented as --CO 1 H(s) - - - s+co 2 where CO1 -- "V zof= and za32 Fig. 6. Discrete network with increased states. CO2 -- 3.2.3. Faults in Op Amps. Faults in op amps are the most difficult faults to handle. These faults have to be modeled at the transfer function level first before they can be incorporated into the discretized state equations. This fault modeling approach has been described in our previous work [1], but will be briefly outlined here for the sake of completeness. The transfer function of the faulty op amp is modeled by a reduced order rational function approximation in terms of its q dominant poles and their residues and is given by q ki H(s) = Z s - Pi i=l R3 x C2 (8) 1 R5 x C2 The faulty response of the macrocircuit has two dominant poles, given by pole[O] pole[l] residue[O] residue[l] = = = = (-2.107e (-3.407e (-2.237e (2.237e + + 03) + j ( - 0 . 0 0 0 e + 00) + 04) + j ( - 0 . 0 0 0 e + 00) + 03) +j(0.000e + 00) 03) +j(0.000e + 00) (9) This gives rise to a faulty transfer function of Hi(s ) _ residue[Ol + residue [11 s - pole[O] s - pole[i] Since this is a second-order function, additional states will have to be introduced in order to represent it in the state equation [11]. The SFG of the faulty Fault Simulation of Linear Analog Circuits circuit along with the additional states is shown in figure 7. The faulty state equations are given below: XI(S)1 X2(S) dl(S) dz(s) r- -5000.0 I -0.004 0.0 1.0 5000.0 -36177.48 1.0 0.0 0.0 -717.83e5 -714.89e5 0.0 0.0 0.0 +I xl(s)/s x2(s)/s ~176 1 0.0J 5000.0 ] dl(s)/s d2(s)/s 0.0 0.0 0.0 + u(s)/s xl(z) X2(Z) = dl(Z) d2(z) 0.581 -0.094 -0.000005 0.000079 0.132 -0.338 0.000033 0.000007 z-lxl(z) + z-lx2(z) z-ldl(Z) z-ld2(z) + -474.743 -2373.718 0.881 -0.023 0.197 -0.012 -0.000001 0.000010 -472.8007 -2364.003 / -0.118] 0.976J which extracts the connectivity information as well as the various component types and values into an internal graph data structure. In order to define a clean interface between the modules, various classes are defined. Element and Fault classes are derived from the Link class so that efficient linked lists can be built from them. Each of these, in turn, are used to derive classes for specific types of circuit primitives, e.g., Resistor, Capacitor, Opamp, and various fault classes, e.g., ShortFault, OpenFault, ParFault and OpampFault. The remaining information needed for simulation and display of results is built using the SimParam class. Each opamp block is isolated as a subcircuit and its transfer function, Hi(s), determined. While determining the transfer function, DRAFTS keeps a list of the subcircuits which have memory elements such that the output of these subcircuits will be the state variables of the circuit. The signal flow graph can now be constructed, since all the required information regarding the state variables, connectivity and transfer functions is available. The transfer functions are used to get the appropriate weights on the edges of the SFG. Howewer, the obtained SFG may not be in a form that would directly result in the state equations, since the state equations represent first-order differential equations, while the transfer functions could be of second or higher orders. In general, the transfer function is of the following form: Hi(s) (u(z) + z-lu(z)) 351 = ~n Sn Jr" i~n_l Sn-1 + ... OlnSn -t- Oln_ l S n - 1 "Jr" . . . -I- t~o (10) ~ Ol0 DRAFTS, a discretized analog circuit fault simulator, has been developed in C + + with certain modules implemented in C, based on the theory described in Sections 2 and 3. A flow diagram illustrating the implementation is given in figure 8. DRAFTS is organized as two modules. The first module performs a good circuit simulation while the second processes the fault list and maps each fault to the discrete domain. It then calls the core simulator of the first module to simulate the faulty circuit state equations. These are described in more detail below. It has been shown in [11] that it is possible to construct a SFG for each of the functions, Hi(s), which consists of arcs representing integrators and summers. In this transformed SFG, only the output node, xi(s) corresponds to a physical node (actual state variable) in the analog system. Dummy state variables are associated with all the other nodes. This results in a SFG which can be directly translated into the system state equations in the s-domain. The discretized state equations are then obtained in the Z-domain by applying the bilinear transformation as shown in equation (6). Finally, these equations can be simulated for any given input which is sampled at an optimum rate so as to provide the required accuracy at the maximum efficiency. 4.1. Good Circuit Simulation 4.2. Fault Simulation The circuit description given as input to DRAFTS is in SPICE format. This is parsed by the preprocessor DRAFTS is a serial fault simulator unlike concurrent or parallel digital fault simulators. It is not feasible to 4. Implementation of DRAFTS 352 Nagi, Chatterjee and Abraham -1 ao/a2 u(t) -1 > >o ~ W0 > o 1/S +1 > ~ o ~ ~_J -al/a2 Fig. 7. SFG of biquadratic filter with faulty op amp, OA3. SIMULATION OF GOOD CIRCUIT SIMULATION OF FAULTY CIRCUIT CircuitDescriptionFile (SPICEFormat) I I I I I PREPROCESSOR I Extractionofnecessarycircuitinformation intoDRAFTS'internaldatastructures ,1 \ \ Computet~nsferfunctions ofopampmacro-circuits '1 I I ! ConstructSignalFlowGraph (SFG) I i BuildStateEquations (s-domain) i 'I I ! DiscretizeState Equations (Z-domain) i T I 1 SIMULATION (for sampledinput) Fault coverage statistics Fig. 8. Flow diagram of DRAFTS. I ......i "~y(t) Fault Simulation of Linear Analog Circuits have a parallel analog fault simulator since nodes in analog circuits exhibit continuous wave forms, in contrast with a 1 or 0 state in digital circuits. However, DRAFTS does exhibit a significant speedup over circuit simulators by virtue of the fact that only forward simulations are performed, instead of having to iteratively solve the circuit node equations. This is made possible by exploiting the properties of linear circuits. Even in a linear circuit, a single op amp appears as tens or hundreds of nonlinear transistors to a circuit simulator, whereas when abstracted to the behavioral domain, the linear circuit is amenable to an efficient simulation technique. By virtue of efficient data structures, parametric faults in the passive components (which comprise a large number of physical failures) can directly be mapped to the state equations. Faults which change the connectivity of the circuit result in having to recompute the transfer functions, although only for the affected blocks. This is true even in the cases with global feedback, since the effect is percolated to the other blocks by the SFG. Op-amp faults at the circuit level are first modeled in the s-domain by the hierarchical modeling approach before mapping them to the Zdomain. Although the modeling approach is rather involved, it is not a major concern, since it involves a single op-amp block rather than the entire circuit. Moreover, it is a one time cost to be paid over the entire set of input wave forms to be simulated. For each fault simulation, the error between the good and faulty response is computed and if it is measurable, the fault is declared to be detected by the test wave form. Thus, fault coverage statistics for the given test wave forms are evaluated. 5. Circuit Examples Table 1 summarizes the fault simulation results for firstand higher-order linear analog circuits investigated during the study. We now discuss in detail selected circuits from our study. 353 5.1. Biquadratic Filter Results will be given below for the running example of the biquadratic filter shown in figure 1. To back up the results of our simulator, PSPICE simulations were performed for the fault-free circuit as well as a sample of faults covering all the cases discussed herein. The simulator results were found to match very closely with those of PSPICE with less than 1.5% error. In addition, almost two orders of magnitude speedup for as small a circuit as this (containing three op amps) was achieved. Figure 9 shows the response of the biquad filter to a sinusoidal input, u(t) = 0.1 sin(27r*500t). The response for the fault-free circuit along with the three faults considered in Section 3 (faulty R5, Cf, and OA3) are shown. The error between the good circuit response and those of the faulty circuits is shown in figure 10. Since the error is measurable for all the three responses, these faults can be detected by the given test wave form. The runtimes for PSPICE averaged 11.02 s, whereas the runtime for DRAFTS averaged 0.12 s, giving a speedup of almost 100 per simulation. Fault simulation results for the biquadratic filter are shown in table 2. A sample of faults were simulated for two test sets.1 A threshold of 0.01 V was used to measure fault detection. 5.LL Aid for Test Generation. We illustrate the advantage of the fault simulator as an aid for test generation by the following example. Figure 11 compares the ac response of the fault-free circuit with that of a circuit containing a faulty op amp OA3. As is evident from this response, the fault will be detected only if the circuit is tested at frequencies lying between 200-800 Hz. The response of the good and faulty circuit is shown for the test frequency of 100 Hz in figure 12. The error between the good and faulty response is too small to be measured, and it is clear that the fault would remain undetected at that frequency. On the other hand, a frequency of 500 Hz would be a good test for the fault, as can be observed from the difference in good and Table 1. Summaryof results. Circuit Type No. Faults No. Tests Threshold Fault Coverage Time (s) Biquadratic filter 26 26 10 21 0.1V 0.1V 6t.5% 84.6% 28.7 55.2 Girling-Good leapfrog filter 12 12 5 5 0.1V 0.05V 50% 91.7 % 11.1 11.1 Delyiannis-Friend stagger-tuned filter 13 13 5 5 0. IV 0.05V 69.2 % 92.3 % 6.9 6.9 Nagi, Chatterjee and Abraham 354 0.15 0.i good ckt faulty R5 .... | faulty Cf-;~\ 1 faulty OA3/ ...... ~ ", "\~\ 0.05 4' ,',a -:.- .................... x\ ~, 0 \ -0.05 9 .. \x I, . . . ;e / i/ ~\ -0.1 -0.15 i Oe+O0 ,." r-'.: ................. r':'- ............ ,, %: r le-03 i kX ll i/ time in sec. 4e-03 3e-03 5.4. Delyiannis-Friend Stagger Tuned Filter Fig. 9. Responseof good and faulty biquads to 0.1 sin(27r*500t). 0.06 1 / faulty ~ ..... - - I faulty/Ct ~rror ---" / /> 0.020"04 / / / / 7 ~ 0 We consider another leapfrog filter which is represented by the more compact Girling-Good form as shown in figure 17. A small sample of the faults simulated for this circuit are illustrated in table 3. The fault coverage of a given test set depends on the threshold voltage chosen, as shown in the table. i i 2e-03 5. 3. Girling-Good Leapfrog Filter f auli~i~>~7 ~............... 74 \x ", / r - "- - t ............ ~,\\~ This filter consists of a cascade of second-order bandpass stages consisting of the Delyiannis-Friend circuit (figure 18). If each stage is tuned to a different frequency, the combined circuit is said to be stagger tuned, whereas if they are tuned to the same frequency it is described as synchronously tuned. The transfer function for each of the stages is Hi(s) = -0.02 - 2QioooiS -0.04 -0.06 0e+00 i = 1, 2, 3 (11) S2 + (OOoi/Qi)s + oo2i' le-03 2e-03 3e-03 time in sec. 4e-03 Fig. 10. Error betweenthe goodand faultyresponsesof the biquad. erroneous circuit responses in figure 13. It can also be seen from these plots that the DRAFTS simulation results follow those of PSPICE very closely. Dummy state variables need to be inserted in order to represent the overall filter transfer function using state matrices. Fault simulation results for a sample of faults are shown in table 4. 6. Conclusion and Future Work 5.2. Leapfrog Filter (Type A) Figure 15 represents the signal flow graph of the leapfrog filter shown in figure 14. Fault simulation results are shown for a fault in the capacitor C2, whose value changes to 50 % of the good circuit C2 value. Both, the good and faulty circuit responses to an input of sin(27r*1000t) are illustrated in figure 16. The percentage error between the simulation results of SPICE and DRAFTS was found to be less than 2.5%. The runtimes for PSPICE averaged 45.50 s, whereas the runtime for DRAFTS averaged 0.83 s which is a speedup of 55. This speedup is less than that achieved for the biquad filter due to the fact that a higher sampling rate was required for this circuit. However, in general, speedups will increase as the circuits become larger. We have presented a new approach to ac fault simulation for linear analog circuits. The simulation is performed by discretizing the circuit in the Z-domain and applying a sampled input wave form. The sampling rate is chosen such that we get the maximum efficiency for the required accuracy. Faults are also mapped from the circuit level to the Z-domain description of the circuit. We can simulate faults in passive and active components, as well as breaks and shorts in lines. We have also illustrated how the fault simulator can be used to evaluate the quality of a test wave form for a given fault. DRAFTS can be enhanced to a distributed fault simulator to offset the serial nature and provide even greater speedups. A fault simulator is the first step in an integrated test generation system. An effective test Fault Simulation of Linear Analog Circuits 355 Table 2. Fault simulation results for the biquadratic filter. Test Set 1 Description of Fault Test Set 2 Parametric Fault Component Nominal Value Faulty Value Freq. (Hz) Error (V) Detect Freq. (Hz) Error (V) Detect R1 10K 15K 1.00e+02 1.47e-02 Y 4.37e+01 1.47e-02 Y R1 10K 5K 1.00e+02 3.57e-02 Y 3.85e+00 3.56e-02 Y R2 10K 15 1.00e+03 1.70e-03 N 2.34e+03 8.23e-03 N R2 10K 5K 1.00e+03 1.84e-04 N 3.75e+03 1.11e-02 Y R3 10K 15K 1.00e+03 1.18e-02 Y 1.56e+03 1.31e-02 Y R3 10K 5K 1.00e+03 2.02e-02 Y 2.16e+03 3.11e-02 Y R4 10K 15K 1.00e+03 3.67e-03 N 2.83e+03 9.47e-03 N R4 10K 5K 1.00e+03 1.07e-02 Y 1.99e+03 1.54e-02 Y R5 10K 15K 1.00e+03 1.17e-02 Y 1.18e+03 1.19e-02 Y R5 10K 5K 1.00e+03 1.79e-02 Y 1.06e+03 1.80e-02 Y R6 10K 15K 1.00e+02 1.42e-02 Y 4.37e+01 1.43e-02 Y R6 10K 5K 1.00e+02 2.00e-02 Y 4.37e+01 2.01e-02 Y C1 0.01 /zF 0.02 /xF 1.00e+03 4.50e-03 N 2.47e+03 1.41e-02 Y C1 0.01 /zF 0.005 /zF 1.00e+03 1.84e-04 N 3.75e+03 1.11e-02 Y C2 0.01 /zF 0.02 ~F 1.00e+03 4.50e-03 N 2.47e+03 1.41e-02 Y C2 0.01 tzF 0.005 /zF 1.00e+03 1.84-04 N 3.75e+03 1.11e-02 Y Short Value Freq. (Hz) Error (V) Detect Freq. (Hz) Error (V) Detect Y Short Fault Short Type Shorted Nodes Resistive 2,3 10 1.00e+02 4.98-02 Y 4.37e+01 4.96e-02 Resistive 2,3 1K 1.00e+03 3.88e-02 Y 1.26e+03 3.95e-02 Y Resistive 4,5 10 1.00e+02 4.99e-02 Y 4.37e+01 4.98e-02 Y Resistive 4,5 1K 7.00e+02 4.20e-02 Y 7.33e+02 4.20e-02 Y Capacitive 2,3 10 nF 1.00e+03 1.53e-02 Y 1.54e+03 2.71e-02 Y Capacitive 3,0 10 nF 1.00e+02 0.00e+00 N 3.02e+00 1.00e-08 N Node Open Value Freq. (Hz) Error (V) Detect Freq. (Hz) Error (V) Detect R7 8 1 Mf~ 1.00e+03 6.33e-02 Y 1.16e+03 6.50e-02 Y C2 7 1 /zF 9.00e+02 1.57e-03 N 4.66e+03 1.65e-02 Y Gain ( A o ) Gain-BW (B) Freq. (Hz) Error (V) Detect Freq. (Hz) Error (V) Detect X1 2500 5.00e+05 9.00e+02 1.12e-03 N 1.00e+03 1.70e-03 N X1 500 1.00e+05 4.00e+02 8.47e-01 Y 1,00e+03 9.36e-01 Y Open Fault Componem Op Amp Fault Component Fault Coverage 61.5% 84.6% Nagi, Chatterjee and Abraham 356 08[- 0.05 f ' ~ g o o d ckt - / I~f a u l t y ckt . . . . 0.7 ' '~..: 0.04 / / / / 0.03 0.6 / 0.02 0.5 0.01 0,4 0 / .... \X 0.3 -0.01 0.2i -0,02 9 good ~;gulty f{~ity ';" // t l ~ t ~~.." '-,, t ckt(sz~-ekt(SPfZC{) ckt(DR~FTS) ,/ or t j~ << /" t ! tt/ r ,/ ; \- - ........ .... '~ ~ t ,?' -0.03 0.1 -0,04 0 -- le+O0 le+01 ie+02 le+03 frequency le+04 -0,05 le+05 Fig. 11. Frequency response of good and faulty biquads. Oe+O0 le-03 2e-03 3e-03 t i m e in sec. 4e-03 Fig. 13. Fault detected at f = 500 Hz. 0.05 R3 0.04 0.03 R2 0.02 u(t) 0.01 g R5 02 I- ll o -0,01 -0.02 -0.03 -0.04 ca -0.05 0e+00 4e-03 8e-03 time 2e-02 le-02 in sec R~ 2e-02 198 Fig. 12. Fault unde~cted at f = 100 Hz. Fig. 14. Leapfrog filter. § wl=I/RC +1 1 w2=I/RC 2 Fig. 15. SFG of leapfrog filter. R11 y(t) Fault Simulation of Linear Analog Circuits 0.6 0.4 0,2 0 v -0.2 -0.4 -0.6 Oe+O0 5e-04 le-03 2e-03 t i m e in sec. 2e-03 3e-03 Fig. 16. Response of good and faulty leapfrog to sin(27r * 1000t). vi a3k 1ok ('7) 1ok \ ! 10k~R, / lO4,~ / :,, 'V~ 10k 1ok T1% \ / 13.1 @ ('~ ,ok:~'~ 8. R3 @ 'VVV R8 R9 Fig. 1Z Girling-Good leapfrog filter. R1 @ 7.4k 357 358 Nagi, Chatterjee and Abraham Table 3. Fault simulation results for the Girling-Good leapfrog filter. Parametric Fault Detect Component Nominal Value Faulty Value Freq. (Hz) Error (V) Threshold 1 (0.1 V) Threshold 2 (0.05 V) R3 R5 Rll C1 C3 10K 10K 10K 11.1 nF 17.7 nF 20K 20K 5K 20 nF 30 nF 1.00e+03 1.65e+03 9.99e-01 1.43e+03 8.39e+02 1.52e-01 7.45e-02 2.31e-01 6.19e-02 9.65e-02 Y N Y N N Y Y Y Y Y Short Fault Detect Short Type Shorted Nodes Short Value Freq. (Hz) Error (V) Threshold 1 (0.1 V) Threshold 2 (0.05 V) Resistive Resistive Capacitive 4,5 12,13 2,3 1K 5K 10 nF 1.00e+03 9.99e-01 1.43e+03 2.23e-01 4.81e-01 6.64e-02 Y Y N Y Y Y Open Fault Detect Component Node Open Value Freq. (Hz) Error (V) Threshold 1 (0.1 V) Threshold 2 (0.05 V) R1 C2 2 4 1 Mr/ 1 Mr/ 1.00e+03 8.39e+02 2.83e-01 1.32e-01 Y Y Y Y Opamp Fault Component X1 X1 Gain ( A 0 ) 2500 500 Detect Gain-BW (B) Freq. (Hz) Error (V) Threshold 1 (0.1 V) Threshold 2 (0.05 V) 5.00e+05 5.00e+05 1.75e-01 1.75e-01 1.95e-02 5.21e-02 N N N Y 50.0% 91.7% Fault Coverage C2 C4 F v Fig. 18. Delyiannis-Friend stagger tuned filter. C6 I Fault Simulation of Linear Analog Circuits 359 Table 4. Fault simulation results for the Delyiannis-Friend stagger-tuned filter. Detect Parametric Fault Component Nominal Value Faulty Value Freq. (Hz) Error (V) Threshold 1 (0.1 V) Threshold 2 (0.05V) R1 R1 R3 R3 C1 C1 42.4K 42.4K 4.48K 4.48K 0.1 /~F 0.1 ~F 30K 60K 2K 5K 0.2/zF 0.05 t~F 8.00e +02 8.00e+02 8.00e +02 5.00e +02 8.00e+02 K00e+02 2.34e-01 1.66e-01 2.97e-01 4.84e-02 1.67e-01 2.08e-01 Y Y Y N Y Y Y Y Y Y Y Y Short Fault Detect Short Type Shorted Nodes Short Value Freq. (Hz) Error (V) Threshold 1 (0.1 V) Threshold 2 (0.05 V) Resistive Resistive Capacitive 2,3 2,3 4,5 10 1K 0.01 /~F 5.00e+02 5.00e+02 8.00e +02 3.40e-01 1.16e-01 7.87e-03 Y Y N Y Y N Open Fault Detect Component Node Open Value Freq. (Hz) Error (V) Threshold 1 (0.1 V) Threshold 2 (0.05 V) R3 C2 3 4 1 Mr/ 1 Mfl 5.00e+02 2.00e+02 7.03e-01 3.59e-01 Y Y Y Y Opamp Fault Component X1 X1 Gain ( A 0 ) 2500 500 Detect Gain-BW (B) Freq. (Hz) Error (V) Threshold 1 (0.1 V) Threshold 2 (0.05 V) 5.00e +05 5.00e + 05 1.00e +03 1.00e + 03 8.46e-03 1.00e-02 N N N Y 69.2% 92.3% Fault Coverage generation strategy for analog circuits which follows an approach that is similar to simulation-based digital test generation will be developed with the help of this fault simulator. Acknowledgments This research was supported by the National Science Foundation under grant MIP-9222481. Note 1. Test set 1 = {100, 200, 300, 400, 500, 600, 700, 800, 900, moo}. Test set 2 = {1.00e+03, 3.16e+04, 1.18e+03, 1.06e+03, 1.56e+03, 1.54e+03, 1.26e+03, 1.99e+03, 2.83e+03, 7.33e+02, 2.34e+03, 3.75e+03, 4.66e+03, 3.02e+00, 3.85e+00, 3.80e+00, 4.37e+01} 1.16e+03, 2.16e+03, 2.47e+03, 3.95e+00, References 1. M. Renovell, G. Cambon, and D. Auvergne, "FSPICE: a tool for fault modeling in MOS circuits, INTEGRATION, VLSI J., Vol. 3, pp. 245-255, 1985. 2. I. Getreu, "Behavioral modeling of analog blocks using the SABER simulator," in Proc. MWCAS, pp. 977-980, 1989. 3. J. Singh and R. Saleh, "iMACSIM: a program for multi-level analog circuit simulation," in Proc. ICCAD, pp. 16-19, 1991. 4. D.K. Shirachi, "Codec testing using synchronized analog and digital signals, inproc. IEEEInt. Test Conf., pp. 447-454, 1984. 5. M.J. Marlett and J.A. Abraham, "DC-IATP: an iterative analog circuit test generation program for generating DC single pattern tests," in Proc. IEEE Int. Test Conf., pp. 839-845, 1988. 6. M. Soma, "A design-for-test methodology for active analog filters," in Proc. IEEE Int. Test Conf., pp. 183-192, 1990. 7. N. Nagi and J.A. Abraham, "Hierarchical fault modeling for analog and mixed-signal circuits," in Proc. IEEE VLS1 Test Symp. pp. 96-101, 1992. 8. M. E. Van Valkenburg, Analog, Filter Design, Holt, Rinehart and Winston: New York, 1982. 9. Seshu, Balabanian, Linear Network Analysis, Wiley: New York, 1959. 360 Nagi, Chatterjee and Abraham 10. A. Chatterjee, "Concurrent error detection in linear analog and switched-capacitor state variable systems using continuous checksums," in Proc. IEEE Int. Test Conf., pp. 582-591, 1991. 11. A. Chatterjee, "Checksum-based concurrent error detection in linear analog systems with second and higher orders, in "Proc. IEEE VLSI Test Symp., pp. 286-291, 1992. 12. L. Milor and V. Visvanathan, "Detection of catastrophic faults in analog integrated circuits," IEEE Trans. Computer-Aided Design, pp. 114-I30, 1989. 13. J.R Shen, W. Maly, and EL Ferguson, "Inductive fault analysis of MOS integrated circuits," IEEEDesign Test, Vol. 2, pp. 13-26, 1985. 14. M. Soma, "Probabilistic measures of fault equivalence in mixedsignal circuits," in Proc. IEEE VLSI TestSymp., pp. 67-70, 1991. 15. L.T. Pillage and R.A. Rohrer, 'Nsymptotic waveform evaluation for timing analysis," IEEE Trans. Computer-AidedDesign, Vol. 9, pp. 352-366, 1990. Naveena Nagi received her B.E. in Electronics and Communication Engineering from the University of Roorkee, Roorkee, India, in 1986 and the MS degree in Computer Engineering from the University of Southern California at Los Angeles in 1989. She is currently pursuing a Ph.D. degree in Electrical Engineering from the University of Texas at Austin. Her research interests are in the fields of testing, fault modeling and fault simulation of digital, analog and mixed-signal circuits. Abhijit Chatterjee received his B.Tech in Electrical Engineering from the Indian Institute of Technology, Kanpur, India, in 1981, the MS degree in Electrical Engineering and Computer Science from the University of Illinois at Chicago in 1983 and the Ph.D. degree in Electrical and Computer Engineering from the University of Illinois at Urbana-Champaign in 1990, He is currently an Assistant Professor with the School of Electrical Engineering at the Georgia Institute of Technology, Atlanta, GA. Until December 1992 he was a research staff member at the General Electrical Research and Development Center in Schenectady, N.Y. His interests are in the fields of testing, fault-tolerance and reliable design of digital and analog signal processing circuits, low-power DSP circuits, analog electronics, computer algorithms, design automation and computer architecture. His work has been cited by the Wall Street Journal and presented on a Japanese network TV program called "'High Tech Shower International." He is the author of one U.S. patent. Dr. Chatterjee received a Best Paper Award at the ICCD'92. He is also a recipient of the National Science Foundation Research Initiation Award (1993). Jacob A. Abraham is a Professor in the Department of Electrical and Computer Engineering at the University of Texas at Austin. He is also director of the Computer Engineering Research Center and holds a Cockrell Family Regents Chair in Engineering. He received the Bachelor's degree in Electrical Engineering from the University of Kerala, India, in 1970. His M.S. degree, in Electrical Engineering, and Ph.D., in Electrical Engineering and Computer Science, were received from Stanford University, Stanford, California, in 1971 and 1974, respectively. From 1975 to 1988 he was on the faculty of the University of Illinois, Urbana, Illinois. Professor Abraham's research interests include VLSI design and test, formal verification, and fault-tolerant computing. He is the principal investigator of several contracts and grants in these areas, and a consultant to industry and government on testing and fault-tolerant computing. He has over 200 publications, and has supervised more than 30 Ph.D. dissertations. He was elected Fellow of the IEEE in 1985, and is also a member of ACM and Sigma Xi. He is an associate editor of the IEEE Transactions on VLSI Systems, and is currently the chair of the IEEE Computer Society Technical Committee on Fault-Tolerant Computing.