Professional Documents
Culture Documents
Agarwal1980 PDF
Agarwal1980 PDF
6, JUNE 1980
will give a faulty value in R4. Any instruction in fEL, L2, L3, CJ does
not change this faulty value, and does not allow the detection. If R4
is faulty, an instruction B gives a faulty value in Rs, and the fault is Multiple Fault Detection in
detected. Hence, stA(L1 + L2 + L3 + C)*B is a detection expression. Programmable Logic Arrays
Let Q{ denote the set of states such that R1 is faulty, i.e., Q{ = fs1,
VINOD K. AGARWAL
52** Sn/21. Therefore the detection set associated withfis Abstract-The increasing recognition of PLA's as efficient and viable
Df = Q{iA(L1 ± L2 + L3 + C)*B. modules for such purposes as microprogramming and design of sequential
controllers has led to a growing interest in the development of optimum fault
Let us assume that the structure is driven by a random sequence detection test sets for these modules. It is now well known that a fault type which
of instructions such that Pr [L1] = Pr [L2] = Pr [L3] = 0.1, Pr [A] is unique to PLA's is the class of contact faults. A single contact fault is the
= Pr [C] = 0.2, Pr [B] = 0.3.
The probability of R1 to be faulty is, a priori, Pr [Qc]= 0.5. Ac- spurious presence or absence of a contact between a row and a column of a PLA.
We consider in this paper the problem of determining the capability of complete
cording to Theorem 3 we oabtain
single contact fault test sets to cover multiple contact faults of PLA's. Our
Pr [Df] = 0.5 x 0.2 x 0.3/(1 -0.5) = 0.06. approach consists of developing a model of PLA's which allows one to represent
a contact fault in a PLA as a stuck-at fault in the model of the PLA. Using this
Then, for QD = 10-3, the fault is detected with a string of about 120 model, it is shown that imore than 98 percent of all multiple contact faults of
instructions. size 8 and less are inherently covered by every complete single contact fault test
Let us notice the following. set in a PLA. Applications of this model to stuck-at fault diagnosis are also
g f affects Rb1,Da r Df because
1) If a single stuck-at faultcre discussed.
sri Q{. However, Pr [DC] = Pr [Df].
2) If a multiple stuck-at fault h affects R1, then Pr [Dh] > Pr Index Terms-Contact faults, masking, multiple fault detection, PLA fault
[Df. Proof: We may assume without loss of generality that the fault detection, PLA modeling, programmable logic arrays, single fault coverage.
h corresponds to the simultaneous presence off and of one or several
other stuck-at faults. Accordingly
Qi Qc D , then Dh is covered by I. INTRODUCTION
DJ (Property 2) and Pr [Dh] > Pr [Df] according to Property 4. A programmable logic array (PLA) is normally used to implement
3) Assuming that all the 2b values in a register are equally likely, combinational logic by programming "blank" arrays of
one can easily show that any stuck-at fault k affecting either R2 or multioutput
R3 or R4 or Rs is such that Pr [Dk][DD].
> Pr an AND-OR (or NOR-NOR) matrix [1]. The economy and flexibility
Although the example is very simple it shows the possibilities of accrued by using PLA's have moreover led to their growing usage in
the notions of MD)TS and detection set. It would seem to be inter- such areas as microprogramming, sequential
controllers, function
esting to extend the application of this tool to more complex struc- generators, and code conversion. The availability of field program-
tures, e.g., microprocessors. mable logic arrays has furthermore provided the logic designer ad-
ditional freedom to program an array on the site by blowing fusible
ACKNOWLEDGMENT links within the array. The reliability of these devices is therefore a
matter of considerable importance [2]-[5].
The authors would like to thank A. Bader for his contribution to Accordingly, this paper is concerned with the problem of fault
the present work. detection (that is, fault testing) in PLA's. Since, conceptually, a PLA
is simply a collection of many two-level AND-OR networks, it may
REFERENCES be argued that a PLA can be tested by using the well-known tech-
[1] R. Tellez-Giron and R. David, "Random fault detection in logical net- niques [6] for testing AND-OR networks. However the memory-like
works," in IFAC lt. Symp. Discrete Syst., Riga, USSR, pp. 232-241, structure of a PLA not only leads to the usual stuck-at, bridge-type,
Sept. 1974.
[2] J. J. Shedletsky and E. J. McCluskey, "The error latency of a fault in
Manuscript received June 22, 1979; revised November 11, 1979. This work
a sequential digital circuit," IEEE Trans. Comput., pp. 655-659, June supported in part by ONR Contract N00014-75-C-1196 and by the
was
1976. McGill University Faculty of Graduate Studies and Research Grant 943-
[3] P. Thevenod-Fosse, "Asynchronous random testing of sequential cir-81-19.
cuits," Short Paper, in ct.
1978 Symp. Fault-Tolerant Comput. Dig., The author is with the Department of Electrical Engineering, McGill
Toulouse, France, p. 213, June 1978. University, Montreal, P.Q., Canada.
0018-9340/8G/0600-0518$00.75 © 1980 IEEE
IEEE TRANSACTIONS ON COMPUTERS, VOL. C-29, NO. 6, JUNE 1980 519
(a) x
a b
xy 00 01 11 10
00 0 11 0
01 0 1 1
(b)
11 1 1 1 1
10 0 1 1 0
a .
x~~~~~~
(c) X -A}
b
Y
variables aij and bij and one regular input variable xj. Using this x1 x1 x2 x2 x3 x3 x4 x4 x5 X5 x6
X6 f
definition, the product function realized by each row can be conve-
niently written as *0 1 1 1 *1 1 1 0 1 1 1 1 1
Wi = AiAi2 ...Ain (3)
a1
where 1 i m.
- ,
and W1 = A1IA12, Al n, observation about multiple stuck-at faults of size 4 is well known in
the literature [9], [11].
Xt can test a1 iff for input Xt, we have This phenomenon of four-way masking cycle, which requires two
C12W2 = C13W3 = = ClmWm = 0 pairs of a 0-contact fault and a 1-contact fault on two separate rows,
is very crucial to the undetectability of a multiple contact fault by a
cli = 1
T, in an irredundant PLA.
Theorem 1: Every multiple contact fault in an irredundant PLA
A12 = A13 = = Ain = 1
is detected by any T, provided the multiple fault does not contain pairs
andA11 (O + xl1)(I +x1) = Oforthefault-freecaseandA1l = (1
= of a 0-contact fault and a 1-contact fault on more than one row.
+ xE)(l + x1) = 1 in the presence of a1. Proof: Clearly, if a multiple fault indeed contains pairs of a 0-
Let a2 be any other single contact fault in PLA. We now show that contact fault and a 1-contact fault on only one row, say i, then every
unless a2 is a 1-contact fault on row 1, it cannot mask To begin, a1. other row in the PLA which contains component single contact faults
suppose that a2 is any contact fault on row i, i 5 1. Then since cIiWi of the multiple fault must contain either all the 0-contact faults or
= 0 in the fault-free case, the presence of a2 would at the worst make all the 1-contact faults.
c I i Wi = 1. But this would imply thatf] = 0 in the fault-free case and Now since row i contains a 0-contact and a 1-contact fault pair,
f, = 1 in the presence of the fault I a2, i.e., Xt would also test the
a it might be possible, by Lemma 2, that the 0-contact fault is masked
double fault I a2. Thus, a2 would not mask a 1 if a2 is on any row i, by the 1-contact fault. Moreover, by Lemma 3, this 1-contact fault
i 1. on row i might, in turn, be masked by some other 0-contact fault in
Suppose next that a2 is a 0-contact fault on row 1. If this a2 were some other row, say j i. However, since by our assumption row j
on row 1 and any one of the output columns 2, 3, , p, then it is clear does not contain any 1-contact fault, it is clear from Lemma 2 that
that the presence of a2 woule never mask the testing of a1 through this 0-contact fault cannot be masked by any single contact fault
fl. Similarly, if a2 were on row 1 and any input column, say j, then component of the given multiple fault. In fact, it can furthermore be
we would have that the faulty A 1j = 1 and, hence, that a2 does not seen from the proof of Lemma 2 that this 0-contact fault cannot even
mask a1. be masked by any multiple contact fault component of the given
Thus, we have shown that unless a2 is a 1-contact fault on row 1, multiple fault. Therefore, any test in T, which tests this 0-contact will
it cannot mask Even though this proof is given only for the case
a1. test the given multiple contact fault as well. Q.E.D.
when a1 is on an input column, a similar proof for a1 on an output Although the condition in Theorem 1 is only a sufficient condition,
column can be easily provided. Q.E.D. it is easy to show that most multiple faults of interest, such as faults
Lemma 3: A 1-contact fault in a row of a PLA can be masked only of size 8 and less [7], are included in this condition. We begin by
by a 0-contact fault in some other row. showing that Theorem 1 implies that most multiple contact faults of
Proof: The lemma can be proven in a similar manner to Lemma size 4 are covered by each T,.
2. Theorem 2: Out of the total (m(2n+p))) different contact faults of
These two lemmas are important because they specify all the size 4 in an irredundant PLA, at the most (2) (n + p/2)4 faults are
conditions under which one contact fault may be masked by another not covered by every T, of the PLA.
contact fault in a PLA. Using these lemmas, the proof of Lemma 1 Proof: By Theorem 1, every multiple fault of size 4 which does
is straightforward' [15]. not form the four-way masking cycle is bound to be covered by each
Although Lemma 1 ensures that each Tc covers all faults of sizes T,. So Theorem 2 would immediately follow if we show that the
2 and 3, a multiple contact fault of size 4 or larger might not be cov- maximum number of contact faults of size 4 with four-way masking
ered by each Tc. In fact, Fig. 5 contains an example of a simple PLA is (m) * (n + p/2)4.
where four contact faults a1, a2, a3, a4 are such that a1 masks a4, Let a1a2a3a4 be one such contact fault. Since it must exist on
a4 masks a3, a3 masks a2, and a2 masks 1. Therefore, the multiple a exactly some 2 of the m rows of the PLA, there are (2) different pairs
522 IEEE TRANSACTIONS ON COMPUTERS, VOL. C-29, NO. 6, JUNE 1980
of two rows which are possible locations of a I a2a3a4. Let WiI and PLA. By Lemmas 2 and 3, we then know that even if the 1-contact
Wi2 be one of these (2) pairs, and assume that a1I and a2 exist on Wi 1 fault masked the 0-contact fault, the converse is never true. Thus, the
and a3 and a4 exist on Wi2. The total number of contacts on each row double fault is sure to be covered by a complete single fault test set
is, of course, 2n + p. Let the number of 0-contacts and 1-contacts, as long as the 1-contact fault is detectable. However, if the 1-contact
respectively, on row WiI be sI and 2n + p s1, and on row Wi2 be
-
fault is undetectable and it masks the 0-contact fault, then the double
52 and 2n + p - s2 where s1 > 0 and 52 > 0. Assuming now that a1 fault might not be detected by a complete single fault test set.
and a3 are 0-contact faults and a2 and a4 are 1-contact faults, we note The above illustration can similarly be carried out for multiple
that all the different ways of having such a1, a2, a3, and a4 on W11 faults of larger sizes. Thus, it seems evident that the multiple fault
and Wi2 are coverage capability of a T, in a redundant PLA will be highly de-
s (2n + p s) (S2) (2n + p S2)
pendent on the personality of the PLA and the redundant contacts.
In other words, no general results like Theorems 1 to 3 of the last
-
-
sj(2n + p-S1)(s2)(2n + p-S2)- (5) notices from the proof of Theorem 1 that any multiple contact fault,
which contains at least one detectable 0-contact fault component in
Clearly, the maximum value of the expression in (5) results when any row containing only 0-contact fault components, would always
2n + p n +P be covered by each T. Further work along these lines, however, needs
2 2 to bedone.
Finally, the advantage of the SAE network models of PLA's in
It thus follows that the maximum number of contact faults of size areas other than the multiple contact fault coverage problem is worth
4
with four-way masking is (2) .(n + p/2)4. Q.E.D. mentioning here. Note, for instance, that a T, is basically an in-
For m = 48, n = 16, andp = 8, the number (2 ) (n + p/2)4 is a complete, but very specific single stuck-at fault test set for a SAE
mere 0.03 percent of the total (m(2,+p)). Thus, 99.97 percent of all network. Thus, by taking into account the explicit structure possessed
multiple contact faults of size 4 are bound to be covered by each T, by all SAE networks, it can be easily proven that a T, in general will
in a typical irredundant PLA. cover most of the single stuck-at faults of a SAE network. Moreover,
Theorem 2 can now be generalized for multiple faults of larger it will then immediately follow that each T, also covers most stuck-at
sizes, as follows. For the proof of this theorem, see [ 15]. faults of sizes up to 8 [ 11]. In short, a T, for a PLA can be considered
Theorem 3: Out of the total (m(2n+P)), r> 4, different faults of size a very effective test set for all single and multiple contact and stuck-at
r
in an irredundant PLA, at the most(m2 -(n + p/2)4 (m(2n+ )-4) _
faults of interest.
faults are not covered by every T, of the PLA.
Note that the bound given in Theorem 3 is simply an upper bound. ACKNOWLEDG MENT
In fact, for large values of r, the bound(2) .(n + p/2)4 (M(2nr.p)-4)
_
becomes greater than ( r(21+P)). However, for small values of r, The author would like to express his sincere gratitude to Prof. G.
Theorem 3 is very convenient to use. For example, when m = 48, n M. Masson for his support and encouragement throughout this
= 16, and p = 8, Theorem 3 shows that more than 98 percent of all work.
multiple contact faults of size 8 and less in an irredundant PLA are
covered by eachTc of the PLA. This result becomes very significant REFERENCES
in the light of a recent paper [7], wherein it is shown that the con- [1] H. Fleisher and L.1, Maissel, "An introduction to array logic," IBM
sideration of faults of size 8 and less is sufficient for most LSI chips. J. Res. Develop., vol. 19, pp. 98-109, Mar. 1975.
Thus, in conclusion, we have shown that even though contact faults [2] D. L. Ostapko and S.J. Hong, "Fault analysis and test generation for
in PLA's exhibit the well-known masking phenomenon, yet more than programmable logic arrays (PLA)," in Proc. FTCS-8, France, 1978.
98 percent of all multiple contact faults of interest are covered by their [3] C. W. Cha, "A testing strategy for PLAs," IBM ThomasJ. Watson Res.
single contact fault test sets. Cen., Yorktown Heights, NY 10598, Res. Rep. RC 6832 (#29313),
Nov. 1977.
IV. CONCLUSION [4] J. E. Smith, "Detection of faults in programmable logic," IEEE Comput.
Soc. Repository, R-78-2, IEEE Comput. Soc., Long Beach, CA.
The problem of multiple fault coverage by single contact fault test [5] E.I. Muelhldorf and T. W. Williams, "Optimized stuck fault test pattern
sets in PLA's has been considered in this paper. Since a PLA is con- generation for PLA macros," in Dig. Semiconductor Test Symp., Cherry
ceptually a two-level network, it may seem that each complete single Hill, NJ, IEEE Catalog Number 77CH 126-7C, Oct. 25-27,1977, pp.
contact fault test set fora PLA must inherently cover all of its multiple 88-101.
[6] M. A. Breuer and A. D. Friedman, Diagnosis and Reliable Design of
contact faults as well. However, in SectionII an SAE (stuck-at Digital Systems. Woodland Hills, CA: Computer Science Press,
equivalent) network of a PLA was developed to show that such is not 1976.
the case in general. Nonetheless, it is also shown by using SAE net- [7] L. H. Goldstein, "A probabilistic analysis of multiple faults in LSI cir-
works that more than 98 percent of all multiple contact faults of in- cuits," IEEE Comput. Soc. Repository, R-77-304, IEEE Comput. Soc.,
terest are, indeed, covered by every single fault test set in an irre- long Beach, CA.
dundant PLA. [8] D. R. Schertz and G. Metze, "On the design of multiple fault diagnosable
The results mentioned above have been developed for AND-OR networks," IEEE Trans. Comput., vol. C-21, pp. 13-36, Jan. 1972.
PLA's with single input decoders only. However, similar results for [9] J. W. Gault, J. P. Robinson, and S. M. Reddy, "Multiple fault detection
in combinational networks," IEEE Trans. Comput., vol. C-21, pp.
NOR-NOR PLA's with two input decoders are easily derived. More 31-36, Jan. 1972.
specifically, the personality for a NOR-NOR PLA is determined by
using Definition 1 for both input and output columns. Moreover, since
[10] C. T. Ku and G. M. Masson, "The Boolean difference and multiple fault
analysis," IEEE Trans. Comput., vol. C-24, pp. 62-7 1, Jan. 1975.
a NOR gate is an OR followed by a NOT, the SAE network for such [11] V. K. Agarwal and G. M. Masson, "Generic fault characterizations for
a PLA is obtained by using the network of Fig. 3. Finally, an internal table-look-up coverage bounding," IEEE Trans. Comput., vol. C-29,
variableAij is then defined as A,j =aijYjYj+ I + btjijxj+ + c1jxjYj+
1 1 Mar. 1980.
+ d1j w here i i,
=
2, m andj = 1, 3, n U sing these
-
.
[12] J. P. Hayes, "The fanout structure of switching functions," J. Ass.
formulations, results similar to Lemmas 1-4 and Theorems 1-3 of Comput. Mach., vol. 22, pp. 551-571, Oct. 1975.
SectionsII and III can be easily proven. [13] V. K. Agarwal, "Fanout-free Boolean functions and L-expressions,"
in Proc. 1978 Conf. Inform. Sci. Syst., The Johns Hopkins Univ., Bal-
In the above analysis, we had tacitly assumed that each single timore, MD, 1978, pp. 227-233.
contact fault of a PLA is detectable. But, in practice, most PLA's tend
to contain various undetectable faults. The multiple fault coverage
[14] D.C.B ossen and S. J. Hong, "Cause effect analysis for multiple faults
in combinational networks," IEEE Trans. Comput., vol. C-20, pp.
capability of such PLA's, by their single fault test sets, is generally 1252-1257.
reduced. This claim is best illustrated by considering a double contact [15] V. K. Agarwal, "Multiplefault detection in programmable logic arrays,"
fault, saya-0-contact fault and a 1-contact fault, on some row of a Dep. Elec. Eng., McGill Univ., Montreal, P.Q., Canada, Rep. 79-4.