Abstract:
A hybrid random pattern self-test approach is employed in an on-chip fashion to provide desired test signals to circuits on the chip. A simplified weighting circuit is shown to be effective even when only a single bit from a linear feedback shift register is employed for random signal generation. The reduction in linear feedback shift register size and associated weighting circuitry enables the apparatus to be much more readily usable in an on-product configuration thus resulting in significant initial and subsequent test circuit advantages.

Description:
This application is a continuation of application Ser. No. 07/749,093 filed Aug. 23, 1991, now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     This invention relates to the testing of integrated circuit chip devices by means of the weighted random pattern method. More particularly, the the present invention provides an on-product, self-test method for high quality testing which is efficient in terms of test coverage and also efficient in terms of the utilization of chip &#34;real estate&#34;. 
     As integrated circuit chip devices have become more compact and have been produced with greater and greater levels of circuit density, the testing of these circuits for logic faults and other defects has become a difficult problem. Because of the complexity of the circuits produced on individual circuit chips, it has become very difficult, if not impossible, to provide a completely specified set of input test signals (generally referred to as test vectors) which fully covers all defects in the circuit. Storing such an extensive set of patterns is very restrictive in terms of the amount of memory that is required, even off-line, for such large amounts of data. Accordingly, designers have turned to pseudo-random pattern testing as one solution to the circuit test problem. 
     It should also be appreciated that in general, chip test methods are divisible into two classes: on-chip and off-chip. In the off-chip approach, test vectors are generated external to the chip (or product on a system or board level) and are supplied to the chip for test purposes. This approach has the advantage that the storage requirements for test data are less stringent than on-chip solutions. However, the off-chip approach suffers from the disadvantage that extra signal lines must be provided to access internal circuit input lines and circuit states. 
     Additionally, off-chip solutions also suffer from the disadvantage that such tests are performed on a onetime basis subsequent to chip manufacture and prior to product ship. There is no provision for further testing or diagnosis once the chip is in the field. This has two disadvantages. The first disadvantage is immediate and clear, namely that off-chip test methods are not able to provide diagnostic information with respect to chip failure in the field. Additionally, off-chip methods also are incapable of providing information concerning the nature of failures which do occur in the field. In terms of providing a closed loop method for identifying failures in the field with processes which are employed in the production environment, the off-chip testing solution provides little benefit. 
     Accordingly, it is seen that it is very desirable to be able to provide on-chip generation of test signals. Moreover, it is desirable that this goal be achieved with a minimum amount of test circuitry disposed on the chip itself. On the other hand, the circuitry is required to produce a large number of distinct test patterns which are effective but yet which are generated by means of circuitry which consumes little chip &#34;real estate&#34;. This is desirable because it is more useful to employ the chip area for circuits which actually perform desired functions. Thus on-chip test circuitry should be simple, compact but yet effective. 
     Since it is possible to generate pseudo-random patterns using linear feedback shift register (LFSR) structures which are relatively compact in terms of circuit area requirements, such methods are employed in on-chip test situations. However, conventional random pattern self-test (RPST) methods do not always achieve consistently high fault coverage because of the presence of circuit faults which are resistant to random pattern testing. In these circumstances, flat random patterns eventually become highly ineffective. That is to say, a point is reached where thousands or even millions of patterns may be required to be generated in order to detect each additional fault. See for example, the article &#34;Pseudo-Random Testing&#34; in the IEEE Transactions on Computers, Vol. C-36, No. 3, March 1987 by K. D. Wagner, E. J. McCluskey and C. Chin. The fact that flat random pattern generators have fixed input &#34;weights&#34; of 1/2 does not contribute to their effectiveness. In particular, for such test methods, for any circuit input the probability of a logic 1 is equal to the probability of a logic 0 that is, 0.5. 
     Weighted random pattern test methods are costly to implement in terms of on-chip self-test methods. However, they can achieve high fault coverage. Weighted random pattern test methods and circuits are illustrated in the following documents: &#34;Testability-Driven Random Test Pattern Generation&#34; in the IEEE transactions on Computer-Aided Design, Vol. CAD-6, No. 6, 1987 by R. Lisanke, F. Brglez, A. Degeus and D. Gregory; &#34;On Computing Optimized Input Probabilities for Random Tests&#34; in the 24th IEEE Design Automation Conference, Paper 24.2, 1987 by H. J. Wunderlich; &#34;Self-Test Using Unequiprobable Random Patterns&#34; in the 17th IEEE Fault-Tolerant Computing Symposium, July, 1987 by H.-J. Wunderlich; &#34;Self-Testing of Multichip Logic Modules&#34; in the IEEE International Test Conference, Paper 9.3, 1982 by P. Bardell and W. McAnney; &#34;Fault Simulation for Structured VLSI&#34; in VLSI Systems Design, December, 1985 by J. Waicukauski, E. Eichelberger, et al. 
     Weighted random pattern test generators, such as those described in the documents cited above, produce one or more weight sets. A weight set specifies the weight to be used at each circuit input. With the input pattern probabilities suitably biased (towards producing more zeroes or more ones) according to the weights in the weight set, some random pattern resistant faults become more likely to be detected than by methods in which all inputs have weights set equal to 1/2. Several weighted random pattern algorithms exist to generate the desired weight sets. They differ in several aspects: (1) how to construct the next fault subset for weight generation, (2) how they resolve conflicting weighting requirements, (3) the minimum weight set effectiveness before it is discarded and a new weight set generated, and (4) the weight factor which expresses how many distinct weight resolutions are available. However, it becomes prohibitively expensive to implement weighted random pattern test generators and weight storage on-chip circuits as the weight factor, F, increases. The number of bits, B, required to specify each input weighting plus &#34;fixed&#34; weights of 0 and 1 is given by: 
     
         B=ceiling (log.sub.2 (2F+1)), 
    
     where the notation &#34;ceiling&#34; represents the greatest integer which is smaller than the quantity in parenthesis. 
     SUMMARY OF THE INVENTION 
     In accordance with a preferred embodiment of the present invention, circuits for self-testing of electronic circuit devices employ a hybrid pattern self-test method which greatly simplifies the weight set which is used in weighted random pattern testing. The use of only three special weights permits both low overhead test pattern generators and compact weight storage, making the invention practical for built-in self-test (BIST) circuits. 
     More particularly, in accordance with one embodiment, the present invention is a digital test generation circuit which comprises means for generating a pseudo-random signal sequence, weighting means for receiving the pseudo-random sequence and for producing a weighted output sequence. Weight storage means are provided for storing a sequence of two bit weights for transmittal to the weighting means. More particularly, the circuit herein is simple, effective and it requires only one connection to a linear feedback shift register device which generates pseudo-random signals. 
     Accordingly, it is an object of the present invention to provide on-chip and on-product built-in, self-test capabilities. 
     It is also an object of the present invention to provide a test mechanism which is present both during normal use and subsequent to chip fail in the field. 
     It is yet another object of the present invention to reduce the amount of circuitry deployed on a chip or in-product for error pattern generation. 
     It is a still further object of the present invention to provide adequate test vector generation. 
     It is also another object of the present invention to decrease the overhead associated with test pattern generators and to reduce the size of weight storage. Lastly, but not limited hereto, it is still another object of the present invention to provide a hybrid pattern self-test system having a weight factor of 1 and employing a system of only 3 weights. 
    
    
     DESCRIPTION OF THE FIGURES 
     The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of practice, together with the further objects and advantages thereof, may best be understood by reference to the following description taken in connection with the accompanying drawings in which: 
     FIG. 1 is a block diagram illustrating why weighted random pattern testing is effective in detecting certain random pattern resistant faults; 
     FIG. 2 is a block diagram illustrating a conventional test generator implementation for a weight factor of 4, and particularly illustrating the fact that each biased input requires four stages of a linear feedback shift register plus combinational logic to select the weighted value; 
     FIG. 3 is a block diagram illustrating a weight control circuit constructed in accordance with the present invention; and 
     FIG. 4 is a block diagram illustrating the application of the principles of the present invention to a STUMPS (Self Test Using MISR (Multiple Input Shift Register) and Parallel SRSG (Shift Register Sequence Generator)) circuit. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     In order to fully appreciate the problems that are solved by the present invention, attention is directed to FIG. 1 which illustrates a realistic implementation of a 10 input AND gate. In particular, it is assumed that this implementation is defective in that the rightmost AND gate is in a &#34;stuck at 0&#34; condition. If conventional random pattern testing is employed to detect this fault condition, then only one pattern in N=2 10  =1024 detects this fault. In such circumstances, the &#34;fault detectability&#34;, k, is said to be 1, where k=N(1/2) 10 . Here, the 10 occurs in the exponent because the AND gate embodiment has 10 input signal lines. The base factor (1/2) is present because all input weights are effectively 1/2 in the non-weighted random pattern test situation. In contrast, if each input weight is 15/16, the fault detectability rises to k=N(15/16) 10  =537. In practice, these patterns are derived from pseudo-random pattern generators and the patterns are not repeated throughout the test and accordingly these numbers are realistic. The equations for fault detectability k and test length L if all input signal lines receive signals of weight w are as follows: 
     
         k=Nw.sup.n                                                 (1) 
    
     
         L=ceiling(N(1-(1-c).sup.1/k))                              (2) 
    
     To have a confidence level c equal to 95% of detecting this fault, one requires L=973 flat random patterns. If a weighted random pattern method is employed in the example given above, L=6 such weighted random patterns are required for the 95% confidence level. 
     In many weighted random pattern test situations, a weight factor F of 4 is typical. In such circumstances, the available weights are of the form (1/2) n  where 1≦n≦F, together with the values 1-(1/2) n , where 2≦n≦F In the particular case of n=10 and F=4,the set of available weights becomes {1/16, 1/8, 1/4, 1/2, 3/4, 7/8, 15/16}. Furthermore, to support control signals that must be maintained at fixed values, weights of 0 and 1 are also made available. 
     FIG. 2 illustrates a test generator implementation for a weight factor of F=4. It is to be particularly noted in FIG. 2 that each biased input which is supplied to a scan channel requires inputs from four stages of linear feedback shift register (LFSR) 10. Additionally, combinational logic is also needed to select the weight value. In particular, it is seen that AND gates 11, 12 and 13, are cascaded as shown to provide various levels of weighting to multiplexer 14. Multiplexer 14 is controlled by signals S 1  and S 2  which are employed to select the grain. Multiplexer 14 provides true and complemented output signals to selector 15 which is controlled by signals S 3  and S 4 . Selector 15 typically comprises a pair of two input AND gates connected as shown whose outputs are supplied to a single OR gate whose output is directed to the circuits to be tested. If for example, S 3  S 4  equals 00 then a fixed 0 is supplied as the output from the circuit. If S 3  S 4  =11, then the output is fixed at a logic 1. If S 3  S 4  =01, then the output is biased towards 1. On the other hand, if S 3  S 4  =10, the output is biased towards 0. 
     However, the most important aspect of FIG. 2 is that there is a requirement for four LFSR stages to be employed and for 4 bits to be read to generate a single test output signal. Additionally, for each test output signal there are also required three AND gates(11, 12, 13), a multiplexer (14) and a selector (15). This illustrates that it is prohibitively expensive to implement weighted random pattern test generators and weight storage on-chip when the weight factor F is large. The number of bits B required to specify each input weighting plus weights of 0 and 1 is given in the following equation: 
     
         B=ceiling(log(2F+1))                                       (3) 
    
     In the present case if F=4, B=4. 
     This is to be contrasted with the hybrid pattern self-test (HPST) circuit of the present invention as shown in FIG. 3. The circuit of the present invention makes efficient, high quality on-chip self-test available. The HPST circuit of the present invention results in a weight factor of 1, with weights which are 0, 1/2 and 1. In comparison with usual weighted random pattern on-chip testing, the simple weights allow the HPST to be implemented relatively inexpensively. FIG. 3 illustrates a possible weight generation circuit. In particular, it is noted that weight control circuitry 20 in FIG. 3 requires an input signal from only a single LFSR cell from shift register 10. Furthermore, it is seen that the weight control circuit is implementable utilizing only one AND and one OR logic block, designated by reference numerals 21 and 22 respectively, in FIG. 3. In particular, weight control signal S 1  controls the input to AND gate 21 and weight control signal S 2  controls the signals supplied to OR gate 22 from AND gate 21. As the table in FIG. 3 shows, if S 1  S 2  =00 then the output is a fixed 0. If S 1  S 2  =10, then a weight of 1/2 is implemented. If S 1  S 2  =01 or 11, then the output is fixed at a logic 1. It is an unexpected result that such a simple weighting method is still effective in producing a robust set of test signals. 
     It is noted herein, that the linear feedback shift register shown in FIGS. 2, 3 and 4 are understood to be constructed so as to provide an appropriate set of pseudo-random state patterns as the shift register is cycled from state to state. Such devices are well known for their ability to produce such sequences and are capable of being able to be cycled through a large number of states without repetition. 
     Weighted random pattern testing has proven very successful in the testing of level sensitive scan design (LSSD) integrated circuit products. For example, see the referenced article by Waicukauski and Motika. Due to the high cost of including circuits for weight storage, pattern generation and response compression on the product, these circuits have instead usually been placed in the tester. Deterministic testing of LSSD logic products uses large pattern memories to store algorithmically generated patterns and has an even longer history of success. However, in either case, moving the test pattern generation onto the product has been too &#34;expensive&#34; in terms of circuit size. STUMPS (see the paper &#34;Self-Testing of Multichip Logic Modules&#34; by P. Bardell and W. McAnney from the IEEE International Test Conference, Paper 9.3, 1982) is a random pattern self-test approach where flat random pattern generators are employed on the product. Unfortunately, random pattern self-test has not generally proven effective in achieving high fault rate coverage in spite of test lengths which far exceed those of deterministic testing. 
     Since weighted random pattern testing has been very effective, combining its output probability biasing properties while maintaining a circuit overhead comparable with STUMPS design provides a powerful built-in self-test (BIST) method. The test information volume stored by the tester is reduced dramatically relative to deterministic testing. The hybrid pattern self-test described herein moves pattern generation and response compression along with some or all weight storage onto the product or chip, while maintaining high quality testing. 
     The same test generator and simulator code used for weighted random pattern test generation is also used to develop the hybrid test plan herein. Individual test plans are determined by the weight set data and test links. Test vectors generated for focal fault and surrounding faults are merged. Any conflicting and &#34;don&#39;t care&#34; input requirements are assigned a weight value of 1/2. In hybrid pattern self-testing, all other inputs are assigned fixed value &#34;weights&#34; of 0 or 1 as appropriate. The fault simulator then determines the remaining faults detected (see the article titled &#34;Fault Simulation for Structured VLSI&#34; by Waicukauski and Eichelberger, et al. in VLSI Systems Design, December, 1985). The following table shows a comparison between input weight assignments in weighted random pattern testing and in hybrid pattern self-test: 
     
                       TABLE I______________________________________Weight Assignment TableWRP weight HPST weight  Use______________________________________0,1        0,1          Fixed value control                   signals1/2        1/2          Conflicting or don&#39;t care                   input requirements15/16      1            Bias towards 1 1/16      0            Bias towards 0______________________________________ 
    
     This table does not include the initial weight set used for weighted random pattern testing and hybrid pattern self-test. In this case, weighted random pattern (WRP) testing makes use of the full range of weights available to it generating weights by a structural analysis of the product. However, hybrid pattern self-test uses a flat, random initial weight set. 
     In hybrid pattern self-test, every weight set requires B=2 bits to specify the weight (0, 1/2 or 1) for each input. For testing LSSD designs, &#34;inputs&#34; include every shift register latch (SRL) and primary input. Encoding the weights for multiple inputs in a single block would allow the average storage per weight to be further reduced at the expense of more complex decoding circuitry on the product. On-product hybrid pattern self-test circuits include a test pattern generator and a response compressor or signature analyzer. Test pattern generator circuits are preferably implemented with linear feedback shift registers. The signature analyzer is referred to as a multiple input signature register (MISR), (see FIG. 4 discussed below). 
     Trade offs on chip density, the selection of RAM versus ROM storage, and other considerations determine exactly how many weight sets are stored on any given product. A possible implementation includes the storage of a single unencoded weight set on-product RAM. The tester is still made responsible for writing each weight set in sequence into the array. As well, like most other BIST methods, the tester (an electrical apparatus) also applies the appropriate clock sequences and control signals to initiate and operate the test as well as to scan the linear feedback shift registers. 
     FIG. 4 illustrates a hybrid pattern self-test implementation in accordance with the present invention with modified STUMPS self-test circuitry. The modifications include weight storage RAM 31 and its associated buffer 32, address generating circuitry 33 as well as linear feedback shift register, test pattern generator 18 with associated weighting circuitry 20&#39;. Weighting circuitry 20&#39; comprises a bank of weighting circuits 20 as shown in FIG. 3. In FIG. 4, RAM 31, buffer 32 and address generator 33 collectively operate as a weight storage means which stores a sequence of two bit weights for transmittal to weighting circuitry 20&#39; comprising individual circuits for producing weighted output sequence in which the distribution of binary digits is altered in accordance with the weighting signals supplied from storage means 30. It is also assumed in FIG. 4 that the product uses a boundary scan approach so that primary input control and observability is available in scan channels 1 through N(reference numerals 19a through 19b respectively). See the text &#34;Logic Design Principles by E. J. McCluskey, Prentice Hall , 1986, Section 10.4--4 for a discussion of boundary scan principles. Weights that are either all 1/2 or only 0 and 1 are easily obtained and transformed by the generator to supply flat random patterns or to supply deterministic patterns respectively. These capabilities are a useful complement to HPST methods. To perform meaningful diagnostics, product shift register latches (SRLs) should be observable including those of the MISR 18. With a modified STUMPS method, the ability to have MISR 18 select only a single scan channel at any time using Gating 17 while operating as a shift register is very helpful. Block 16 is also present to further permute PRPG data form block 10 to reduce correlation effects. 
     The HPST method of the present invention is also applicable to testing at a higher logical level, namely at the system level. In fact, the use of HPST methods at a higher level of packaging in the system environment is very desirable. The weight storage RAM is available for functional use if the system has a weight reload capability and the degraded mode of RPST is also always available. 
     It is useful to compare the characteristics of RPST STUMPS, HPST modified STUMPS and an on-chip WRPST modified STUMPS method to appreciate the benefits of HPST. This comparison is provided in the table below: 
     
                       TABLE II______________________________________        STUMPS  HPST      WRPST______________________________________Weight storage N         Y         Ycircuitry req&#39;d.Number of bits per          0         2         4weighted PINumber of LFSR stages          N         N         4*N(N scan channels)DC Coverage Range          60-100%   99-100%   99-100%(100,000 patterns)Number of Weight          1          1-200     1-200Sets______________________________________ 
    
     It is seen that HPST offers the same high fault coverage potential as WRPST with a significantly smaller implementation cost. For the proposed implementation, HPST requires approximately 1/2 of the weight storage and buffering, 1/4 of the number of shift register stages and 1/5 of the weighting circuitry in comparison with a comparable WRPST implementation. 
     Experiments demonstrate that HPST is a viable on-product BIST approach. The HPST weight generation algorithm allows more conflicting input requirements than weighted random pattern testing to reduce the impact of using fixed value &#34;weights&#34;. Of course, HPST and WRPST test lengths exceed those of deterministic tests with the same fault coverage. However, HPST pattern counts remain significantly below those of RPST for equivalent coverage. 
     Experiments were performed with 11 bipolar chips each containing 5200 gates and 1 CMOS chip containing 26,000 gates. Three of the 12 chips were significantly random pattern resistant. The most random pattern testable of the three yielded an 84.4% fault coverage (of fault equivalence classes) after 100,096 flat random patterns. The data in Table III below for these 12 chips indicates the average number of patterns (NPAT), the number of weight sets (NWT) and the CPU time (in model 3081 Processor CPU seconds) for 100% fault coverage of non-redundant faults on all chips. The average compares HPST methods with weighted random pattern testing. Note that the number of patterns is reduced by using more weight sets. 
     
                       TABLE III______________________________________Average Test Parameters (100% Fault Coverage)   NPAT        NWT     CPU______________________________________HPST      29082         21.4    125.8WRP       23962         20.2    84.8______________________________________ 
    
     From the above, it should be appreciated that the circuit and method of the present invention provides significant advantages in the testing of integrated circuit devices. Additionally, it is seen that the present invention provides a method for moving test circuitry onto the chip itself. This provides a number of advantages which have been discussed above and in particular, it is to be noted that the use of on-chip RAM circuitry for the storage of weights provides significant flexibility and advantages in production environments. It is also seen that applicants have provided a circuit and test method which consumes much less chip area without a loss in functionality. It is also seen that the present invention achieves the objectives stated above. While the invention has been described in detail herein in accordance with certain preferred embodiments thereof, many modifications and changes therein may be effected by those skilled in the art. Accordingly, it is intended by the appended claims to cover all such modifications and changes as fall within the true spirit and scope of the invention.