Abstract:
Several methods for reducing the occurrence of masking of errors when using &#34;Cross-Check&#34; integrated circuit testing arrays and data compression devices such as multiple input shift registers are disclosed. The methods reduce the probability that successive faults within the logic circuit nodes of the integrated circuit will cancel one another by insuring that signals from logically proximate circuit nodes are either not provided sequentially to the data compression circuitry or are provided in such a way as to store any given error in at least two different locations.

Description:
FIELD OF THE INVENTION 
     This invention relates to the testing of integrated circuits. More particularly it relates to a method for reducing testing errors when using a &#34;Cross-Check&#34; test structure. 
     BACKGROUND OF THE INVENTION 
     The &#34;Cross-Check&#34; test structure allows up to 100 percent electrical testing of very large scale integrated circuits by the addition of an array of test points to the integrated circuit (IC) being tested. This test structure and its method of operation are described in U.S. Pat. No. 4,749,947 to T. Gheewala entitled &#34;GRID-BASED, &#34;CROSS-CHECK&#34; TEST STRUCTURE FOR TESTING INTEGRATED CIRCUITS.&#34; That patent is hereby incorporated in its entirety into this application. 
     For the purposes of this application, the structure should be understood to consist of a grid of externally as well as individually accessible probe-lines and sense-lines with electronic switches at the crossings of the probe- and sense-lines. One end of the switches is tied to an array of test-points on the IC that are to be either monitored or controlled during the testing, and the other end of the switches is tied to a sense-line. The ON and the OFF states of the switches are controlled by probe-lines. The probe- and sense-lines are connected to test electronics, thus permitting the test electronics to control the electrical signals on the probe-lines and to measure or apply signals on the sense-lines. 
     The use of the &#34;Cross-Check&#34; test structure generates a tremendous volume of test data. Typically, the output node of every combinatorial logic gate in the IC is tested every clock cycle. Data compression is commonly used to reduce this test data to a manageable quantity. One of the most common forms of data compression requires the use of a Multiple Input Linear Feedback Shift Register (&#34;MISR&#34;). When a MISR is used for data compression with a &#34;Cross-Check&#34; test grid, test data from the sense lines of the &#34;Cross-Check&#34; grid is loaded in parallel into the MISR. After the initial data is loaded, data in the MISR is exclusive ORed (&#34;XORed&#34;) with new data generated during each subsequent clock cycle. Data is shifted one bit within the MISR every clock cycle. Various MISR output bits may be further XORed and fed back to any input or inputs of the MISR. 
     As shown in FIG. 1, MISR 12 has 8 registers labelled 1 through 8, the outputs of registers 5 and 8 being XORed, the result of which is XORed with the output of register 1. Finally, the result from this XOR operation is fed back to the input of register 1. XOR circuits 13 are coupled to the output of the previous register and the input for each register, except, as noted, register 1, and perform the &#34;XOR&#34; function. Alternative embodiments could operate with cellular automata as long as appropriate modification is made. 
     A possible problem with data compression is the unintentional concealment of errors or &#34;masking&#34;. Any single error will cause the data on the sense line receiving that error to be opposite to its correct value. In turn this will cause one bit in the MISR to be similarly incorrect. Given the nature and structure of an MISR, such an error will propagate, spreading to multiple locations with time as the data within the MISR is fed back to the MISR&#39;s inputs. However, if another error is detected and loaded into the same location in the MISR as that containing the previous error, the two errors may cancel one another through the XOR operation. Thus, the second error &#34;masks&#34; the first. In addition to such single bit masking of errors, multiple bit masking of errors is also possible, albeit much less likely. 
     Within the context of &#34;Cross-Check&#34; testing, two or more purely random errors have a very low probability of masking one another. Two unlikely conditions must occur to cause such a masking of an error. 
     First, the error which will mask the first error must be detected during every, but only every, test cycle within which the first error is detected. These are the only times that the second error can mask the first error and not itself cause a new, detectable error. For example, if the first error consists of a short to the power supply voltage V DD , which would appear as a &#34;stuck-at-one&#34; error, the error will only be detectable when the correct logic output should be a logic zero. During the test cycles that the logic level is expected to be a logic one, this type of error will not be detectable. 
     Second, the error must be in the proper physical location to mask the first error. For example, assume a circuit with 10,000 test points and 1,000 test cycles. If, on the average, an error is XORed and fed back to the MISR input after four MISR clock cycles, there are a maximum of four different physical locations (the four locations where the error is stored before being fed back) where an error could be masked before it propagates into multiple locations. The probability of this occurring is 4 in 10,000 during any given clock cycle. For the two errors to mask one another, they must additionally be in the same detectable or undetectable state during every clock cycle. As the errors are unrelated, there is only a 50% chance that the second error will be in the correct state to mask, or not mask, the first error. The probability of masking an error under these conditions can be given as: 
     
         P=(4/10,000) (0.5.sup.1,000)≈1×10.sup.-300 
    
     which is so small as to be negligible. 
     However, errors may be related because of their interconnection (logical proximity) in the IC. In such cases, the probability of masking an error is much higher. For example, a node shorted to V DD  will be stuck at logic level one. If this node is coupled to the input of an inverter, the output of the inverter will always be zero. Thus every time the first error is detected, the second one also is detected. If the output of the inverter is in the proper location to mask the first error, it will do so every time. Additionally, these nodes will drive other logic elements whose logic states must also be taken into account. 
     As the purpose of the software used to lay out an IC is to minimize the physical interconnect length between features and components, the probability of logically proximate features and components being physically close to one another on the IC is high. In such cases the probability of physical locations allowing masking of an error is commonly between 2 and 10 percent. 
     It is also a necessary prerequisite for masking an error that the error not propagate to other logically proximate nodes. For any given test cycle, the probability of the necessary non-propagation is on the order of 10 to 50 percent. 
     Finally, the number of nodes likely to have the condition such that the cancelling error pattern is the only pattern applied has also been found to be from one to ten percent. The final probability of masking an error therefore falls within the range of 
     
         P.sub.1 =(0.02) (0.10) (0.01)=0.002% and 
    
     
         P.sub.2 =(0.10) (0.50) (0.1%)=0.5%, 
    
     with the median probability P 3  =0.05%. 
     The probability of masking an error reduces the quality of the test, increasing the probability that a bad device will be deemed good. These levels of test are insufficient to assure high shipment lot quality. 
     The percentage of defective units (DU) in a lot due to masking an error is given by the formula: 
     
         ______________________________________DU = (#  bad)/[# Good + # Bad](# Good) = process yield (Y)(# Bad) = (1 - Y)P, where P equals the probability ofa bad device passing the test due to masking an error.______________________________________ 
    
     Therefore, 
     
         DU=(1-y)P/(Y+(1-Y)*(P)) 
    
     For the case where Y=10% and P=P 2  (see above): 
     
         DU=(1-0.1)(0.005)/(0.1+(1-0.1)(0.005))=4.3% 
    
     The last calculation shows that in some not unlikely scenarios, the risk of a defect in the IC being undetected by the &#34;Cross-Check&#34; circuit is not acceptably small. 
     Thus, there is a need for either new circuitry or new methods of use which will, when combined with &#34;Cross-Check&#34; testing circuitry, substantially reduce the possibility that errors will be masked. 
     SUMMARY OF THE INVENTION 
     The present invention details three methods which can be used in conjunction with the &#34;Cross-Check&#34; testing circuitry to reduce the probability of masking an error. 
     The first method reduces the probability by changing the testing (probing) order so that test nodes which are located in close physical proximity to one another are not tested until after a possible error has had an opportunity to spread to multiple locations within the MISR. 
     The second method requires that the test array be tested (probed) at least twice for each test cycle. During the second and subsequent testing cycles the test (probe) lines are activated in a different order, reducing the probability of masking an error by requiring a multiplicity of nodes (more than two) to be in error simultaneously to mask the original error. 
     The third method involves a modification to the MISR so that the error is propagated to more than one location within the MISR before actuating the next probe line. 
     These three methods, when used either alone or in combination, reduce the probability of masking an error to a negligible number when using the &#34;Cross-Check&#34; testing apparatus. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic diagram showing an MISR shift register attached to a &#34;Cross-check&#34; testing apparatus; 
     FIG. 2 is a schematic diagram showing an MISR being addressed by a non-linear sequence; 
     FIG. 3 is a schematic diagram showing an MISR being addressed twice using a given order first and its reverse second; 
     FIG. 4 is a schematic diagram showing an MISR being linearly and non-linearly addressed; 
     FIG. 5 is a schematic diagram of an MISR wherein errors are loaded into the first bit; 
     FIG. 6 is a schematic diagram showing an MISR wherein errors are loaded into two adjacent bits; 
     FIG. 7 is a schematic diagram showing an MISR where the error is loaded into an associated MISR bit plus a feedforward bit; and 
     FIG. 8 is a schematic diagram showing a method wherein the output of each register bit is fed forward to two register bits. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The first method for preventing masking of errors in accordance with the present invention uses nonlinear addressing such that the probe lines are not activated in a linear sequence. With reference to FIG. 2, which is a schematic diagram illustrating an activation sequence 10 in a &#34;Cross-Check&#34; system coupled to MISR 12 through XOR gates 13, the actuation sequence 10 might be P 0 , P 4 , P 2 , P 7 , P 5 , P 1 , P 3 , and P 6  as listed by sequence indicator 10. In this addressing technique, masking of errors would have to occur at least three cell sites away from the original error. 
     A cell site is measured by counting the orthogonal paths needed to reach the indicated node(s). Such measurement results in a so-called &#34;Manhattan Distance.&#34; For example, if the absence of intervening feedback is assumed, and FIG. 2 is referred to, an error at P 0  S 0  (indicated by the &#34;X&#34;) could be masked by errors occurring at P 4  S 1 , P 2  S 2 , P 7  S 3 , P 5  S 4 , P 1  S 5 , P 3  S 6 , and P 6  S 7  (as indicated by the &#34;0&#34;&#39;s). This is determined by the activation sequence 10 and the input sequence to MISR 12. In larger arrays, which may have 200 probe lines or more, the distance needed before an error could be masked would be much greater. 
     If the feedback path on the MISR (1, 5, and 8 in FIG. 2) is small compared to the total number of probe lines, the minimum physical spacing between potential masking of error candidates can be kept quite large. The minimum physical spacing is approximately equal to the number of probe lines divided by the feedback distance in MISR 12. For example, if the output of every fourth MISR register is fed back to the input and there are 200 probe lines, the minimum physical distance can be as much as 50 cell sites away. This reduces the probability of that site having a gate which might be logically proximate to the original gate by at least 2 to 3 orders of magnitude. 
     Several commonly known techniques may be used for non-linear addressing. For example, the probe lines may be routed in non-linear fashion, a non-binary counter such as a linear feedback shift register or Gray code counter may be used and/or the probe lines might be decoded in a non-binary fashion. Other known techniques for non-linear addressing could of course be used. 
     The second method encompassed by this invention involves probing the array of test points in the &#34;Cross-Check&#34;  testing apparatus two or more times. Each pass through the testing array would address the probe lines in a different manner. For example, referring to FIG. 3, the first pass might address the probe lines in a linear fashion, beginning at P 0  and continuing sequentially to P 7  (reference number 15 in FIG. 3). The second pass might begin testing at P 7  and proceed sequentially in diminishing order to P 0  (reference number 16, FIG. 3). If MISR 12 were addressed in this manner, it would fail to detect an error at P 2  S 2  (&#34;X&#34;) if it was masked by an error on P 3  S 3  (&#34;0&#34;) during the first pass (or by an error at P 4  S 4 , two test cycles later, and so forth). On the second pass, the requisite error would have to occur on P 1  S 3  (or P 0 , S 4  two clocks later, etc.). However, on the second pass, the requisite error would have to occur on P 1  S 3  (on P 0  S 4  two clocks later, etc.). However, even on the first pass, an error on P 1  S 3  would have to be masked by an error on P 2  S 4 . Thus, masking of errors now requires a pattern of not two, but four separate errors all requiring a very specific physical and logical relationship. In the above example, the highest probability is now P 2   3  (now P 2 ) or P 2  =(0.0005) 3  =0.125(1×10 -6 ). 
     A more complex addressing scheme can easily be designed that eliminates the possibility of a single bit masking two errors as P 2  S 4  does in FIG. 3. Referring to FIG. 4, consider the linear 18 and non-linear 19 addressing sequence described above for the two passes. P 2  S 2  could be masked by an error at P 3  S 5  during the first pass. On the second pass, an error at P 7  S 3  is required to mask P 2  S 2  and an error at P 6  S 4  is needed to mask an error at P 3  S 3 . These in turn require P 0  S 4  and P 7  S 5  to be in error the first pass which would necessitate P 4  S 5  and P 5  S 6  to be in error on the second pass and so forth. The probability that this number and position of errors would mask another error is sufficiently low in the multiple-pass method that the confidence level that all errors would be found is extremely high. 
     The third method of eliminating masking of errors involves propagating the error to more than one MISR register location. This can be done in at least three different ways. These are: clocking the MISR a sufficient number of times to guarantee propagation to multiple bit locations before activating the next probe line, loading the error into more than one location, or by feeding the data forward to multiple register inputs. 
     Referring back to FIG. 1, consider an MISR 12 clocked at least 4 times, such that an error is propagated into at least two locations. Two or more separate errors will now be required to mask the original error. The probability of this occurrence is the square of the original probability (e.g., for the previous example, P2=(0.005)(0.005)=0.000025. 
     The second method using the propagation idea modifies the MISR 12 so that the error is loaded into two or more locations. Referring to FIG. 5, the error is loaded into the associated MISR register bit and is additionally propagated to the first bit though XOR gates 20. In FIG. 6, the error is loaded into two adjacent bits by XOR gates 22. In this case, all outputs are also immediately fed back via line 17 to the first bit to further eliminate the possibility of masking an error. In FIG. 7, the error is loaded into the associated MISR register bit and fed forward to the next closest register with a feedback bit (see registers 11, FIG. 7) through multiple input XORs 21. Many similar variations are conceivable. 
     The third method using the propagation idea involves reconfiguring MISR 12. Each error bit is loaded into only one register, but the error is multiplied in the register by immediate feedback or fed forward though XOR gates during the next cycle. The method may be combined with the multiple clocking method previously described. For example, FIG. 8 is a schematic diagram showing a &#34;Cross-Check&#34; structure wherein the output of each register bit is fed forward, not only to the next bit, but to the next two bits. This is done through the use of three-input XORs 23. Multiple errors would be needed to mask the first error. 
     Although the invention has been particularly shown and described with reference to a set of preferred embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in the form and details may be made therein without departing from the spirit and scope of the invention.