Browse Prior Art Database

# Testing for Several Failures

IP.com Disclosure Number: IPCOM000048094D
Original Publication Date: 1981-Dec-01
Included in the Prior Art Database: 2005-Feb-08
Document File: 3 page(s) / 34K

IBM

Roth, JP: AUTHOR

## Abstract

In many testing applications, notably self testing, it is desirable to have as small as possible an assemblage of tests to detect a given assemblage of failures. Previous algorithms, notably the D algorithm (1), compute a test to detect just one failure. Herein is described a variation on the D algorithm which computes a test, if one exists, to detect any one of a prescribed set of failures, in an acyclic circuit or else in a cyclic circuit having level sensitive scan design (LSSD) (1). It was found expedient, in this task, to utilize a calculus of many values, a multivalued logic, as compared with the 5-valued logic used in the D algorithm. The test computed is guaranteed to detect any one of the failures assumed.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 55% of the total text.

Page 1 of 3

Testing for Several Failures

In many testing applications, notably self testing, it is desirable to have as small as possible an assemblage of tests to detect a given assemblage of failures. Previous algorithms, notably the D algorithm (1), compute a test to detect just one failure. Herein is described a variation on the D algorithm which computes a test, if one exists, to detect any one of a prescribed set of failures, in an acyclic circuit or else in a cyclic circuit having level sensitive scan design (LSSD) (1). It was found expedient, in this task, to utilize a calculus of many values, a multivalued logic, as compared with the 5-valued logic used in the D algorithm. The test computed is guaranteed to detect any one of the failures assumed.

Suppose, for a logic circuit as shown in the figure, that we want to compute a test for failures a and l, both stuck at 0. The method assumes that one variable D and E, respectively, is associated with lines a and l, each playing the role of the single D in the classical D algorithm (1).

Thus we start out with two primitive D-cubes

abm kls

D 1 D 1 E E

We drive these cubes to the (single) primary output concurrently taking taking into account their interactions. The process of D- (and E-) intersection with the various D-cubes and E-cubes of failure yield the cubes. a b m n u y z aa k l s r w v z aa D 1 D D 1 D 1 D 1 E E 1 E 1 E

It will be observed, if this process of intersection is sequentially downward. that the first point of interaction between the two processes occurs at variable 2. The first process places a 1 upon this variable, while the second, an E. This does not involve a contradiction since in the "good machine", the machine without failure, E=1.

No conflict thereby is involved, and the value commonly assigned is retained. Consider next the variable y. Here, the developing D chain assigns to it the value D while, not inconsistently, the developing E chain assigns the value 1; this is not inconsistent since it is assumed that, at most, one of the failures can occur and the value assigned the good machine, corresponding to D'1, is the same as that assigned for the E chain; thus there is no conflict. Observe at the output aa: the D-chain assigns a D and the E-chain, an E: this too is not a contradiction for both assign to the "good machine" the value 0. The criterion for a conflict would be the assignments D, E or D, E or D, 0 or 0, E or D, 1 or 0, E, in addition to the usual 1,0 or 0,1. A conflict would require backing up...