Method and system for testing an integrated circuit featuring scan design

Abstract: The present invention provides for improved testing of an integrated circuit 1. In order to measure a signal S in circuit 1 a multi-pattern is placed in shift register 70. The multi-pattern is generated by overlaying at least two test patterns Ax and Bx. Therefore the signal S changes its state in response to only a small amount of shift operations.

Description: The present invention relates to methods of generating a multi-pattern for testing of an integrated circuit featuring scan design and of measuring of a signal in such an integrated circuit as well as to a test system for testing of such an integrated circuit. One of the best known test methods for testing large scale integrated circuits is level sensitive scan design (LSSD) which is described in the article "A Logic Design Structure for LSI Testability", Proceedings of the Design Automation Conference, No. 14, 20-22, June 1977, New Orleans, Louisiana, by E.B. Eichelberger. See also US-A-4 590 078, US-A-4 428 060 and E.J. McCluskey, "A Survey of Design for Testability Scan Techniques", VLSI Design, December 1984, pp. 38-61, for a comprehensive list of patents and publications for the testing of electronic structures. Basically, LSSD utilizes a plurality of controllability/observability points internal to an LSI circuit. Controllability is provided by allowing data to be shifted into these points which are comprised of shift register latches (SRL's) in a serial manner. A test is then performed. The resulting data stored in the SRL's is subsequently shifted back out for observation thereof. Therefore, control/observation of an LSI circuit does not depend on the number of pins in the package. Furthermore, because the latches themselves are part of the internal circuit, they can be utilized to break feed-back paths in a sequential circuit, enabling the test for combinational circuits between SRL's to be generated automatically. In a typical scan design, the shift registers are located at specific points required for the design function but are connected together in the scan chain for testing purposes. The scan chain allows for realization of any test states in the registers for test application. A test pattern is then generated on a computer. The generated test pattern is then shifted into the SRL's, test vectors (selected words or groups of digital data) applied to the primary inputs or pins of the chip, the system clocks applied to perform the test, the primary output pins compared to expected vector outputs and data scanned out of the SRL's to compare it to known good test vectors. In performing this test, numerous series of test vectors are usually required for shifting into the SRL's, applying the test vectors and then shifting the results back out. It is thus seen that in order to fully realize the potential of LSSD testing, test generation software must be able to generate the required test patterns for loading into the SRL's inside the chip. Another class of scan designs is the boundary scan architecture as defined e.g. in IEEE Std 1149.1. An overview of diverse boundary-scan designs as well as a list of further references is given in "The Test Access Port and Boundary-Scan Architecture", by C.M. Maunder and R.E. Tulloss, IEEE Computer Society Press, Los Alamitos, Ca., 1990. A common disadvantage of the above described scan-path architectures is that for each test a separate test pattern is shifted into the scan-path. If the scan-path comprises a large number of SRL's and if a large number of test patterns is to be shifted into the scan-path, testing consequently takes a relatively long period of time. It is thus an object of the invention to provide method and apparatus for improved testing of an integrated circuit featuring scan design. The object of the invention is solved by applying the features laid down in the independent claims. In known scan-path architectures it is necessary to shift in a test pattern into the scan-path. After a functional step is performed the resulting data is shifted out for observation thereof. One example of generating suitable test patterns is described in published European patent application 90 117 819.4. The invention is particularly aimed to reduce the number of test patterns to be shifted in separately. According to the teaching of the invention two or more test patterns are overlaid to form a multi-pattern. Thereby the invention takes advantage of the fact that in practice in most test patterns a high percentage of the bit positions are "don't cares". Therefore it is possible to overlay a plurality of test patterns without interference, if the test patterns are shifted for an appropriate distance with respect to each other prior to overlaying the displaced test patterns. According to a preferred embodiment of the invention the resulting multi-pattern is shifted into a scan-path of the integrated circuit under test. If a specific signal is to be tested, the state of that signal depends only on those SRL's which are comprised in the corresponding cone. Thus the multi-pattern is shifted into the scan-path so that shift-in data is stored in the SRL's of that cone. Subsequently the response of the particular signal thereto is measured and the multi-pattern is shifted in the scan-path for a certain shift-amount. The displacement of subsequent overlaid test patterns relative to each other determines that shift-amount. After the multi-pattern is shifted by this distance the signal is measured again. If subsequent test patterns which are overlaid to form the multi-pattern correspond to different responses of the signal which is measured, this signal changes its state, when the multi-pattern is shifted in the scan-path. Thus a relatively small amount of shift operations is necessary to shift the multi-pattern in the scan-path so that the signal which is measured changes its state. Thereby the test procedure is greatly enhanced and sped up because changing the state of the signal no longer implies a complete shift-in operation of a test pattern. In further preferred embodiments of the invention the distance by which the test patterns are displaced relatively to each other is minimized, so that testing is further sped up. This minimization is performed by combining possible patterns and thereby establishing a ranking of test patterns according to the shift distances necessary. However, minimal shift distances do not always have highest priority. In some cases it is also important to attain a certain statistical distribution of test patterns in the multi-pattern. This may require that not in all cases the test pattern having a minimal shift distance is chosen. The invention is particularly advantageous if a high frequency of the signal which is to be measured is required by the measurement system as it is the case if an E-beam tester is employed. The particular problems associated with E-beam testing in a scan-path environment are discussed in "Design for Contactless Testability in a Scan-Path Environment", by J. Gross and T. Gruening, Contribution for ETC 1991. The present invention provides a solution to the problems associated with the time consuming loading of test patterns into the scan-path. The invention is also particularly valuable if other measurement systems are employed such as laser testers or the like. A full chip integrated circuit tester for dynamic measurements is known from EP-B-0 216 077. The invention is particularly beneficial in such an environment, since the inventive multi-pattern provides for rapid signal changes and thus short testing times. The invention further provides for a system for testing an integrated circuit featuring scan design. In the inventive test system the multi-pattern is shifted into a scan-path of an integrated circuit under test and the response of a signal thereto is measured by measurement means such as contactless measurement means e.g. E-beam or laser measurement. The result of the measurement is compared to the expected signal. In order to increase the signal to noise ratio the measurement is advantageously performed repeatedly by shifting the multi-pattern several times through the scan-path. If subsequent responses of the signal which is measured are added, the signal to noise ratio is thereby increased. This adding of the measured signal is performed by means for statistically analyzing the measured signal. This statistical analysis preferably is performed separately for each different test pattern comprised in the multi-pattern. This is accomplished by providing the test pattern identification of that test pattern which is shifted into the relevant cone to the means for statistically analyzing. Thereby each measurement is assigned to a specific test pattern so that the statistical analysis is performed separately. As a result the means for statistically analyzing produce a separate curve for each test pattern whereby the curve represents the response of the measured signal to a specific test pattern. In the following preferred embodiments of the invention are described in more detail with reference to the drawing in which Fig. 1 is a schematic diagram illustrating the principle of the generation of the multi-pattern; Fig. 2.1 shows the displacement of test patterns and subsequent overlay to generate the multi-pattern; Fig. 2.2 shows the shift in of the multi-pattern into a scan-path; and Fig. 3 is a block diagram showing a preferred configuration of a test system using the inventive multi-pattern. With reference to Fig. 1 the principle of the generation of the inventive multi-pattern is explained in detail. In Fig. 1 the integrated circuit under test is depicted schematically. In this case the circuit under test is a single chip 1. The circuit schematic shown in Fig. 1 of chip 1 is greatly simplified since only a small portion of a scan-in-path 65 comprising SRL's 50 to 60 is depicted. Further only one single cone together with its output signal S is shown in Fig. 1. The cone runs from SRL 51 to SRL 59 in the scan-path 65 and comprises the AND-gates 10 and 20 as well as OR-gate 30. The inputs of the AND-gate 10 are interconnected with the outputs of the SRL's 51 and 54 whereas the inputs of the OR-gate 30 are interconnected with the outputs of SRL's 56 and 59. The inputs of the AND-gate 20 are interconnected with the outputs of AND-gate 10 and OR-gate 30. The output of AND-gate 20 provides the signal S at measuring point 40. Thus the state of the signal S is only dependent on the outputs of SRL's 51, 54, 56 and 59. The data stored in SRL's 52, 53, 55, 57 and 58 does not influence the output of AND-gate 20 since these SRL's are not interconnected with any of the logic gates 10, 20 or 30 even though these SRL's are comprised in the cone. The SRL's 50 and 60 which are not comprised in the cone do not influence the output signal S by definition. These SRL's which do not influence the output signal S have "don't care" data stored therein which is denoted by an "X". Further, a table of test patterns Ax and Bx is shown in Fig. 1. The three different test patterns A1, A2 and A3 cause the signal S to be at logically one, if they are shifted into the scan-in-path 56 and if the appropriate clock and control signals are applied subsequently as it is well known in the art. Analogously the test patterns B1, B2, B3 and B4 cause the output signal S to be at logically zero. The test patterns Ax and Bx have bit positions Pos 1 to 11 corresponding to SRL's 50 to 60. If the test patterns Ax and Bx are displaced relatively to each other and overlaid subsequently, the multi-pattern is generated thereby. One possible multi-pattern is stored in the shift register 70. The shift register 70 performs ring-shift operations in order to shift the desired test patterns into the scan-path 65. This will become clearer in the following. In Fig. 2.1 an example of the development of the inventive multi-pattern is illustrated by way of example. In this example the test pattern A3 is chosen to be the first to be scanned into the scan-in-path 65. It is thus placed at bit positions 1 to 11 in the table shown in Fig. 2.1. This is done in step no. 1 whereby the test pattern A3 is not displaced with respect to bit position 1 so that "DISPLACE" is zero. In step no. 2 the test pattern B1 is chosen. The test pattern B1 is displaced with respect to the first bit position and thus with respect to test pattern A3 for only one bit position. Test pattern B1 is thus placed on bit positions 2 to 12. Due to the displacement of test pattern B1 relatively to test pattern A3 it is possible to overlay those two test patterns because of the "don't care" bit positions "X" occurring in both test patterns. Analogously in the following steps 3 to 9 the test patterns A3, B2, A2, B3, A3, B2 and A3 are chosen and displaced. In steps 6 and 9 it necessary to increment the amount of displacement by two in order to find a matching position of the patterns to be overlaid. From step 10 on where the test pattern B1 is chosen the test patterns overflow at bit position 21. Test pattern B1 is placed at bit position 12 to 21 whereas the last bit of test pattern B1 is placed at the first bit position 1. Due to this overflow at bit position 21 the resulting multi-pattern is also restricted to 21 bit positions. In the following steps 11 to 16 further test patterns A3, B2, A1, B1, A3 and B2 are chosen analogously and displaced with respect to the first bit position 1. The test patterns Ax and Bx are chosen and displaced so that in each column of the table shown in Fig. 2.1 corresponding to one of the bit positions 1 to 21 only matching data are comprised. If there are not only "don't care" bits "X" comprised in a column, each column is restricted to comprise either a number of additional "1" bits or a number of additional "0" bits. This condition is fulfilled for each of the columns 1 to 21 corresponding to bit positions 1 to 21 as shown in Fig. 2.1. Thus it is possible to overlay the 16 test patterns which are chosen in steps 1 to 16. The resulting multi-pattern comprises 21 bit positions due to the overflow from step 10 onwards. The value of the first bit position 1 of the resulting multi-pattern is determined by the column belonging to bit position 1. This column comprises the following bits: XX1X1XXX. Since in the first column only "don't care" bits "X" and "1" bits are comprised the result of overlaying those bits is a "1" bit. The same rule applies for bit position 2 of the resulting multi-pattern. The column of bit position 3 is the following: X0XXXXX0. Since only "don't care" bits "X" and "0" bits are comprised in that column, the resulting bit of the overlay of the test patterns is a "0" bit in this case. Applying these rules for all of the bit positions 1 to 21 yields the resulting multi-pattern 110111101101011110111. In the example shown in Fig. 2.1 no column occurs containing exclusively "don't care" bits "X". If this should be the case, the resulting bit of the overlay operation could be chosen arbitrarily. In Fig. 2.2 it is illustrated by way of example how the resulting multi-pattern is induced into the integrated circuit chip 1 under test. First the multi-pattern is placed in the shift register 70. During this initialization phase there is no test pattern induced into the scan-in-path 65 shown in Fig. 1. To initialize the testing the multi-pattern is shifted into the scan-in-path 65 so that a first portion of the multi-pattern corresponding to the test pattern A3 which is chosen in step 1 of Fig. 2.1 is scanned into the scan-in-path 65. This requires eleven shift cycles since there are eleven SRL's and thus eleven bit positions comprised in that scan-in-path. The response to the signal S to the input of test pattern A3 is measured in order to compare the measured signal S to the expected signal. If the measured signal S and the expected signal S differ, this indicates that the integrated circuit chip 1 under test is defective. In the following the multi-pattern is shifted for one shift cycle in order to induce the test pattern B1 into the scan-in-path 65. Only one shift cycle is necessary since the test pattern B1 is displaced with respect to test pattern A3 for only one bit position. After this additional shift operation the response of the signal S is measured again comparing the result of that measurement to the expected signal S. Subsequently the following test patterns A3, B2, A2, B3, A3, B2, A3, B1, A3, B2, A1, B1, A3, B2 and A3 are shifted-in analogously and the response of the signal S thereto is measured for each induced test pattern. The amount of shift cycles necessary to shift-in a test pattern corresponds to the relative displacement of subsequent test patterns. After the initialization which takes 11 shift cycles in order to induce the test pattern A3 in step 1 only one or two shift cycles are necessary in this example in order to shift-in subsequent test patterns in the following steps. The number of shift cycles necessary from step 2 onwards directly corresponds to the relative displacement of subsequent test patterns from step 2 onwards as shown in Fig. 2.1. The relative displacement of test pattern B1 in step no. 2 of Fig. 2.1 with respect to the proceeding test pattern A3 of step no. 1 is one bit position, so that the corresponding number of shift cycles necessary in step 2 of Fig. 2.2 in order to induce the test pattern B1 is also 1. In step 6 of Fig. 2.2 however two shift cycles are necessary to induce the test pattern B3. This is due to the fact that the test pattern B3 is chosen in step 6 of Fig. 2.1 and is displaced with respect to the proceeding test pattern A2 of step no. 5 by two bit positions. In step no. 16 of Fig. 2.2 the last test pattern B2 is induced into the scan-in-path 65 of the integrated circuit chip 1 under test. This corresponds to the choice of test pattern B2 in step no. 16 of Fig. 2.1. In some cases it is desirable to repeat the entire test sequence of steps 1 to 16. In order to repeat this test sequence the multi-pattern is shifted for only two shift cycles in step 17 so that again test pattern A3 is induced into the scan-in-path 65 and the multi-pattern in the shift register 70 again is at the same position as it is in step no. 1 of Fig. 2.2. Thus step 17 represents the same condition as step 1. Accordingly a further shift cycle would cause the test pattern B1 to be induced into the scan-in-path 65 corresponding to step no. 2 so that with subsequent shift cycles the entire test sequence of steps 1 to 16 is repeated. Thus it is possible according to the invention to induce a relatively large amount of test patterns - in this case 16 - with a small amount of shift cycles - in this case by 21 shift cycles. Testing is thereby greatly sped up as compared to the prior art since according to prior art testing methods each test pattern is shifted-in separately requiring a full amount of 11 shift cycles corresponding to the number of bits to be shifted-in. This is particularly advantageous, if an E-beam tester is used for contactless probing of the signal S. The particular problems associated with E-beam testing of scan-path designs are analyzed in the above referenced article by J. Gross and T. Gruening. The result of that analysis is that measurements of the signal S with both high time and voltage resolutions are practically impossible for known scan-path designs. This is due to the fact the E-beam testing generally requires a periodic repetition of the signal S which has to be measured. It is necessary according to the prior art to separately shift-in patterns Ax and Bx into the scan-path in order to make the signal S repeatedly changing its state from "1" to "0" or vice versa. It is to be noted that a scan-in-path 65 may comprise up to several thousand SRL's so that each signal transition of the signal S requires accordingly several thousand shift cycles. This results in very long times needed for testing of the circuit and makes E-beam testing thus practically not applicable to testing of scan-path designs. The invention solves that problem because the test patterns Ax and Bx are overlaid so that a very small amount of shift cycles such as 1 or 2 is necessary in order to shift-in different test patterns and to make the signal S change its state. In practice the test patterns comprise up to about 97 % of "don't care" bits "X" so that choosing of appropriate test patterns according to the above described rules is performed easily. In some cases it is desirable to choose subsequent test patterns so that the resulting displacement "DISPLACE" is minimal since this results in a minimized test time. This is advantageously accomplished by determining the displacement distances for a plurality of possible test patterns and to establish a ranking of those test patterns based on this determination. The highest ranking test pattern or with other words the test pattern with the smallest displacement distance is thus chosen. In other cases a minimal test time is not the most important test criterion but a certain statistical distribution of test pattern in the resulting multi-pattern. This requires that each test pattern is chosen in the multi-pattern development shown in Fig. 2.1 for substantially a predetermined number of times. One possibility to statistically distribute a choice of test patterns is to equally distribute this choice so that each test pattern occurs substantially for the same number of times in the above described overlay process of Fig. 2.1. If an E-beam tester is employed for measurement of the signal S, it is particularly advantageous to ring-shift the multi-pattern several times so that the above described test sequence of Fig. 2.2 is carried out repeatedly. Thereby it is possible to analyze the measured signal S statistically and thus improve the quality of this measurement. The signal to noise ratio of the measured signal is substantially enhanced and the voltage resolution is increased if e.g. results of subsequent measurements are added. A result of one of those measurements is only added to prior measurements in order to improve the signal to noise ratio, if it corresponds to its expected value. If this is not the case, this shows that the integrated circuit chip 1 under test is defective. If each possible test pattern Ax, Bx is chosen at least once for the multi-pattern, the test coverage is 100 %. This is not always necessary as it is indicated in Fig. 2.1 since the test pattern B4 is not chosen for the multi-pattern of that Figure. It is also possible to statistically analyze subsequent measurements of the signal S separately for each of the test patterns. One way of performing this statistical analysis is to calculate a separate signal S Ax, Bx for each of the test patterns. The signal S Ax, Bx is obtained as follows where S i (Bx→Ax) is the signal S which is measured in response to a transition from test pattern Bx to test pattern Ax. Signals S Ax, Bx obtained according to the above equation facilitate the diagnosis of the integrated circuit chip 1 under test. Since the results of the N measurements of the signal S due to a transition of test pattern Bx to test pattern Ax are added, the signal to noise ratio of the resulting signal S Ax, Bx is enhanced. It is to be understood that the above described methods of generating a multi-pattern may be carried out by a known computer system. In the following one example of the improved circuit diagnosis due to the above described separate statistical analysis is described by way of example. If e.g. the OR-gate 30 of Fig. 1 is defective so that it outputs a logical "1" irrespective of its input, this so called "stuck at fault" is detected by the above described separate analysis. A transition from one of the test patterns Ax to test pattern B4 in this case would not change the state of the signal S from logically "1" to logically "0". If the signal S B4, Ax is obtained according to the following equation the defective OR-gate 30 is thereby identified. In the following a preferred embodiment of the hardware of the inventive test system is described with reference to Fig. 3. The inventive test system comprises test data storage means 80, test control logic means 90, a measurement unit 110 and a controller 111. The test data storage means comprise a stack for sequential storage of test-data and control code data. The test-data comprise the multi-pattern which is generated according to the method as described with reference to Figs. 1 and 2 whereas the control code comprises the shift cycles necessary according to Fig. 2.2. Via lines 83 and 84 the number of the required shift cycles and the scan-in data which is to be shifted into the scan-in-path 65 of the chip 1 are transmitted in parallel to the test sequence logic 91 comprised in the test control logic means 90. The test sequence logic 91 provides the shift clocks and the scan-in data to the chip 1 via lines 93 and 94. At measurement point 40 the signal S is measured via line 113 by the measurement unit 110 which in this case is an E-beam tester. The measurement value is transmitted via line 112 to the E-beam system controller 92 which is also comprised in the test control logic means 90. Further an identification number of the test pattern which is shifted-in the scan-in-path 65 is provided via line 85 to the E-beam system controller 92. Further the E-beam system controller 92 is coupled via line 96 to the test sequence logic 91. The E-beam system controller transmits control signals to the controller 111 via line 114. Thus the E-beam system controller 92 synchronizes the system and provides trigger pulses via line 114 to the controller 111. The i-o stimuli which are necessary to put the chip 1 into the test node are applied via line 95 from the test sequence logic 91 to the chip 1. These i-o stimuli are derived from the i-o-data transmitted via line 86 to the test sequence logic 91 from the i-o-data support buffer 82 which is comprised in the test data storage means 80. Even though the measurement unit 110 in this case is an E-beam tester other types of measurement apparatuses are also applicable in the inventive test system. Further, it is to be noted that the above described statistical analysis may be performed by a suitable computer 120, if the measurement values are provided to the computer 120 via line 121.

Claims: A method of generating a multi-pattern consisting of at least a first and a second test pattern (Ax, Bx) for testing an output signal S of an integrated circuit (1) featuring scan design such as LSSD or boundary scan, an output signal S of said integrated circuit taking first state in response to said first test pattern (Ax) scanned into a scan-path of said integrated circuit and said output signal S taking second state in response to said second test pattern (Bx) scanned into said scan-path, where some of the shift register latches in said scan path have no influence on the output S of the integrated circuit and accordingly the bit positions in the test pattern corresponding to those latches are irrelevant for the test result; said method comprising the steps of: a) displacing said second test pattern with respect to said first test pattern by such a number of bit positions that the relevant bits of the second pattern are either located in bit positions irrelevant to the first test pattern or in bit positions where the values of the first and second test patterns coincide; b) overlaying said displaced second pattern and said first pattern, so that said multi-pattern is generated. The method according to claim 1 further comprising the steps of a) choosing a further first test pattern (A3), b) displacing said further test pattern with respect to said second test pattern (B1) for a further distance; c) choosing a further second test pattern (B2), d) displacing said further second test pattern with respect to said further first test pattern for an even further distance; whereby said steps a, b, c, d are carried out repeatedly several times, whereby said multi-pattern is generated by overlaying said first test pattern and said displaced first and second test patterns. The method according to any one of the preceding claims, whereby said choice is taken so that said distance is minimal. The method according to any one of the preceding claims further comprising the steps of: a) determining said distance for a plurality of test patterns, b) establishing a ranking of test patterns based on said determination, whereby the test patterns having minimal distances have the highest ranking, c) choosing one of said test patterns according to said ranking, e.g. choosing one of the highest ranking test patterns. The method according to any one of the preceding claims, wherein said choice of said test patterns is statistically distributed, e.g. at least approximately equally distributed, whereby each possible test pattern preferably is chosen at least once, so that the mean value of said distances preferably is minimal. A method of measuring a signal S in an integrated circuit (1) featuring scan design such as LSSD or boundary scan, wherein a multi-pattern according to the method of any one the preceding claims is shifted into a scan-path of said integrated circuit comprising a cone belonging to said signal S, said method comprising the steps of: a) shifting a first portion of said multi-pattern into said scan-path, so that one of said overlaid test patterns covers said cone, b) shifting a second portion of said multi-pattern into said scan-path, so that another one of said overlaid test patterns covers said cone, whereby the shift-amount of said step of shifting is determined by said distance. The method according to claim 6, wherein said signal S is contactless measured such as by E-beam or laser testing. The method according to claim 6 or 7 further comprising a step of statistically analyzing said measured signal S, wherein said statistical analysis preferably comprises the improvement of the signal to noise ratio of said measured signal S by repeatedly adding the results of said measurements. The method according to claim 8, wherein said statistical analysis is performed separately for each test pattern comprised in said multi-pattern. A system for testing an integrated circuit featuring scan design such as LSSD or boundary scan, said system comprising measurement means (110) for measuring a signal S of said integrated circuit, such as contactless measuring means e.g. an E-beam or laser tester, test data storage means (80) for storing a multi-pattern being generated according to any one of the preceding claims and for storing of shift-amounts as determined by said distance, test control logic means (90) for providing scan-in data and control signals to said integrated circuit and for controlling of said measurement means, said test control logic means being interconnected to said test data storage means.

Inventors: DIEBOLD ULRICH, ROST PETER, SCHMIDT MANFRED, TORREITER OTTO, VOGT ROLF, WAGNER-DREBENSTEDT KLAUS, DIEBOLD, ULRICH, ROST, PETER, SCHMIDT, MANFRED, TORREITER, OTTO, VOGT, ROLF, WAGNER-DREBENSTEDT, KLAUS
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1992
Main classification: G06F11
IPC codes: G01R31