Browse Prior Art Database

Diagnostic Algorithm for Logic Test Failures

IP.com Disclosure Number: IPCOM000045045D
Original Publication Date: 1983-Jan-01
Included in the Prior Art Database: 2005-Feb-06
Document File: 3 page(s) / 16K

Publishing Venue

IBM

Related People

Beaudoin, R: AUTHOR [+2]

Abstract

A new diagnostic algorithm is described. The algorithm uses fault data generated from fault simulation to produce diagnostics for logic test failures. The algorithm keeps track of the faults and outputs which may be affected by the faults and, based on the actual failures observed on the tester, determines the faults which can best explain the failures. Therefore, the algorithm is more accurate than certain of the methods currently in use. Furthermore, in the new algorithm, calculation is one on the tester based on actual failures observed and fault-weighting actors are taken into consideration. Thus, this algorithm has better flexibility to adapt to the mixed-technology card/board manufacturing environment.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 45% of the total text.

Page 1 of 3

Diagnostic Algorithm for Logic Test Failures

A new diagnostic algorithm is described. The algorithm uses fault data generated from fault simulation to produce diagnostics for logic test failures. The algorithm keeps track of the faults and outputs which may be affected by the faults and, based on the actual failures observed on the tester, determines the faults which can best explain the failures. Therefore, the algorithm is more accurate than certain of the methods currently in use. Furthermore, in the new algorithm, calculation is one on the tester based on actual failures observed and fault-weighting actors are taken into consideration. Thus, this algorithm has better flexibility to adapt to the mixed-technology card/board manufacturing environment.

Logic circuit products, such as cards and boards, are tested before shipment. Products that fail on tests must be repaired. Faults that may cause the test failures are usually identified via fault simulation and placed along with the test data itself. This fault data is commonly known as precalculated diagnostics.

The precalculated diagnostic data is in the form that, for each of the outputs, faults which could cause the output to fail as determined by fault simulation are grouped together. When a test failure is detected, the most possible cause of the failure is to be determined from the diagnostic data based on the failure "symptoms". Two algorithms exist today to perform this task, namely, clustering method and weighting method.

The clustering method has certain disadvantages. Its main problem is its inflexibility in dealing with the numerous ways in which defects can show up at the tester. However, it has been observed that faults which can explain all the failing and passing tests have a high probability of being the actual cause for the failure. These faults are the so-called "exclusive" diagnostics in the clustering method.

The weighting method, on the other hand, fails to seek out these highly accurate diagnostics- The exclusiveness of faults is often overwhelmed by the weight factors. Inaccurate diagnostics may be generated when this happens.

The newly proposed algorithm has the advantage of both the flexibility offered by the weighting method and the accuracy offered by the clustering method.

This algorithm is as follows: Given: List 1 - List of failing outputs from test results. List 2 - List of faults for each output with diagnostics

in the failing test from diagnostic data records.

Step 1: Create 2 vectors, V1 and V2, each with a length equal to the total number of unique faults in List 2. Each pair

of corresponding elements of V1 and V2 corresponds

to a unique fault

and has value of zero initially.

Step 2: For each output in the diagnostic data records (List 2), do the following: if the output is in th failing output

list (List 1), then add (+1) to the corresponding element

1

Page 2 of 3

in V1, and check-off the output from List 1; else, add

(+1) to the corresponding...