DESIGN OF MULTIPLE ATTRACTOR GF(2P) CEILLULAR AUTOMATA FOR DIAGNOSIS OF VLSI CIRCUITS Biplab K. Sikdar' Niloy Ganguly2 Purnabha Majumder'
P. Pal Chaudhuri'
'Department of Computer Science & Technology, Bengal Engineering College (D.U), Botanic Garden Howrah, West Bengal, India 711103, {biplabQ,nabhaQ,ppc@ppc}.becs.ac.in 2Computer centre, IISWBM, Calcutta, West Bengal, India 700073,
[email protected]
Section IV. Section V reports the experimental results on ISCAS benchmark circuits.
A bstmct- This paper introduces an efficient diagnosis scheme for VLSZ circuits. A special class of non-group C A referred t o as Multiple Attractor Cellular Automata ( M A C A ) is introduced t o diagnose the faulty block of a Circuit Under Test (CUT). The scheme employs significantly lesser memory than the existing methods reported so far. Experimental results establish the efficiency of the scheme in terms of saving in memory space & execution time and enhanced diagnostic resolution. Rather than GF(2) C A where each C A cell handles G F ( 2 ) elements (0 and l ) ,the GF(2P) C A is employed to reduce the processing time.
11. GF(2P) Cellular Automata The GF(2)C A cells can handle the GF(2)elements {0,1} [3]. On the other hand a GF(2P) C A cell having p number of memory elements ( F F s , Fig.1) can store values 0,1,2, ..., ( 2 P - 1) - the elements of Galois Extension Field GF(2P).
g i+l
Keywords: Cellular Automata, MACA, Multi Class Classifier, Galois Extension Field, Fault Diagnosis.
.......
output
I. Introduction With the growing complexity of today's very large scale integration , the demand for fault diagnosis within a chip has greatly increased. The objective of fault diagnosis at the early production phase is to guide the test engineers t o search the physical location of the defect on a chip. However, the efficient fault diagnosis in a V L S I circuit even to the level of small sub-circuit is an open problem. Use of fault dictionaries is a probable solution for the diagnosis process. But this scheme becomes inefficient for a sufficiently large circuit due to the large volume of fault dictionary [l],[2]. For efficient analysis of test responses in silicon, signature analysis is usually employed t o compact the large volume of test responses. Unfortunately, the signature analysis reduces the diagnostic resolution i.e., two error sequences may map to the same faulty signature (diagnostic aliasing). In the above scenario we propose a diagnosis scheme to minimize diagnostic aliasing by partitioning the circuit to the level of small sub-circuits that results in significant improvement in diagnostic resolution. The solution, proposed in this paper, employs a special class of non-group C A referred t o as M A C A (Multiple Attractor Cellular Automata). The C A effectively provides an implicit storage mechanism of voluminous response data and thereby providing the solution. The proposed diagnosis scheme employs the GF(2P) MACA, defined over GF(2P), where p > 1. The structure of GF(2p)M A C A is provided in Section 111,following the preliminaries on GF(2P) C A in Section II. The C A based diagnosis scheme is elaborated in 0-7695-0831-6100$10.00 0 2000 IEEE
N
oulpuc
Fig. 1. General structure of a GF(2P) CA
GF(2P) CA Structure and Characterization: At tth instant of time the state ft(3:) of an n-cell GF(2P) C A is an n symbol string. The next state ft+l(z) is given by ft+l(z)= T.ft(z).The 'T is an n x n characteristic matrix [3] and defines the interconnection among the C A cells, where Tij
=
{
wij,
0,
if the next state of the i t h cell depends on the present state of t h e j t h cell by a weightage wij E GF(2P), i, j = 1, 2, ..., n otherwise.
If we restrict to the 3-neighborhood dependence, then T becomes a tridiagonal block matrix. To get ft+l (z) the matrix operations, addition and multiplication, are evaluated using the plus-table and star-table of GF(2P) (Table I ) . In GF(2P) the elements are IO, cy, a 2 , . . - , cy2P-1 1 where a! is the generator of the field. The irreducible polynomial of which cy is a root, referred to as the generator polynomial. ai is represented by a p x p binary matrix and a < ap-l, ap-2,". , a0 > vector, ai E {O,l}. Fig.2 provides the T mat,rix, generator polynomial and the field elements [4] of a 3-cell G F ( 2 2 )C A . 454
Cmrmtor Po@”hl
x1 +I
+1
Genrmror a
GF(2
3 elements = (0. c$ a? d,
U
matrix representations of field elements
a = { 1~) = 3
a*={10)=2 a 3 = { 0 1 ) = ~
O=(OO)=O
PEF Position -Least
U
Significant Position
vector rcprescntations of field elements Clara spsified by Be PEF of altrac~w 0
2 3 I
00 10
Fig. 3. A 2 Cell GF(22) D1- M A C A
6x6
3x3 7 matrix io GF(2 2,
Fig. 2.
and 6x6 b i m y 7 matrix in GF(2)
TABLE I THEplus-table A N D star-table FOR x 2
p T y 1 2
2 3
0 3 2
IV. Fault Diagnosis Using GF(2P) MACA
T matrix of a 3 Cell GF(22) CA
3 0 1
A fault f is said to be detected if the signature generated with the fault is different from the golden signature generated out of the fault free CUT. Whereas, diagnosis of a faulty line (1) demands that the signature generated due to the fault f at 1 is different from the golden as well as all other faulty signatures. The problem in fault diagnosis: The complexity of the problem can be gauged from the size of the fault dictionary (order of gigabits). The problem to be addressed is - how to organize this large size fault dictionary so that the ath faulty module (line) for a signature Sab (a= 1, 2, .... , b= 1, 2, ...), generated at the time of testing, can be identified as fast as possible. Overview of the proposed solution: The MACA is used as the implicit memory to cut down the requirement of storage space. Thus the space has been traded with some additional computation- the computational model being based on GF(2P) MACA. This scheme ensures fast identification of the faulty module rather than a single faulty line. In the proposed design a CUT is partitioned into m functional/logical blocks. The set of faulty signatures Si1 , S,Z, . . Sij corresponding to the faults in a particular circuit block i constitute a cluster ( S i ) ,where j is the number of unique faulty signatures in block i. The example CUT ‘L’ of (Fig.4) is partitioned into 3 blocks - module 1, module 2, and module 3. The f a u l t y signature set S1 for module 1 is computed through fault simulation by injecting each of the faults of this module. Similarly, signature sets Sz and S3 are also computed for module 2 and module 3 respectively. Let us assume, ‘L’ has four primary outputs (POs) which is equally divided into two groups. The three disjoint faulty signature sets (clusters) generated by a 2-cell GF(22) C A based signature analyzer [7] for the modules are SI = (11, 22, 33}, S2 = (01, 10, 23}, and S, = {02,20,31,13). Set 5’4 = {03,12,30} contains the faulty signatures, common to more than one module.
+x + 1
2
2 3
0 0
2 3
3
1 2
The theoretical analysis of GF(2P) C A are reported in [5], [4].Iff de@] # U, the C A is a group C A i.e., in the state transition graph of the C A all the states lie in some cycles; otherwise the C A is a non-group CA. The MACA is a special class of n m - group CA.
111. GF(2P) Multiple Attractor C A Fig.3 depicts the state transition diagram of a 2-cell GF(22) MACA. In MACA, non-cyclic states form inverted trees rooted at the cyclic states. A cycle is referred to as attractor. The tree rooted at an attractor fi is called P - tree and the set of states in P-tree is referred to as /3 - basin. In Fig.3 the set of states (11, 22, 33, 00) defines the 0 - basin. A fundamental theorem on MACA is noted next from [SI. Theorem 1: In an n cell GF(2P) MACA with 2Pm attractors, there exist m-symbol positions at which the attractors give pseudo-exhaustive 2Pm patterns. The m-symbol positions at which the attractors give pseudo-exhaustive patterns is referred to as PseudoExhaustive Field ( P E F ) of the MACA. For the MACA of Fig.3, the attractor set is (00, 32, 13, 21) with least significant symbol position as the P E F . The depth d of an MACA is defined to be the minimum number of clock cycles required to reach the nearest attractor from any non-reachable state. For the example MACA of Fig.3 depth(d) = 1. An MACA having depth = 1, referred to as D1- MACA, is employed to develop the proposed C A based diagnosis scheme. 455
Injection
An intelligent guess is performed to capture the tridiagonal T matrices having the property T 2 = T . The tri-diagonal T matrix can be viewed as a series of 2 x 2 matrix (node) sharing the diagonal element of T between two consecutive nodes. (Eg.5). Definition 1: A directed graph with 2 x 2 block matrices of T as nodes is refizned t,!~ 0s the tri -- graph. Fig.G(b) denotes the equivalent tri -graph representation of the matrix shown in Fig.G(a). A node N i , at depth i of a tri -graph, is called as the valid - nude iff it is a valid 2 x 2 matrix of T . It i51also referred to as the legal - node at depth i and the j ~ l l ~ lofr ,node iVi-1, where Ni-1 is the legal .- node at depth E - 1 in the tri-graph. A start-node is a legal --node at depth 1 in a tri -graph, whereas the f inn1node is a legal - nude at depth n - 1 . The methodology to get the valid - node, f ollou, of a node, legal - node at, depth i and the s t a r t & f i n a l node is available in 161. A brief outline of this methodology is given in Appendix I. The Valid tri - graph defines the D 1 - MACA. To find the n-cell D1 - MACA we can search for the valid tri-graphs of depth n - 1 . The process to find out valid tri-graphs is next noted.
Injection
t
Fault Injection
Fig. 4. Diagnosis of an example
MACA (Classier)
CUT L
[
]
The MACA with characteristic matrix T = of Fig.3 can be used t o identify the faulty module of the CUT. At the testing phase, a faulty chip, implementing the logic circuit ' L ' , generates any one (say 23) of the above thirteen signatures. Then by multiplying the signature with T we can reach to any one (32) of the four attractors {00,32,13, 2 1 ) . By observing the PEF ( 2 ) of the attractor the faulty block (module 2 ) is identified. The PEF specifies the class and the MACA (FEg.3) acts as a classifier for the cluster of signatures. Therefore, the problem of diagnosis in V L S I circuits maps t o the design of an MACA based classifier (2'). The large fault dictionary is now replaced with the memory to store the MACA (T) and the PEF symbols of the corresponding attractors.
Algorithm 1: Build tri-graph Input : p , the value of p of GF(:IP). Output : begin Step 1. Step 2. Step 3. Step 4 . Step 5. end
A. Design of M A C A Based Classifier In Fig.3 the sixteen 2-symbol patterns (states) are classified into four classes by a two cell GF(22)CA. An n-cell MACA is viewed as a classifier in the sense that it classifies the set of n-symbol patterns into k distinct classes, each class containing the set of states of an attractor basin. Design of a [TInxnmatrix for the k-class classifier for a given pattern sets may not be feasible with additive C A that employs only X O R and X N O R logic. This problem can, however, be solved by designing multiple two class classifiers [3]. Design of Two Class Classifier: Let the given pattern set S consists of pattern classes SI & S2 and T be the characteristic matrix of a GF(2P) D 1 - MACA. If T is t o classify the pattern set, then T must satisfy the following relations : Relation RI: T x T y , for all x E SI and 9 E S2 T ( x CB 9 ) 10 I) = 0 Relation RI: T 2 = T o r T ( T An exponential time solution to search such a T in GF(2),satisfying relation R2, is reported in [3]. Proposed S o l u t i o n to Find D1 - MACA: A graph based solution of this problem is proposed here.
tri-gmph Build valid Nodes V valid Nodes Build follow Nodes
Build start Nodes Build final Nodes Output tri-graph
Algorithm 2: Build D1 - MAC.4 (tri-graph, n, node - sequence - list) tri-graph, n -size of C A node - sequence - list: initia1iz:edby any start node Output: D1- M A C A *f
/* Input:
if (n == 1) { k=node - sequence if ( k E final Nodes)
- li~t[lii~t];
Build D1 - M A C A from tlhe node sequence; Output D1- M A C A } k=node - sequence - list[last]; p=no-offollow(k); for (i=O; i < p; i++) { last++; node - sequence - list[last]=followi(k); Build D1- M A C A (tri-gruphp --1,node - sequence - list)}
Design of Multi-class Classifier: A two class classifier can be viewed as a single stage classifier. For designing multi-class classifier, this scheme of single 456
0
-
................
..........
i 3
..........
3 ;
...........
...........
0
.................
j z
0
i, ' 2 j.
0
0
0
0
-
0
0 ; 0 ,. . . . . . . . < ........... : I ,I 0 i..? .........
I..
0
i 0 ................
io i z j ............... 0
0
j3
2; 3;
...............
b) Tri-graph
a) Tri-diagonal T Matrix
Fig. 6. T Matrix and tri-graph of a 5-cell G F ( 2 2 )D 1 - M A C A
quential steps have to be executed. Fig. 5. The n x n Tri-diagonal T Matrix
signatursser ( S ,s
stage classification will be repeatedly employed and that leads to a multi-stage classifier consisting of multiple C A , each C A corresponds to a single stage. Fig. 7 depicts an MACA based multi-class classifier for the signature sets SO,SI, ..... S,. SOis the golden signature while Si (i=l, 2, ..., n) is the faulty signature set of a CUT. The T in the figure represents a two class classifier and they form an MACA tree. TO divides the signature sets in two classes SOand the rest (SA). Similarly, TI0 classifies S A into Sio & Sil. The next section summarizes the logical steps to be performed in proposed fault diagnosis process.
B. The Diagnosis Algorithm
=
10
Fig. 7. Multi-class Classification
4 : Diagnosis-Algorithm Input: T h e C U T and the Test Pattern Generator Stepl. Apply the specified set of test patterns and generate signature S for the CUT Step2. Run the Classifier ( M A C A tree) taking S as the seed Extract the pseudo-exhaustive field ( P E F ) of the attractor Step3. Let the P E F is i (a) if 0 < i