Functional Test Generation for Delay Faults in Combinational Circuits

Size: px
Start display at page:

Download "Functional Test Generation for Delay Faults in Combinational Circuits"

Transcription

1 Functional Test Generation for Delay Faults in Combinational Circuits Irith Pomeranz and Sudhakar M. Reddy + Electrical and Computer Engineering Department University of Iowa Iowa City, IA Abstract We propose a functional fault model for delay faults in combinational circuits and describe a functional test generation procedure based on this model. The proposed method is most suitable when a gate-level description of the circuit-under-test, necessary for employing existing gate-level delay fault test generators, is not available. It is also suitable for generating tests in early design stages of a circuit, before a gate-level implementation is selected. It can also potentially be employed to supplement conventional test generators for gate-level circuits to reduce the cost of branch and bound strategies. A parameter called is used to control the number of functional faults targeted and thus the number of tests generated. If is unlimited, the functional test set detects every robustly testable path delay fault in any gatelevel implementation of the given function. An appropriate subset of tests can be selected once the implementation is known. The test sets generated for various values of are fault simulated on gate-level realizations to demonstrate their effectiveness. 1. Introduction In this work, we consider the modeling of delay faults in combinational circuits at the functional level. We propose a functional fault model for delay faults and describe a functional test generation procedure for this model. We check the validity of this functional approach by applying the test sets it generates to gate-level path delay faults [1]. The path delay fault model is selected since it is the most general delay fault model for gatelevel circuits. Previous works on functional testing of logic faults (such as stuck-at faults) can be found in [2]. The advantages of functional test generation over gate-level test generation are as follows. (1) Functional test generation results in a test set that is independent of the implementation and is applicable to any implementation. (2) The test set can be generated at early design stages and testability problems identified during test generation can be corrected. For path delay faults, functional testing also has an advantage related to the number of faults that need to be targeted. We return to this point in Section 4. The functional fault model proposed here is selected based on two recent works [3,4] that deal with testing of delay faults in circuits containing macros. A macro is a logic block implementing a specific function. Typically, the only information given about a macro is its functional description. Macros are included in a circuit when gate-level descriptions are not available and/or do not accurately describe the operation of a logic block, as well as when tools which are independent of a specific technology or macro library are used. The presence of macros, for which gate-level descriptions are not available, required the development of a functional approach to testing for delay faults inside macros. Several models were developed in [3,4] for this purpose. All the results in [3,4] apply to circuits + Research supported in part by NSF Grant No. MIP , and in part by NSF Grant No. MIP composed of macros, where only individual macros are subject to functional test generation. Moreover, only macros with small numbers of inputs are considered in [4], as the procedure of [4] is based on the truth tables of the macros. In this work, we take a functional approach, independent of implementation, to testing of a complete circuit (and not only individual macros inside the circuit). We propose an appropriate functional fault model, develop a functional test generation procedure for large circuits and demonstrate its results on benchmark circuits. As part of our study, we apply the models of [3,4] to complete circuits (and not only to individual macros inside the circuits as in [3,4]). We show that the models of [3,4] differ in the following parameters. (1) The size of a complete test set for the model, and (2) the coverage of path delay faults in a gate-level implementation of the circuit. We show that the model of [4] covers all path delay faults in an arbitrary gate-level implementation of the circuit. In addition, it covers subsets of path delay faults as defined in [5]. The main disadvantage of the model of [4] is that it results in very large test set sizes. The fault model of [3] results in test sets of practical sizes, however, its coverage of path delay faults in an arbitrary gate-level implementation of the circuit is low. A compromise is also mentioned in [4], that results in fewer tests at the cost of reduced fault coverage. The functional fault model proposed here encompasses the models of [3,4] by using a parameter denoted. When =1, the model reduces to the model of [3]. When is unlimited, the model becomes the complete model of [4]. Intermediate values of allow practical test set sizes to achieve very high fault coverage when applied to gate-level implementations. Only robust tests are considered in this work. The paper is organized as follows. In Section 2 we review the definition of robust propagation in macro-based circuits from [3,4]. In Section 3 we apply the various functional delay fault models of [3,4] to complete circuits. We define a new functional fault model that offers a compromise between test set size and fault coverage, and provide an experimental comparison between the various fault models. In Section 4 we describe a test generation procedure for the proposed functional fault model and provide experimental results. Section 5 concludes the paper. 2. Preliminaries The definitions of robust propagation through a macro given in [3] and [4] are similar. To say that a two-pattern input combination <u,v > robustly propagates a transition from input I to output O of a macro, the value on O must not change before the value on I changes, independent of the order or speed at which other inputs of the macro change (a more formal definition can be found in [4]). To distinguish robust propagation at the gatelevel from robust propagation through a macro (or at the functional level), we refer to the latter as function-robust propagation. The following example from [4] demonstrates the definition of function-robust propagation. Example [4]: Consider the macro M 1 whose truth-table is given

2 in Table 1. Let the two-pattern input combination (ABC) = <(010), (100)> be applied to M 1. The output value is f = <1,0>. To check whether the rising transition on A function-robustly propagates to f, we keep A at 0, and check whether the changes on the other inputs may cause f to change to 0. B changes from 1 to 0, therefore we must consider both values of B, orb=x. Cis stable at 0, therefore, we need only consider C = 0. The resulting vector is (ABC) = (0x 0), and it covers the two input combinations (000) and (010). For both input combinations, the resulting value on f is 1. Therefore, we conclude that as long as A does not change, f remains at 1 regardless of the speed or order in which the other inputs (B in this case) change. As a result, the transition on A propagates to f function-robustly. Table 1: Macro M 1 A B C f Logic hazards must be considered in defining robust propagation. In [4], logic hazards that can potentially occur in the (unknown) physical implementation of a macro are ignored, and the definition of function-robust propagation is based only on the information available from the functional description of the macro. In [3], the existence of hazards is verified by using a gate-level description whenever one is available. If one is not available, it is assumed that logic hazards exist, and only input patterns involving a single-input change are considered for function-robust propagation. However, using input patterns involving a single input change does not guarantee robustness of tests. Additionally, it limits the number of macro input patterns from which a test for the macro can be constructed. 3. Functional delay fault models In this section we apply the fault models proposed in [3] and [4] to functional testing of complete circuits (not only to macros embedded inside a circuit) and propose a new fault model applicable to large circuits. We study the effectiveness of these models by considering circuits with relatively small numbers of inputs. Consideration of circuits with small numbers of inputs allows us to eliminate the effects of incomplete fault coverage due to aborted faults and due to accidental detection, as explained below, and concentrate on the advantages and disadvantages of each model. For each circuit considered, we use a functional description in the form of a truth-table, and two gate-level implementations. The gate-level implementations are used to evaluate the effectiveness of the functional test sets generated for the various models. One of the gate-level implementations (called GL1) is a multi-level implementation obtained using MIS-II [6] and the other (called GL2) is a two-level implementation obtained using ESPRESSO [7]. We use several functional fault models to generate test sets using the functional description of the circuit, and then simulate these test sets on the two gate-level implementations. We also use a gate-level test generation procedure for the gate-level path delay fault model and compare the results to the results of functional test generation. The comparisons allow us to determine the tradeoffs between test generation complexity, test set size and gate-level fault coverage for the various models. The following delay fault models are considered. The first one is the conventional path delay fault model defined on a gate-level description. It is included for comparison purposes. Gate-level (GL) - Every physical path is included twice, with a rising and with a falling transition at the source of the path. The following models were defined for macro-based circuits in [3] and [4]. They are given here for general circuits. Functional 1 (referred to as F1 and derived from [4]) - Every two-pattern input combination that function-robustly propagates an input transition to an output may independently incur an extra delay and corresponds to a delay fault. A complete test set must include every such input combination. Functional 2 (referred to as F2 and derived from [3]) - Four delay faults are associated with every input I and every output O. The four faults correspond to a rising or falling transition on I, function-robustly propagated to O, and causing a rising or a falling transition on O. The four faults for (I,O) result from the four combinations of {falling,rising} transitions on I and O. A complete test set for this model function-robustly propagates one rising and one falling transition from every primary input to every primary output, arriving at the output once as a rising and once as a falling transition. Next, we propose a new fault model, that encompasses both F1 and F2. The model has a parameter, that can be adjusted according to circuit size. Functional 3 (referred to as F3) -4. tests are required for every input I and every output O. For every input transition tri {rising, falling} on I and every output transition tro {rising, falling} ono, different tests are required, that function-robustly propagate a tri transition from I to O, arriving as a tro transition to O. To simplify the presentation, we use the following definition. A two-pattern input combination that functionrobustly propagates a tri transition from input I to output O, arriving at O as a tro transition, is called an (I,O,trI,trO) test. Using this definition, a complete test set for F3 includes (I,O,trI,trO) tests for every input I, output O, input transition tri and output transition tro. The relationships between F1, F2 and F3 are as follows. Setting =1 in F3 yields F2. Removing the bound on (making as large as possible) in F3 yields F1. Test generation procedures for small circuits according to the models above are described next. Consideration of small circuits allows generation of complete tests sets, i.e., test sets that detect every detectable fault. In addition, the test sets generated are as small as possible, to avoid unintentional detection of faults due to the inclusion of tests which are not necessary for the fault model under consideration. All test generation procedures have the following structure. First, an exhaustive test set is obtained, i.e., every two-pattern test is considered and every test that detects any fault is recorded. A covering procedure is then used to select a minimal test set out of the candidate tests. The gate-level test generation procedure for GL proceeds as follows. Procedure 1: Gate-level test generation (1) Set T =φ. (2) For every two-pattern input combination t:

3 (a) Simulate t on the gate-level circuit to find all the path delay faults it detects robustly. (b) If t detects any fault, store t in T together with the faults it detects. (3) Select a minimal subset T of T that detects all detectable faults. T is the required test set. For F1, a covering procedure is not needed, since every two-pattern test that propagates a transition function-robustly from any input to any output has to be included in the test set. The test generation procedure for F1 proceeds as follows. Procedure 2: Test generation for F1 (1) Set T =φ. (2) For every two-pattern input combination t: (a) Use the truth-table of the circuit to check if t propagates function-robustly any input transition to an output. (b) If t propagates any transition, store t in T. (3) T is the required test set. The test generation procedures for F2 (which is equivalent to F3 with =1) and for F3 with various values of are combined in the next procedure, followed by an example. Procedure 3: Test generation for F2 and F3 (1) Set T =φ. (2) For every two-pattern input combination t: (a) Find from the truth-table of the circuit all the (input,output) pairs (I,O) such that t propagates a transition function-robustly from I to O. Let the transitions on I and O be tri and tro, respectively. (b) If t propagates any transition, store t together with the corresponding tuples (I,O,trI,trO) int. (3) Set T =φ. For every tuple (I,O,trI,trO), set covered [I ][O ][tri ][tro ] = 0(covered [I ][O ][tri ][tro ]is the number of (I,O,trI,trO) tests in T ). (4) For every value of, =1,2,..., max : (a) Call Procedure cover ( ). Procedure cover ( ) adds to T a minimal number of tests to ensure that for every I, O, tri and tro, T contains different (I,O,trI,trO) tests (or a maximum number of (I,O,trI,trO) tests if the maximum is smaller than ). (b) T is the required test set for. Procedure cover () first searches for tests in T that must be included in T to achieve covered [I ][O ][tri ][tro ] = for some tuple (I,O,trI,trO). It then uses a greedy heuristic to select additional tests. Procedure cover ( ): (1) For every I, O, tri and tro, if covered [I ][O ][tri ][tro ] < : (a) Let the number of (I,O,trI,trO) tests in T that have not been selected yet be n. (b) If n +covered [I ][O ][tri ][tro ] : (i) Add to T every (I,O,trI,trO) test t in T. (ii) For every test t added to T and for every tuple (Ĩ,Õ,trĨ,trÕ), if t is an (Ĩ,Õ,trĨ,trÕ) test, then increment covered [Ĩ][Õ][trĨ][trÕ] by1. (2) For every test t / T, count the number of tuples (I,O,trI,trO) such that covered [I ][O ][tri ][tro ] < and t is an (I,O,trI,trO) test. (3) Select the test t for which the count is maximum and add it to T. For every tuple (Ĩ,Õ,trĨ,trÕ), if t is an (Ĩ,Õ,trĨ,trÕ) test, then increment covered [Ĩ][Õ][trĨ][trÕ] by 1. Example : Exhaustive simulation of all two-pattern input combinations of the circuit shown in Figure 1 yields the tests shown in Table 2. For every test we list in Table 2 the tuples it covers. Note that there are some tuples that are never covered, like (A, f,rising, falling). For =1, Step 1 of procedure cover () does not select any tests. This is because every tuple in the table appears at least twice. In Step 2, tests 3, 9, 15 and 18 are selected, since they each cover the maximum number of tuples, 2. For =2, test 4 must be added to obtain covered [B ][f ][falling ][rising ] = 2. Similarly, tests 8, 14 and 21 must be added for (B, f,rising, falling), (B, f, falling, falling) and (B, f,rising,rising), respectively. In addition, we select tests 0, 2, 6 and 19, each testing an additional tuple. A B C Figure 1: An example of Procedure 3 Table 2: A test set for the circuit of Figure 1 test tuples 0 <001,000> (C, f, falling, falling) 1 <101,000> (C, f, falling, falling) 2 <000,001> (C, f,rising,rising) 3 <010,001> (B, f, falling,rising)(c, f,rising,rising) 4 <011,001> (B, f, falling,rising) 5 <100,001> (C, f,rising,rising) 6 <110,010> (A, f, falling, falling) 7 <111,010> (A, f, falling, falling) 8 <001,011> (B, f,rising, falling) 9 <101,011> (A, f, falling, falling)(b, f,rising, falling) 10 <110,011> (A, f, falling, falling) 11 <111,011> (A, f, falling, falling) 12 <001,100> (C, f, falling, falling) 13 <101,100> (C, f, falling, falling) 14 <110,100> (B, f, falling, falling) 15 <111,100> (B, f, falling, falling)(c, f, falling, falling) 16 <000,101> (C, f,rising,rising) 17 <100,101> (C, f,rising,rising) 18 <000,110> (A, f,rising,rising)(b, f,rising,rising) 19 <010,110> (A, f,rising,rising) 20 <011,110> (A, f,rising,rising) 21 <100,110> (B, f,rising,rising) 22 <010,111> (A, f,rising,rising) 23 <011,111> (A, f,rising,rising) Note that by increasing by 1 in every iteration of Step 4, Procedure 3 ensures that if 1 < 2, then the test set T 1 obtained for 1 and the test set T 2 obtained for 2 satisfy T 1 T 2. This ensures that when T 1 and T 2 are simulated on a physical implementation of a circuit (e.g., a gate-level implementation), the fault coverage of T 2 is at least as high as that of T 1. + f

4 Test generation results obtained by Procedures 1-3 are given in Table 3. In Table 3(a) we give the results for GL and F1. In Table 3(b) we consider all two-pattern input combinations as candidate tests under F2 and F3. In Table 3(c) we consider F2 and F3 using only two-pattern input combinations where the two patterns differ in the value of a single input [3]. The results under column "GL for GL1" include the number of tests, the number of detected faults (det) and the total number of faults (flts) when gate-level test generation (model GL) is carried out on the gate-level description GL1. The results for F1 include the following information. (1) The number of tests. (2) The range of covered [I ][O ][tri ][tro ], i.e., the range of the number of (I,O,trI,trO) tests for the various tuples (I,O,trI,trO). We give the smallest value and the largest value over all tuples (I,O,trI,trO). For example, for adr 4, there are tuples which are never tested and there are tuples tested by 4096 different input combinations. (3) The average value of covered [I ][O ][tri ][tro ], where the average is taken only over tuples where covered [I ][O ][tri ][tro ] > 0. The range and average value of covered are important in deciding on appropriate values of for F3. The results for F2 and F3 include only the number of tests. F3 is computed for various values of. Table 3: Test generation results (a) GL and F1 GL on GL1 F1 circuit inp tests det/flts tests range (average) Z9sym / (644.0) adr / (1049.3) dk / (269.5) radd / (1049.3) rd / (12.0) z / (239.1) (b) F2 and F3 with multi-input change circuit Z9sym adr dk radd rd z (c) F2 and F3 with single input change circuit Z9sym adr dk radd rd z Results of fault simulation of the functional test sets of Table 3 on the multi-level gate-level implementation GL1 are given in Table 4. The coverage of the GL test set of Table 3 on the GL1 circuits is already given in Table 3. The fault coverage obtained under F1, F2 and F3 should be compared to the fault coverage reported in Table 3(a) under column GL1, which is complete gate-level fault coverage. Table 4: Results of fault simulation on GL1 (a) Multi-input change circuit F1 Z9sym 644/644 21/644 81/ / / / /644 adr4 210/ / / / / / /210 dk27 128/ / / / / / /128 radd 170/ / / / / / /170 rd53 154/154 49/ / / / / /154 z4 190/190 76/ / / / / /190 (b) Single input change circuit Z9sym 36/ / / / / /644 adr4 98/ / / / / /210 dk27 125/ / / / / /128 radd 96/ / / / / /170 rd53 56/ / / / / /154 z4 74/ / / / / /190 Gate-level test generation for another set of gate-level circuits, called GL2, yielded the results shown in Table 5 (note that the results of Table 5 do not involve functional test generation, but only gate-level test generation for the gate-level circuits GL2). Results of simulating the test sets derived in Table 3 on the GL2 circuits are given in Table 6. We used the test sets generated for the gate-level description GL1, as well as the functional test sets under F1, F2 and F3. The fault coverage of Table 6 should be compared to the fault coverage of Table 5, where complete fault coverage is achieved. Table 5: Results of gate-level test generation for GL2 circuit tests Z9sym 1008/ adr4 680/ dk27 134/ radd 680/ rd53 282/ z4 504/ From Tables 3-6 it can be seen that F1 always yields complete fault coverage for both implementations, however, at the cost of a large number of tests. F2 yields the lowest fault coverage, but also the lowest number of tests. F3 is a compromise between the number of tests of F2 and the fault coverage of F1. In addition, we note that when the test set generated using the gate-level description GL1 is applied to a different gate-level description GL2, the fault coverage is in most cases low. It is also interesting to see that two-pattern tests where the two patterns differ in a single input (Tables 4(b) and 6(c)) yield higher fault coverage than tests that differ in the values of multiple inputs (Tables 4(a) and 6(b)). Furthermore, the number of tests for single input changes is smaller than for multi-input changes for the same value of, when =100,200. Next, we prove that a test set according to F1 will result in complete coverage of every robustly detectable fault in any

5 Table 6: Results of fault simulation on GL2 (a) GL and F1 circuit GL1 F1 Z9sym 688/ /1008 adr4 210/ /680 dk27 131/ /134 radd 165/ /680 rd53 170/ /320 z4 193/ /504 (b) Multi-input change circuit Z9sym 20/ / / / / /1008 adr4 99/ / / / / /680 dk27 122/ / / / / /134 radd 94/ / / / / /680 rd53 50/ / / / / /320 z4 69/ / / / / /504 (c) Single input change circuit Z9sym 36/ / / / / /1008 adr4 135/ / / / / /680 dk27 130/ / / / / /134 radd 150/ / / / / /680 rd53 61/ / / / / /320 z4 93/ / / / / /504 gate-level implementation. Theorem 1: A complete test set according to F1 for a functional description S robustly detects every robustly testable path delay fault in any gate-level implementation of S. Proof: Let T be a complete test set according to F1 for a functional description S. Let C be a gate-level circuit implementing S. Let d be a robustly testable path delay fault in C from input I to output O. Let the path associated with d be p = (I=g 0,g 1,g 2,...,g k =O) and let d be associated with an α β transition on I, that arrives in O as a γ δ transition. Let t = <u,v> be a robust test for d. We show that t T. Since t propagates the transition α β from I along p robustly, g 1 does not change unless I changes, g 2 does not change unless g 1 changes, and so on. In general, g i +1 does not change unless g i changes for 0 i k 1. Consequently, O does not change unless I changes. As a result, t satisfies the conditions of function-robust propagation, and t T. The following example demonstrates that a test set according to F1 also detects faults affecting a subset of paths that have to be tested together, as defined in [5]. In [5], a subset of paths is tested together when no individual path delay fault can be tested, however, a fault affecting all the paths in the subset is testable. This concept was demonstrated in [5] by the circuit shown in Figure 2. The falling path delay fault along path (a,d, f ) and the falling path delay fault along path (c,d, f ) are not robustly testable. However, if both paths are faulty, the twopattern test <(111),(010)> detects the fault. Next, we show that <(111),(010)> is included in a test set under F1. Consider input a. To check if the transition from a is robustly propagated under the two-pattern input combination <(111),(010)>, we set a = 1, b = 1 and c = x. Two input combinations need to be checked, 110 and 111. Both yield f = 1. Therefore, the transition on a is function-robustly propagated to f under <(111),(010)>, and it is included in a test set under F1. a b c a c a c d e g Figure 2: An example from [5] In summary, test sets according to F1 have the important property that they include a robust test for every robustly testable path delay fault in any gate-level implementation. They are also effective for subsets of paths. However, test set sizes for F1 are large, as can be seen from Table 3. The results indicate that F3 with an appropriate value of is a cost-effective way to cover delay faults in an arbitrary implementation. For circuits where there are no subsets of paths that need to be tested together, F1 can be modified to include only twopattern input combinations that differ in the value of a single input. Theorem 1 is valid for such circuits with the reduced test set. 4. Functional testing The effectiveness of the fault model F3 in detecting large numbers of path delay faults was demonstrated in Section 3 for small circuits described using truth tables. In this section, we investigate the use of F3 as a functional delay fault model for large circuits, that do not have compact truth table representations. The circuits are assumed to be described by a set of Boolean equations. We do not impose any constraints on the form in which these equations are given. We only require that it would be possible to evaluate the output values of the circuit for any given input pattern over the values {0,1,x}. Before starting test generation, a fault list is created, containing only (I,O,trI,trO) tuples that can potentially be tested. We describe the construction of the fault list in Section 4.1 The test generation procedure is describe in Section 4.2. Experimental results of this procedure are given in Section 4.3. In this section, we use gate-level circuit descriptions instead of writing equations to describe the circuits, however, these circuits should be viewed as graphical representations of the equations, and are not necessarily the gate-level implementations of the circuits-under-test. 4.1 Fault list construction Before starting test generation, a fault list is created that contains only tuples (I,O,trI,trO) such that an (I,O,trI,trO) test potentially exists. In our implementation, the fault list contains only tuples (I,O,trI,trO) such that there is at least one path from I to O. In addition, we require that at least one path would have a number of inverters that allows a tri transition on input I to arrive at output O as a tro transition. For example, if all the paths from I to O have an even number of inverters (O is positive-unate in I), then only the tuples (I,O,rising,rising) and + f

6 (I,O, falling, falling) are included in the fault list. The construction of the fault list is illustrated by the following example. Example : Consider the circuit shown in Figure 3. The fault list is constructed as follows. There are both even and odd numbers of inverters on paths from A to f 1 and from B to f 1. Consequently, any combination of tri and tro transitions is possible for A and f 1 and for B and f 1. The fault list contains (A, f 1,rising,rising), (A, f 1,rising, falling), (A, f 1, falling,rising), (A, f 1, falling, falling), (B, f 1,rising,rising), (B, f 1,rising, falling), (B, f 1, falling,rising), (B, f 1, falling, falling). There is no path from C to f 1, therefore, no fault of the form (C, f 1,trC,trf 1 ) is included in the fault list. All the paths from A, B and C to f 2 have even numbers of inverters. Therefore, only the following faults are included in the fault list. (A, f 2,rising,rising), (A, f 2, falling, falling), (B, f 2,rising,rising), (B, f 2, falling, falling), (C, f 2,rising,rising), (C, f 2, falling, falling). A B C Figure 3: An example of fault coverage computation The number of tuples in the fault list is at most 4N I N O, where N I is the number of inputs and N O is the number of outputs. Since each tuple is targeted times, the number of target faults is at most 4N I N O. If N eo (I,O) pairs have paths with even and odd numbers of inverters on them, N e (I,O) pairs have only paths with even numbers of inverters, N o (I,O) pairs have only paths with odd numbers of inverters, and N (I,O) pairs are not connected by any path, then the number of tuples in the fault list is 4N eo +2(N e +N o ). 4.2 Test generation We use the following terminology to describe the test generation procedure. The values on output O under an incompletely specified two-pattern input combination <c 1,c 2 > are said to be compatible with a rising transition if the value of O under c 1 is either 0 or x, and under c 2 it is either 1 or x. Similarly, the values on output O under a two-pattern input combination <c 1,c 2 > are said to be compatible with a falling transition if the value of O under c 1 is either 1 or x, and under c 2 it is either 0 or x. Test generation proceeds in iterations. In each iteration, all the (I,O,trI,trO) tuples in the fault list are considered. For every tuple such that covered [I ][O ][tri ][tro ] <, an attempt is made to generate at least one test. If a test is generated, the values of covered [I ][O ][tri ][tro ] are updated for all (I,O,trI,trO) in the fault list and the next tuple is considered. Test generation is terminated when covered [I ][O ][tri ][tro ] = for every (I,O,trI,trO) or when no test is generated during a complete iteration, for any tuple considered. To generate a test for a given tuple (I,O,trI,trO), several two-pattern input combinations are evaluated. They are created by starting from + + f 1 f 2 <c 1,c 2 > where I assumes a tri transition and the other inputs are unspecified. Additional inputs are then specified to create several different pairs of cubes where I assumes a tri transition. New cubes are generated until a tro transition is created on O. The corresponding pair of cubes is then simulated. In the process of cube generation, any two-pattern input combination <c 1,c 2 > such that c 1 and c 2 differ in more than N inputs (where N is a predetermined constant) is discarded, for the following reason. Let <c 1,c 2 > differ in the values of k inputs, I 1,I 2,...,I k. To check whether <c 1,c 2 > function-robustly propagates a transition from an input I j to an output O, we need to consider 2 k 1 input combinations where I j is kept constant and I 1,...,I j 1,I j+1,...,i k assume every combination of {0,1} values. To restrict the complexity of this check, k is restricted to be at most N (N 8 in our experiments). In Procedure 4 below, a new iteration where all (I,O,trI,trO) tuples are considered is started in Step 2. A new tuple is selected in Step 3. Test generation for a given tuple is carried out in Steps 4-9. An iteration terminates if the check in Step 10 shows that all tuples have been considered in the current iteration, and Step 11 is reached. Procedure 4: Functional test generation (1) Set T =φ. Create the fault list. Set covered [I ][O ][tri ][tro ] = 0 for every (I,O,trI,trO) in the fault list. (2) Unmark all tuples in the fault list. (3) Select from the fault list an unmarked tuple (I,O,trI,trO) such that covered [I ][O ][tri ][tro ] < and mark it. (4) Set T to contain a single pair of cubes <c 1,c 2 > where input I is assigned a tri transition and all other inputs are unspecified (x). (5) Select a pair of cubes <c 1,c 2 > T and an input I j which is not specified in <c 1,c 2 >. (6) Compute the following four pairs of cubes based on <c 1,c 2 >: <c 1,c 2 > 00 where I j = 0 in both c 1 and c 2. <c 1,c 2 > 01 where I j = 0inc 1 and I j = 1inc 2. <c 1,c 2 > 10 where I j = 1inc 1 and I j = 0inc 2. <c 1,c 2 > 11 where I j = 1 in both c 1 and c 2. (7) For every pair of cubes <c 1,c 2 > αβ computed in Step 6, if the cubes differ in the values of at most N inputs: (a) Find the values on O under <c 1,c 2 > αβ. (b) If output O assumes a tro transition: (i) Randomly select a value for every unspecified input and set the input to this value in both c 1 and c 2. (ii) Simulate the resulting two-pattern test t. (iii) If t is effective in function-robustly testing any tuple (Ĩ,Õ,trĨ,trÕ) for which covered [Ĩ][Õ][trĨ][trÕ] < : 1) Add t to T. 2) Increment covered [Ĩ][Õ][trĨ][trÕ] by1for every (Ĩ,Õ,trĨ,trÕ) such that t is an (Ĩ,Õ,trĨ,trÕ) test. Otherwise, if output O is compatible with a tro transition, add the pair <c 1,c 2 > αβ to T. (8) Remove <c 1,c 2 > from T. (9) If no test was added to T, T is not empty, and the number of times Step 5 has been repeated for the current tuple in

7 the current iteration is smaller than M, go to Step 5 (M = 100 in our experiments). (10) If there is an unmarked tuple in the fault list, go to Step 3. (11) If no test was generated for any tuple since it was last marked in Step 3, stop: T is the required test set. (12) If there exists a tuple (I,O,trI,trO) for which covered [I ][O ][tri ][tro ] <, go to Step 2. The following example illustrates Procedure 4. Example : Consider the circuit of Figure 1 with =3. Iteration 1 starts with the tuple (A, f,rising,rising). Initially, T = {<0xx,1xx>}. The pair of cubes <0xx,1xx> is selected. The input selected to expand the cube pair is B and the following four pairs of cubes are created. p 1 = <00x,10x>, p 2 = <00x,11x>, p 3 = <01x,10x> and p 4 = <01x,11x>. p 1 results in f = <x,x> and it is kept in T. p 2 results in f = <x, 1>and it is kept in T. p 3 results in f = <0,x> and it is kept in T. p 4 results in f = <0,1> and it is therefore used to generate a test, as follows. First, the value of C is randomly set to 0. The two pattern test <(010),(110)> is then simulated. It covers the tuple (A, f,rising,rising), therefore, the test is kept in T. Since a test was generated, the next tuple in the fault list is considered. We omit the description of several tuples and skip to the tuple (B, f,rising,rising). Initially, T = {<x 0x,x 1x>}. The pair of cubes <x 0x,x 1x> is selected. The input selected to expand the cube pair is A and the following four pairs of cubes are created. p 1 = <00x,01x>, p 2 = <00x,11x>, p 3 = <10x,01x> and p 4 = <10x,11x>. p 1 and p 3 result in f = <x, 0>and they are removed from T since they cannot result in a rising transition on f. p 2 and p 4 result in f = <x, 1>and they are kept in T. Since no test was generated, we select one of the cube pairs in T, <10x,11x>. The following new cube pairs are created. p 1 = <100,110>, p 2 = <100,111>, p 3 = <101,110> and p 4 = <101,111>. p 1 results in f = <0,1> and it is therefore simulated. It covers the tuple (B, f,rising,rising), therefore, the test is stored in T. p 2 results in f = <0,1> and it is therefore simulated. It does not cover any tuple. p 3 and p 4 result in f = <1,1> and they are therefore dropped. Since a test was generated, the next tuple in the fault list is considered. We omit the description of the remaining tuples in this iteration. At the end of the first iteration, the values of covered [I ][O ][tri ][tro ] shown in Table 7 are obtained. Note that although each tuple was targeted only once, some tuples are covered twice, due to tests generated for other tuples. Next, all the tuples in the fault list are considered again. The results obtained at the end of the second iteration are also shown in Table 7. The third iteration does not result in any additional tests and Procedure 4 is terminated. Table 7: An example of test generation fault count after I O tri tro Iteration 1 Iteration 2 A f rising rising 1 3 A f falling falling 1 3 B f rising rising 1 2 B f rising falling 1 2 B f falling rising 2 2 B f falling falling 2 2 C f rising rising 2 3 C f falling falling Experimental results We applied Procedure 4 to several benchmark circuits. We allowed at most iterations and terminated Procedure 4 after iterations even if the last iteration was effective in covering new tuples. This was done to ensure a reasonable execution time. We allowed the number of input changes in a test, N, to vary from 1 to 8, to obtain tests with single and multi-input changes. We start with N = 1 since the results of Tables 3, 4 and 6 indicate that tests with single input changes are more effective than tests with multi-input changes, especially for large values of. Nevertheless, we found that it is possible to increase the fault coverage achieved by Procedure 4 if it is allowed to generate additional tests, with larger values of N. One of the parameters we captured was the fault coverage under F3, defined as follows. The denominator of the fault coverage is the size of the fault list multiplied by. The numerator is obtained as follows. For every tuple (I,O,trI,trO) in the fault list, we find covered [I ][O ][tri ][tro ]. If this number is larger than, we replace it by. We then add all the numbers. After applying Procedure 4, we applied gate-level fault simulation to find the fault coverage of gate-level path delay faults. The results are reported in Table 8 as follows. After circuit name, we give the number of inputs and the number of outputs. The results of Procedure 4 are given next, including the number of tests and the fault coverage under F3. Next, we give the results of simulation of the test set generated under F3 on GL1 and GL2. For Berkeley PLAs, GL1 is a multi-level implementation [6] and GL2 is a two-level implementation [7]. For ISCAS89 benchmark circuits, GL1 is an irredundant gate-level circuit, and GL2 is the gate-level circuit obtained from the irredundant implementation after applying resynthesis to reduce the number of gates and the number of paths in the circuit, thus making it more path delay fault testable. For each gate-level circuit, we give in Table 8 the number of detected faults, the total number of faults and the number of tests that were effective in detecting any new gate-level path delay fault. In Table 8(a) we give the results using =100. In Table 8(b) we give the results using =200, but only when an improvement over the results with =100 is obtained. It is interesting to compare the gate-level fault coverage reported in Table 8 to the fault coverage obtained when applying pure random patterns and when applying deterministic test patterns. In Table 9 under column "pure random" we show the fault coverage obtained when applying 100,000 random two-pattern tests to the GL1 circuits of Table 8. Circuit name is followed by the number of faults detected, the number of effective tests, and the last effective test, that detected any fault not detected before. Under column "determ [8]" we show the number of faults detected by the deterministic test generation procedure of [8] in the GL1 circuits. Under column "functional" we repeat the results obtained in Table 8 for the GL1 circuits. It can be seen that in most cases, the patterns generated through functional test generation in Table 8 are significantly more effective than pure random patterns. The functional patterns achieve fault coverage which is very close to the fault coverage achieved by deterministic patterns. Observing that the fault coverage of F3 is very close to the fault coverage of deterministic test generation that targets the circuit-under-test, we are currently investigating the use of F3 as a substitute to gate-level test generation, to alleviate the need to consider large numbers of path delay faults in large circuits. Under F3, we need to target only 4N I N O tuples, which is con-

8 Table 8: Experimental results of Procedure 4 (a) =100 F3 GL1 GL2 circuit inp out tests f.c. det/flts eff.tsts det/flts eff.tsts Z9sym / / add / / adr / / alu / /82 69 alu / / alu / / co / / dk / / dk / / dk / / mish / / radd / / rckl / / rd / / vg / / x1dn / / x9dn / / z / / irs / / irs / / irs / / irs / / irs / / irs / / irs / / (b) =200 F3 GL1 GL2 circuit inp out tests f.c. det/flts eff.tsts det/flts eff.tsts add / / alu / / alu / / mish / / rckl / / vg / / x1dn / / x9dn / / irs / / irs / / irs / / irs / / irs / / irs / / irs / / siderably smaller than the number of all path delay faults in large circuits, as long as is kept small enough. 5. Concluding remarks We considered the modeling of delay faults in combinational circuits at the functional level. We defined a functional fault model that requires function-robust propagation of transitions of every type from every input to every output. When is set very high, this model results in a test set that detects all path delay faults in any gate-level implementation. However, the resulting test set is very large. Smaller values of allow high-quality test sets to be generated, that include smaller numbers of tests. We described a functional test generation procedure based on the proposed model. We demonstrated the validity of this functional approach by applying the test sets it generates to gate-level path delay faults. As for the selection of an appropriate value of, we offer the following suggestion. Procedure 4 should be run in a loop with increasing values of, to generate increasingly large test sets. If a gate-level description is not given, the procedure can be terminated when a limit on run time or test set size is reached. If a gate-level description is given, the procedure can be repeated until the gate-level fault coverage saturates. References [1] G. L. Smith, "Model for Delay Faults Based Upon Paths," 1985 Intl. Test Conf., pp [2] M. Abramovici, M. Breuer, A. D. Friedman, Digital Systems Testing and Testable Design, Computer Science Press, [3] B. Underwood, W.-O. Law, S. Kang and H. Konuk, "Fastpath: A Path-Delay Test Generator for Standard Scan Designs", in Proc Intl. Test Conf., Oct. 1994, pp [4] I. Pomeranz and S. M. Reddy, "On Testing Delay Faults In Macro-Based Combinational Circuits", 1994 Intl. Conf. on Computer-Aided Design, Nov. 1994, pp [5] W. Ke and P. R. Menon, "Synthesis of Delay-Verifiable Combinational Circuits", IEEE Trans. on Computers, Feb. 1995, pp , [6] R. K. Brayton, R. Rudell, A. L. Sangiovanni-Vincentelli, and A. R. Wang, "MIS: A multiple-level logic optimization system," IEEE Trans. Computer-Aided Design, Nov. 1987, pp [7] R. Brayton, G. D. Hachtel, C. McMullen, and A. L. Sangiovanni-Vincentelli, Logic Minimization Algorithms for VLSI Synthesis, Kluwer Academic Publishers, Boston, MA, [8] S. Patil, "Automatic Test Pattern Generation for Delay Faults in Logic Circuits," M.S. Thesis, ECE Dept., U. of Iowa, May Table 9: Results using pure random patterns pure random determ [8] functional circuit det/flts eff.tsts last.eff det/flts det/flts eff.tsts Z9sym 533/ / / add6 405/ / / adr4 207/ / / alu1 76/ /76 76/76 63 alu2 230/ / / alu3 254/ / / co14 44/ / / dk17 254/ / / dk27 114/ / / dk48 267/ / / mish 280/ / / radd 170/ / / rckl 68/ / / rd53 154/ / / vg2 325/ / / x1dn 283/ / / x9dn 329/ / / z4 190/ / / irs / / / irs / / / irs / / / irs / / / irs / / / irs / / / irs / / /

On Test Generation by Input Cube Avoidance

On Test Generation by Input Cube Avoidance On Test Generation by Input Cube Avoidance Irith Pomeranz 1 and Sudhakar M. Reddy 2 School of Electrical & Computer Eng. Electrical & Computer Eng. Dept. Purdue University University of Iowa W. Lafayette,

More information

Resynthesis of Combinational Logic Circuits for Improved Path Delay Fault Testability Using Comparison Units

Resynthesis of Combinational Logic Circuits for Improved Path Delay Fault Testability Using Comparison Units IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 9, NO. 5, OCTOBER 2001 679 Resynthesis of Combinational Logic Circuits for Improved Path Delay Fault Testability Using Comparison

More information

On Minimizing the Number of Test Points Needed to Achieve Complete Robust Path Delay Fault Testability

On Minimizing the Number of Test Points Needed to Achieve Complete Robust Path Delay Fault Testability On Minimizing the Number of Test Points Needed to Achieve Complete Robust Path Delay Fault Testability Prasanti Uppaluri Electrical and Computer Engineering Department, University of Iowa, Iowa City, IA

More information

REDI: An Efficient Fault Oriented Procedure to Identify Redundant Faults in Combinational Logic Circuits *

REDI: An Efficient Fault Oriented Procedure to Identify Redundant Faults in Combinational Logic Circuits * REDI: An Efficient Fault Oriented Procedure to Identify Redundant Faults in Combinational Logic Circuits * Chen Wang, Irith Pomeranz and Sudhakar M. Reddy Electrical and Computer Engineering Department

More information

Adaptive Techniques for Improving Delay Fault Diagnosis

Adaptive Techniques for Improving Delay Fault Diagnosis Adaptive Techniques for Improving Delay Fault Diagnosis Jayabrata Ghosh-Dastidar and Nur A. Touba Computer Engineering Research Center Department of Electrical and Computer Engineering University of Texas,

More information

On Test Generation for Transition Faults with Minimized Peak Power Dissipation

On Test Generation for Transition Faults with Minimized Peak Power Dissipation 30.3 On Test Generation for Transition Faults with Minimized Peak Power Dissipation Wei Li Sudhakar M. Reddy Irith Pomeranz 2 Dept. of ECE School of ECE Univ. of Iowa Purdue University Iowa City, IA 52242

More information

A New Algorithm to Create Prime Irredundant Boolean Expressions

A New Algorithm to Create Prime Irredundant Boolean Expressions A New Algorithm to Create Prime Irredundant Boolean Expressions Michel R.C.M. Berkelaar Eindhoven University of technology, P.O. Box 513, NL 5600 MB Eindhoven, The Netherlands Email: michel@es.ele.tue.nl

More information

At-Speed Scan Test with Low Switching Activity

At-Speed Scan Test with Low Switching Activity 21 28th IEEE VLSI Test Symposium At-Speed Scan Test with Low Switching Activity Elham K. Moghaddam Department of ECE, University of Iowa, Iowa City, IA 52242 ekhayatm@engineering.uiowa.edu Janusz Rajski

More information

A Same/Different Fault Dictionary: An Extended Pass/Fail Fault Dictionary with Improved Diagnostic Resolution

A Same/Different Fault Dictionary: An Extended Pass/Fail Fault Dictionary with Improved Diagnostic Resolution A Same/Different Fault Dictionary: An Extended Pass/Fail Fault Dictionary with Improved Diagnostic Resolution Irith Pomeranz 1 and Sudhakar M. Reddy 2 School of Electrical & Computer Eng. Electrical &

More information

Heuristic Minimization of Boolean Relations Using Testing Techniques

Heuristic Minimization of Boolean Relations Using Testing Techniques Heuristic Minimization of Boolean Relations Using Testing Techniques Abhijit Ghosh Srinivas Devadas A. Richard Newton Department of Electrical Engineering and Coniputer Sciences University of California,

More information

Driving Toward Higher I DDQ Test Quality for Sequential Circuits: A Generalized Fault Model and Its ATPG

Driving Toward Higher I DDQ Test Quality for Sequential Circuits: A Generalized Fault Model and Its ATPG Driving Toward Higher I DDQ Test Quality for Sequential Circuits: A Generalized Fault Model and Its ATPG Hisashi Kondo Kwang-Ting Cheng y Kawasaki Steel Corp., LSI Division Electrical and Computer Engineering

More information

A New Decomposition of Boolean Functions

A New Decomposition of Boolean Functions A New Decomposition of Boolean Functions Elena Dubrova Electronic System Design Lab Department of Electronics Royal Institute of Technology Kista, Sweden elena@ele.kth.se Abstract This paper introduces

More information

Static Compaction Techniques to Control Scan Vector Power Dissipation

Static Compaction Techniques to Control Scan Vector Power Dissipation Static Compaction Techniques to Control Scan Vector Power Dissipation Ranganathan Sankaralingam, Rama Rao Oruganti, and Nur A. Touba Computer Engineering Research Center Department of Electrical and Computer

More information

On Using Machine Learning for Logic BIST

On Using Machine Learning for Logic BIST On Using Machine Learning for Logic BIST Christophe FAGOT Patrick GIRARD Christian LANDRAULT Laboratoire d Informatique de Robotique et de Microélectronique de Montpellier, UMR 5506 UNIVERSITE MONTPELLIER

More information

SEPP: a New Compact Three-Level Logic Form

SEPP: a New Compact Three-Level Logic Form SEPP: a New Compact Three-Level Logic Form Valentina Ciriani Department of Information Technologies Università degli Studi di Milano, Italy valentina.ciriani@unimi.it Anna Bernasconi Department of Computer

More information

Test Set Compaction Algorithms for Combinational Circuits

Test Set Compaction Algorithms for Combinational Circuits Proceedings of the International Conference on Computer-Aided Design, November 1998 Set Compaction Algorithms for Combinational Circuits Ilker Hamzaoglu and Janak H. Patel Center for Reliable & High-Performance

More information

A New Optimal State Assignment Technique for Partial Scan Designs

A New Optimal State Assignment Technique for Partial Scan Designs A New Optimal State Assignment Technique for Partial Scan Designs Sungju Park, Saeyang Yang and Sangwook Cho The state assignment for a finite state machine greatly affects the delay, area, and testabilities

More information

TEST FUNCTION SPECIFICATION IN SYNTHESIS

TEST FUNCTION SPECIFICATION IN SYNTHESIS TEST FUNCTION SPECIFICATION IN SYNTHESIS Vishwani D. Agrawal and Kwang-Ting Cbeng AT&T Bell Laboratories Murray Hill, New Jersey 07974 ABSTRACT - We present a new synthesis for testability method in which

More information

Transition Faults and Transition Path Delay Faults: Test Generation, Path Selection, and Built-In Generation of Functional Broadside Tests

Transition Faults and Transition Path Delay Faults: Test Generation, Path Selection, and Built-In Generation of Functional Broadside Tests Purdue University Purdue e-pubs Open Access Dissertations Theses and Dissertations Fall 2013 Transition Faults and Transition Path Delay Faults: Test Generation, Path Selection, and Built-In Generation

More information

TIMING-INDEPENDENT TESTING OF CROSSTALK IN THE PRESENCE OF DELAY PRODUCING DEFECTS USING SURROGATE FAULT MODELS *

TIMING-INDEPENDENT TESTING OF CROSSTALK IN THE PRESENCE OF DELAY PRODUCING DEFECTS USING SURROGATE FAULT MODELS * TIMING-INDEPENDENT TESTING OF CROSSTALK IN THE PRESENCE OF DELAY PRODUCING DEFECTS USING SURROGATE FAULT MODELS * Shahdad Irajpour Sandeep K. Gupta Melvin A. Breuer Department of EE Systems, University

More information

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne Two-level Logic Synthesis and Optimization Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes as long as this note and the copyright footers

More information

On Efficient Error Diagnosis of Digital Circuits

On Efficient Error Diagnosis of Digital Circuits On Efficient Error Diagnosis of Digital Circuits Nandini Sridhar Michael S. Hsiao Intel Corporation Bradley Dept. of ECE, Virginia Tech Dupont, WA 98327Blacksburg, VA 246 nandini.sridhar@intel.com mhsiao@vt.edu

More information

Two Pattern Test Cubes for Transition Path Delay Faults Test for ISCAS-85 C432

Two Pattern Test Cubes for Transition Path Delay Faults Test for ISCAS-85 C432 Two Pattern Test Cubes for Transition Path Delay Faults Test for ISCAS-85 C432 T.Vishnu Murty 1, G.Seetha Mahalakshmi 2 M.Tech, Asst. Professor, Dept of Electronics & Communication Engineering, Pragati

More information

On the Relation between SAT and BDDs for Equivalence Checking

On the Relation between SAT and BDDs for Equivalence Checking On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda 1 Rolf Drechsler 2 Alex Orailoglu 1 1 Computer Science & Engineering Department University of California, San Diego La Jolla,

More information

SYNTHESIS OF MAPPING LOGIC FOR GENERATI TRANSFORMED PSEUDO-RANDOM PATTERNS FOR

SYNTHESIS OF MAPPING LOGIC FOR GENERATI TRANSFORMED PSEUDO-RANDOM PATTERNS FOR SYNTHESIS OF MAPPING LOGIC FOR GENERATI TRANSFORMED PSEUDO-RANDOM PATTERNS FOR Nur A. Touba and Edward J. McCluskey Center for Reliable Computing Departments of Electrical Engineering and Computer Science

More information

Acceleration Techniques for Dynamic Vector Compaction

Acceleration Techniques for Dynamic Vector Compaction Acceleration Techniques for Dynamic Vector Compaction Anand Raghunathan Department of Electrical Engineering Princeton University, Princeton, NJ 8544 Srimat T. Chakradhar C & C Research Laboratories NEC

More information

Flexible Two-Level Boolean Minimizer BOOM-II and Its Applications

Flexible Two-Level Boolean Minimizer BOOM-II and Its Applications Flexible Two-Level Boolean Minimizer BOOM-II and Its Applications Petr Fišer, Hana Kubátová Czech Technical University Dept. of Computer Science and Engineering, Karlovo nám. 13, 121 35, Prague 2 e-mail:

More information

Efficient Test Compaction for Combinational Circuits Based on Fault Detection Count-Directed Clustering

Efficient Test Compaction for Combinational Circuits Based on Fault Detection Count-Directed Clustering Efficient Test Compaction for Combinational Circuits Based on Fault Detection Count-Directed Clustering Aiman El-Maleh, Saqib Khurshid King Fahd University of Petroleum and Minerals Dhahran, Saudi Arabia

More information

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this

More information

Path Delay Fault Testing of a Class of Circuit-Switched Multistage Interconnection Networks

Path Delay Fault Testing of a Class of Circuit-Switched Multistage Interconnection Networks Path Delay Fault Testing of a Class of Circuit-Switched Multistage Interconnection Networks M. Bellos 1, D. Nikolos 1,2 & H. T. Vergos 1,2 1 Dept. of Computer Engineering and Informatics, University of

More information

Advanced Digital Logic Design EECS 303

Advanced Digital Logic Design EECS 303 Advanced igital Logic esign EECS 33 http://ziyang.eecs.northwestern.edu/eecs33/ Teacher: Robert ick Office: L477 Tech Email: dickrp@northwestern.edu Phone: 847 467 2298 Outline. 2. 2 Robert ick Advanced

More information

Type T1: force false. Type T2: force true. Type T3: complement. Type T4: load

Type T1: force false. Type T2: force true. Type T3: complement. Type T4: load Testability Insertion in Behavioral Descriptions Frank F. Hsu Elizabeth M. Rudnick Janak H. Patel Center for Reliable & High-Performance Computing University of Illinois, Urbana, IL Abstract A new synthesis-for-testability

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

File Formats. Appendix A. A.1 Benchmarks. A.2 ESPRESSO Format

File Formats. Appendix A. A.1 Benchmarks. A.2 ESPRESSO Format Appendix A File Formats A.1 Benchmarks Tables A.1 and A.2 present benchmark parameters for two-level logic (in ESPRESSO format) set and finite-state tables (in KISS2 format) set respectively. A.2 ESPRESSO

More information

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007 VLSI System Design Part II : Logic Synthesis (1) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp

More information

An Efficient Test Relaxation Technique for Synchronous Sequential Circuits

An Efficient Test Relaxation Technique for Synchronous Sequential Circuits An Efficient Test Relaxation Technique for Synchronous Sequential Circuits Aiman El-Maleh and Khaled Al-Utaibi King Fahd University of Petroleum and Minerals Dhahran 326, Saudi Arabia emails:{aimane, alutaibi}@ccse.kfupm.edu.sa

More information

Testing Embedded Cores Using Partial Isolation Rings

Testing Embedded Cores Using Partial Isolation Rings Testing Embedded Cores Using Partial Isolation Rings Nur A. Touba and Bahram Pouya Computer Engineering Research Center Department of Electrical and Computer Engineering University of Texas, Austin, TX

More information

Reducing Power Dissipation During Test Using Scan Chain Disable

Reducing Power Dissipation During Test Using Scan Chain Disable Reducing Power Dissipation During Test Using Scan Chain Disable Ranganathan Sankaralingam, Bahram Pouya2, and Nur A. Touba Computer Engineering Research Center Dept. of Electrical and Computer Engineering

More information

A Novel SAT All-Solutions Solver for Efficient Preimage Computation

A Novel SAT All-Solutions Solver for Efficient Preimage Computation A Novel SAT All-Solutions Solver for Efficient Preimage Computation Bin Li Department of ECE Virginia Tech. Blacksburg, VA, 24061 Michael S. Hsiao Department of ECE Virginia Tech. Blacksburg, VA, 24061

More information

Formal Verification using Probabilistic Techniques

Formal Verification using Probabilistic Techniques Formal Verification using Probabilistic Techniques René Krenz Elena Dubrova Department of Microelectronic and Information Technology Royal Institute of Technology Stockholm, Sweden rene,elena @ele.kth.se

More information

Fault-Tolerant Computing

Fault-Tolerant Computing Fault-Tolerant Computing Hardware Design Methods Nov 2007 Self-Checking Modules Slide 1 About This Presentation This presentation has been prepared for the graduate course ECE 257A (Fault-Tolerant Computing)

More information

Functional extension of structural logic optimization techniques

Functional extension of structural logic optimization techniques Functional extension of structural logic optimization techniques J. A. Espejo, L. Entrena, E. San Millán, E. Olías Universidad Carlos III de Madrid # e-mail: { ppespejo, entrena, quique, olias}@ing.uc3m.es

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET4076) Lecture 4(part 2) Testability Measurements (Chapter 6) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Previous lecture What

More information

Lecture 15: The subspace topology, Closed sets

Lecture 15: The subspace topology, Closed sets Lecture 15: The subspace topology, Closed sets 1 The Subspace Topology Definition 1.1. Let (X, T) be a topological space with topology T. subset of X, the collection If Y is a T Y = {Y U U T} is a topology

More information

ALTERING A PSEUDO-RANDOM BIT SEQUENCE FOR SCAN-BASED BIST

ALTERING A PSEUDO-RANDOM BIT SEQUENCE FOR SCAN-BASED BIST ALTERING A PSEUDO-RANDOM BIT SEQUENCE FOR SCAN-BASED BIST Nur A. Touba* and Edward J. McCluskey Center for Reliable Computing Departments of Electrical Engineering and Computer Science Stanford University

More information

Collapsing for Multiple Output Circuits. Diagnostic and Detection Fault. Raja K. K. R. Sandireddy. Dept. Of Electrical and Computer Engineering,

Collapsing for Multiple Output Circuits. Diagnostic and Detection Fault. Raja K. K. R. Sandireddy. Dept. Of Electrical and Computer Engineering, Diagnostic and Detection Fault Collapsing for Multiple Output Circuits Raja K. K. R. Sandireddy Dept. Of Electrical and Computer Engineering, Auburn University, Auburn AL-36849 USA Outline Introduction

More information

Minimization of Multiple-Valued Functions in Post Algebra

Minimization of Multiple-Valued Functions in Post Algebra Minimization of Multiple-Valued Functions in Post Algebra Elena Dubrova Yunjian Jiang Robert Brayton Department of Electronics Dept. of Electrical Engineering and Computer Sciences Royal Institute of Technology

More information

Compaction mechanism to reduce test pattern counts and segmented delay fault testing for path delay faults

Compaction mechanism to reduce test pattern counts and segmented delay fault testing for path delay faults University of Iowa Iowa Research Online Theses and Dissertations Spring 2013 Compaction mechanism to reduce test pattern counts and segmented delay fault testing for path delay faults Sharada Jha University

More information

Multi-Level Logic Synthesis for Low Power

Multi-Level Logic Synthesis for Low Power Examples Before Mapping After Mapping Area Power Area Delay Power 5xp1 0.93 0.98 0.86 0.82 0.90 Z5xp1 0.97 0.91 0.95 0.78 0.84 9sym 0.89 1.01 0.83 0.86 0.87 9symml 1.24 1.02 1.15 1.12 0.84 apex5 0.99 0.96

More information

Accurate Logic Simulation by Overcoming the Unknown Value Propagation Problem

Accurate Logic Simulation by Overcoming the Unknown Value Propagation Problem Accurate Logic Simulation by Overcoming the Unknown Value Propagation Problem Sungho Kang Yonsei University Seoul, Korea shkang@yonsei.ac.kr Stephen A. Szygenda Southern Methodist University Dallas, Texas

More information

On Computing Minimum Size Prime Implicants

On Computing Minimum Size Prime Implicants On Computing Minimum Size Prime Implicants João P. Marques Silva Cadence European Laboratories / IST-INESC Lisbon, Portugal jpms@inesc.pt Abstract In this paper we describe a new model and algorithm for

More information

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

More information

High-level Variable Selection for Partial-Scan Implementation

High-level Variable Selection for Partial-Scan Implementation High-level Variable Selection for Partial-Scan Implementation FrankF.Hsu JanakH.Patel Center for Reliable & High-Performance Computing University of Illinois, Urbana, IL Abstract In this paper, we propose

More information

MODEL FOR DELAY FAULTS BASED UPON PATHS

MODEL FOR DELAY FAULTS BASED UPON PATHS MODEL FOR DELAY FAULTS BASED UPON PATHS Gordon L. Smith International Business Machines Corporation Dept. F60, Bldg. 706-2, P. 0. Box 39 Poughkeepsie, NY 12602 (914) 435-7988 Abstract Delay testing of

More information

Boolean Matching for Complex PLBs in LUT-based FPGAs with Application to Architecture Evaluation. Jason Cong and Yean-Yow Hwang

Boolean Matching for Complex PLBs in LUT-based FPGAs with Application to Architecture Evaluation. Jason Cong and Yean-Yow Hwang Boolean Matching for Complex PLBs in LUT-based PAs with Application to Architecture Evaluation Jason Cong and Yean-Yow wang Department of Computer Science University of California, Los Angeles {cong, yeanyow}@cs.ucla.edu

More information

RTL Scan Design for Skewed-Load At-Speed Test under Power Constraints

RTL Scan Design for Skewed-Load At-Speed Test under Power Constraints RTL Scan Design for Skewed-Load At-Speed Test under Power Constraints Ho Fai Ko and Nicola Nicolici Department of Electrical and Computer Engineering McMaster University, Hamilton, ON, L8S 4K1, Canada

More information

Advanced Digital Logic Design EECS 303

Advanced Digital Logic Design EECS 303 Advanced Digital Logic Design EECS 303 http://ziyang.eecs.northwestern.edu/eecs303/ Teacher: Robert Dick Office: L477 Tech Email: dickrp@northwestern.edu Phone: 847 467 2298 Outline 1. 2. 2 Robert Dick

More information

VLSI System Testing. Fault Simulation

VLSI System Testing. Fault Simulation ECE 538 VLSI System Testing Krish Chakrabarty Fault Simulation ECE 538 Krish Chakrabarty Fault Simulation Problem and motivation Fault simulation algorithms Serial Parallel Deductive Concurrent Random

More information

CPE 628 Chapter 4 Test Generation. Dr. Rhonda Kay Gaede UAH. CPE Introduction Conceptual View. UAH Chapter 4

CPE 628 Chapter 4 Test Generation. Dr. Rhonda Kay Gaede UAH. CPE Introduction Conceptual View. UAH Chapter 4 Chapter 4 Test Generation Dr. Rhonda Kay Gaede UAH 1 4.1 Introduction Conceptual View Generate an input vector that can the - circuit from the one Page 2 1 4.1 Introduction Simple Illustration Consider

More information

Enhancing The Fault-Tolerance of Nonmasking Programs

Enhancing The Fault-Tolerance of Nonmasking Programs Enhancing The Fault-Tolerance of Nonmasking Programs Sandeep S Kulkarni Ali Ebnenasir Department of Computer Science and Engineering Michigan State University East Lansing MI 48824 USA Abstract In this

More information

Efficient Algorithm for Test Vector Decompression Using an Embedded Processor

Efficient Algorithm for Test Vector Decompression Using an Embedded Processor Efficient Algorithm for Test Vector Decompression Using an Embedded Processor Kamran Saleem and Nur A. Touba Computer Engineering Research Center Department of Electrical and Computer Engineering University

More information

Fault Simulation. Problem and Motivation

Fault Simulation. Problem and Motivation Fault Simulation Problem and Motivation Fault Simulation Problem: Given A circuit A sequence of test vectors A fault model Determine Fault coverage Fraction (or percentage) of modeled faults detected by

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Test Vector Decomposition-Based Static Compaction Algorithms for Combinational Circuits

Test Vector Decomposition-Based Static Compaction Algorithms for Combinational Circuits Test Vector Decomposition-Based Static Compaction Algorithms for Combinational Circuits AIMAN H. EL-MALEH and YAHYA E. OSAIS King Fahd University of Petroleum and Minerals Testing system-on-chips involves

More information

Scan-Based BIST Diagnosis Using an Embedded Processor

Scan-Based BIST Diagnosis Using an Embedded Processor Scan-Based BIST Diagnosis Using an Embedded Processor Kedarnath J. Balakrishnan and Nur A. Touba Computer Engineering Research Center Department of Electrical and Computer Engineering University of Texas

More information

Optimal Subcube Fault Tolerance in a Circuit-Switched Hypercube

Optimal Subcube Fault Tolerance in a Circuit-Switched Hypercube Optimal Subcube Fault Tolerance in a Circuit-Switched Hypercube Baback A. Izadi Dept. of Elect. Eng. Tech. DeV ry Institute of Technology Columbus, OH 43209 bai @devrycols.edu Fiisun ozgiiner Department

More information

Incremental Diagnosis of Multiple Open-Interconnects

Incremental Diagnosis of Multiple Open-Interconnects Incremental Diagnosis of Multiple Open-Interconnects J Brandon Liu, Andreas Veneris University of Toronto, Department of ECE Toronto, ON M5S 3G4, Canada {liuji, veneris}@eecgutorontoca Hiroshi Takahashi

More information

An Efficient Method for Multiple Fault Diagnosis

An Efficient Method for Multiple Fault Diagnosis An Efficient Method for Multiple Fault Diagnosis Khushboo Sheth Department of Electrical and Computer Engineering Auburn University, Auburn, AL Abstract: In this paper, failing circuits are analyzed and

More information

Full Fault Dictionary Storage Based on Labeled Tree Encoding

Full Fault Dictionary Storage Based on Labeled Tree Encoding Full Fault Dictionary Storage Based on Labeled Tree Encoding Vamsi Boppana, Ismed Hartanto and W. Kent Fuchs Coordinated Science Laboratory University of Illinois at UrbanaChampaign Urbana, IL 6181 Abstract

More information

CS2 Language Processing note 3

CS2 Language Processing note 3 CS2 Language Processing note 3 CS2Ah 5..4 CS2 Language Processing note 3 Nondeterministic finite automata In this lecture we look at nondeterministic finite automata and prove the Conversion Theorem, which

More information

Cofactoring-Based Upper Bound Computation for Covering Problems

Cofactoring-Based Upper Bound Computation for Covering Problems TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST Cofactoring-Based Upper Bound Computation for Covering Problems Congguang Yang Maciej Ciesielski May 998 TR-CSE-98-06 Department of Electrical and Computer

More information

An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability

An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability Fadi A. Aloul and Karem A. Sakallah Department of Electrical Engineering and Computer Science University

More information

Efficiently Utilizing ATE Vector Repeat for Compression by Scan Vector Decomposition

Efficiently Utilizing ATE Vector Repeat for Compression by Scan Vector Decomposition Efficiently Utilizing ATE Vector Repeat for Compression by Scan Vector Decomposition Jinkyu Lee and Nur A. Touba Computer Engineering Research Center University of Teas, Austin, TX 7872 {jlee2, touba}@ece.uteas.edu

More information

Design of Framework for Logic Synthesis Engine

Design of Framework for Logic Synthesis Engine Design of Framework for Logic Synthesis Engine Tribikram Pradhan 1, Pramod Kumar 2, Anil N S 3, Amit Bakshi 4 1 School of Information technology and Engineering, VIT University, Vellore 632014, Tamilnadu,

More information

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols SIAM Journal on Computing to appear From Static to Dynamic Routing: Efficient Transformations of StoreandForward Protocols Christian Scheideler Berthold Vöcking Abstract We investigate how static storeandforward

More information

Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs

Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs Sudheer Vemula, Student Member, IEEE, and Charles Stroud, Fellow, IEEE Abstract The first Built-In Self-Test (BIST) approach for the programmable

More information

Non-Enumerative Path Delay Fault Diagnosis

Non-Enumerative Path Delay Fault Diagnosis Non-Enumerative Path Delay Fault Diagnosis Saravanan Padmanaban Spyros Tragoudas Department of Electrical and Computer Engineering Southern Illinois University Carbondale, IL 6901 Abstract The first non-enumerative

More information

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2 Synthesis The Y-diagram Revisited Structural Behavioral More abstract designs Physical CAD for VLSI 2 1 Structural Synthesis Behavioral Physical CAD for VLSI 3 Structural Processor Memory Bus Behavioral

More information

A CSP Search Algorithm with Reduced Branching Factor

A CSP Search Algorithm with Reduced Branching Factor A CSP Search Algorithm with Reduced Branching Factor Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

Computer Science Technical Report

Computer Science Technical Report Computer Science Technical Report Feasibility of Stepwise Addition of Multitolerance to High Atomicity Programs Ali Ebnenasir and Sandeep S. Kulkarni Michigan Technological University Computer Science

More information

Logic Synthesis of Multilevel Circuits with Concurrent Error Detection

Logic Synthesis of Multilevel Circuits with Concurrent Error Detection IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 16, NO. 7, JULY 1997 783 [16] Layout synthesis benchmark set, Microelectronics Center of North Carolina, Research Triangle

More information

Simplification of Boolean Functions

Simplification of Boolean Functions COM111 Introduction to Computer Engineering (Fall 2006-2007) NOTES 5 -- page 1 of 5 Introduction Simplification of Boolean Functions You already know one method for simplifying Boolean expressions: Boolean

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET4076) Lecture 8 (1) Delay Test (Chapter 12) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Learning aims Define a path delay fault

More information

Exact Template Matching using Graphs

Exact Template Matching using Graphs Exact Template Matching using Graphs by Md. Mazder Rahman, Gerhard W. Dueck, and Joe Horton TR 13-224, April, 2013 Faculty of Computer Science University of New Brunswick Fredericton, NB, E3B 5A3 Canada

More information

A Toolbox for Counter-Example Analysis and Optimization

A Toolbox for Counter-Example Analysis and Optimization A Toolbox for Counter-Example Analysis and Optimization Alan Mishchenko Niklas Een Robert Brayton Department of EECS, University of California, Berkeley {alanmi, een, brayton}@eecs.berkeley.edu Abstract

More information

Faults. Abstract. 1. Introduction. * Nur A. Touba is now with the Department of Electrical and Computer Engineering, University of Texas, Austin, TX

Faults. Abstract. 1. Introduction. * Nur A. Touba is now with the Department of Electrical and Computer Engineering, University of Texas, Austin, TX s Abstract While previous research has focused on deterministic testing of bridging faults, this paper studies pseudo-random testing of bridging faults and describes a means for achieving high fault coverage

More information

Optimization-based Multiple Target Test Generation for Highly Compacted Test Sets

Optimization-based Multiple Target Test Generation for Highly Compacted Test Sets Optimization-based Multiple Target Test Generation for Highly Compacted Test Sets Stephan Eggersglüß Kenneth Schmitz René Krenz-Bååth Rolf Drechsler Institute of Computer Science University of Bremen 28359

More information

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur.

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur. Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur Lecture 05 DFT Next we will look into the topic design for testability,

More information

A Controller Testability Analysis and Enhancement Technique

A Controller Testability Analysis and Enhancement Technique A Controller Testability Analysis and Enhancement Technique Xinli Gu Erik Larsson, Krzysztof Kuchinski and Zebo Peng Synopsys, Inc. Dept. of Computer and Information Science 700 E. Middlefield Road Linköping

More information

Figure 1.1. ROAR architecture. Memory. Reconfigurable Coprocessor. Multithreaded Processor. Interface Bus. I/O system

Figure 1.1. ROAR architecture. Memory. Reconfigurable Coprocessor. Multithreaded Processor. Interface Bus. I/O system NON-SELF-TESTABLE FAULTS IN DUPLEX SYSTEMS Subhasish Mitra, Nirmal R. Saxena and Edward J. McCluskey Center for Reliable Computing (http://crc.stanford.edu) Departments of Electrical Engineering and Computer

More information

ABC basics (compilation from different articles)

ABC basics (compilation from different articles) 1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node

More information

Binary Decision Diagram with Minimum Expected Path Length

Binary Decision Diagram with Minimum Expected Path Length Binary Decision Diagram with Minimum Expected Path Length Yi-Yu Liu Kuo-Hua Wang TingTing Hwang C. L. Liu Department of Computer Science, National Tsing Hua University, Hsinchu 300, Taiwan Dept. of Computer

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits

More information

Assignment 4 Solutions of graph problems

Assignment 4 Solutions of graph problems Assignment 4 Solutions of graph problems 1. Let us assume that G is not a cycle. Consider the maximal path in the graph. Let the end points of the path be denoted as v 1, v k respectively. If either of

More information

Don t Cares and Multi-Valued Logic Network Minimization

Don t Cares and Multi-Valued Logic Network Minimization Don t Cares and Multi-Valued Logic Network Minimization Yunian Jiang Robert K. Brayton Department of Electrical Engineering and Computer Sciences University of California, Berkeley wiang,brayton @eecs.berkeley.edu

More information

LECTURE 8: SMOOTH SUBMANIFOLDS

LECTURE 8: SMOOTH SUBMANIFOLDS LECTURE 8: SMOOTH SUBMANIFOLDS 1. Smooth submanifolds Let M be a smooth manifold of dimension n. What object can be called a smooth submanifold of M? (Recall: what is a vector subspace W of a vector space

More information

ARITHMETIC operations based on residue number systems

ARITHMETIC operations based on residue number systems IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: EXPRESS BRIEFS, VOL. 53, NO. 2, FEBRUARY 2006 133 Improved Memoryless RNS Forward Converter Based on the Periodicity of Residues A. B. Premkumar, Senior Member,

More information

PROOFS Fault Simulation Algorithm

PROOFS Fault Simulation Algorithm PROOFS Fault Simulation Algorithm Pratap S.Prasad Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL prasaps@auburn.edu Term Paper for ELEC 7250 (Spring 2005) Abstract This paper

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Deterministic BIST ABSTRACT. II. DBIST Schemes Based On Reseeding of PRPG (LFSR) I. INTRODUCTION

Deterministic BIST ABSTRACT. II. DBIST Schemes Based On Reseeding of PRPG (LFSR) I. INTRODUCTION Deterministic BIST Amiri Amir Mohammad Ecole Polytechnique, Montreal, December 2004 ABSTRACT This paper studies some of the various techniques of DBIST. Normal BIST structures use a PRPG (LFSR) to randomly

More information