Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Cellular Automata Based Synthesis of Easily And

Fully Testable FSMs


D. Roy Chowdhury S. Chakraborty B. Vamsi P. Pal Chaudhuri
Dept. of Computer Science @ Engg.
Indian Institute of Technology
Kharagpur - 721 302
India

Abstract the testing strategy are in sections 3 and 4. The ex-


perimental results are reported in Section 5.
This paper reports an application of a special class of
non-group Cellular Automata, referred to as Dl*CA, 2 Characterization of Dl*CA
as the test machine embeded in the FSM to be syn-
thesised. The state transition properties of Dl*CA are A Cellular Automata (CA) consists of a number ofin-
exploited in designing an easy testing scheme for the terconnected cells arranged spatially in a regular man-
finite state machine. The scheme has been found to ner. In essence, each cell is made up of a memory ele-
incur a small area overhead while providing extremely ment (usually a D p a p - p o p ) and a combznatzonal logzc
high coverages close to 100 per cent for all single stuck- generating the next-state of this cell from the present
at faults in the circuit. states of its neighbouring cells.
If we express the next state function in the form of a
1 Introduction truth table, then the decimal equivalent of the output
column in the truth table is called the rule number of
Design For Testability (DFT) has been proposed as the CA. For example, rule 90 : q:+' = qi-l @ qi+l, t

a solution to reduce test complexity of sequential cir- where @ refers to an ex-or function. An addatzve CA
cuits by using scan path techniques. However, the uses only Ex-or/Ex-nor as the next state logic.
area requirements are prohibitive and with long scan For an n-cell 1-dimensional additive CA it has been
path chains, the testing time requirement is also quite shown [l]that the linear operator is an n x n matrix
high [5]. Partial scan designs [6] have been proposed whose ith row specifies the neighbourhood dependency
as a better alternative , reducing the scan overheads. of the ith cell. The next state of the CA is gener-
A better approach , called Syntheszs For Testabality ated by applying this linear operator on the present
(SFT) , for synthesizing self testable FSMs has been state represented as a column vector. The operation
reported in [4]. An SFT Fheme for implementing self is the simple matrix multiplication, but the addition
testable FSMs using group Cellular Automata (CA) involved is modulo-2 sum. The matrix is termed as
has been reported in [7]. the Characterislic Matrix of the CA, and is denoted
The present paper proposes an SFT approach for by T .
synthesizing easily and fully testable FSMs using If ft represents the state of the automata at t t h
a particular class of non-group CA referred to as instant of time, then the next state of the automata,
Dl*CA. A simple testing strategy has been evolved i.e. the state at (t + l)th time is given by fi+l =
from the knowledge of the unique state transition be- T x ft. It has been proved in [l]that if the T matrix
havior of Dl*CA. At the cost of a small area overhead, is nonsingular, then the CA is a group CA; otherwise
our scheme has consistently provided extremely high it is a non-group CA. CA preliminaries are detailed in
coverages of all single stuck-at faults for a whole range PI *
of benchmark FSMs. The present work deals with a particular class
Preliminaries of Cellular Automata and of Dl*CA of depth-1 non-group CA having rule configuration
are discussed in Section 2. The synthesis scheme and < 90,102,.. . ,102 > with null boundary conditions,

650
1063-6757/93 $03.00 0 1993 IEEE

Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR. Downloaded on January 15,2023 at 01:26:52 UTC from IEEE Xplore. Restrictions apply.
referred to as Dl*CA. We introduce the concept of
a dual CA, which has been extensively used in our
testing strategy.
The conversion of an XOR gate of a cell to an
XNOR gate can be done simply by providing an addi-
tional control input to the XOR gate - with this control
as 0, the gate behaves as an ordinary XOR gate, while
Figure 1: Relationship of states in a Dl*CA and
with this input as 1, the gate behaves as an XNOR
gate. In the present work, we have utilized the dual
its dual
CA obtained by converting the next state function of
only the leftmost cell of a Dl*CA to an XNOR func-
tion. We shall refer to this dual CA as D1* CAdua1-
its rule vector is < 165,102,.. . l o 2 >.
If T is the characteristic matrix of a Dl*CA and
vector F denotes the cell positions for which XNOR
I - I1

function is employed to arrive at the dual CA, then


the present state St and next state St+l of the dual
CA are related by the relation St+l = T [St] F +
The T matrix and the corresponding characteristic
polynomial p ( z ) of a 4-cell Dl*CA with rule vector
< 90,102,102,102 > are noted below. Figure 2: Block Diagram of a CA Based FSM

The synthesised circuiit has two components : (a)


10 o o i J the combinational logic block consisting of the Inter-
rupt Logic and the primary output logic; and (b) the
The following results provide the basis for selecting CA. The primary output logic essentially generates the
the Dl*CA as the basic building block of our SFT primary outputs from the present state and primary
scheme. These are stated here without any proof. input information. The output of the Interrupt Logic,
0 A CA with rule < 90,102,102,. . . ,102 > will con- referred to as Interrupt Vector, is fed as the control
stitute a depth 1 non-group CA. input to the XOR gates associated with the CA cells.
With the all-zero Interrupt Vector , the CA runs in its
0 Each cyclic state of a Dl*CA has exactly one autonomous m o d e performing the autonomous tran-
cyclic predecessor (of even weight) and one non- sition Si + Sj, say. However, with some bits of the
reachable predecessor (of odd weight). Interrupt Vector as 1, the corresponding XOR gates in
0The Dl*CA's having number of cells ranging from the CA are effectively converted to XNOR gates and
(2m-'+2) to (2"+1) have maximum cycle length an interrupt transition from S i to a different state 5';
equal to 2". now occurs. The required state-transitions of a given
The following theorem establishes the relationship FSM can be realized using the autonomous and inter-
betweeen state transitions of a Dl*CA and the corre- rupt mode state-transitioms of the CA .
sponding D1 * CAdual. 3.1 Dl*CA based FSM synthesis
Theorem 1 Let S be any state of a D1 *CA, S" the
state reached from S after two clock cycles and S"' In order to implement an n-state FSM, we have chosen
the non-reachable predecessor state of S" in the state to use a rZog2nl cell Dl*CA, having the rule configu-
transition diagram of the Dl*CA (refer Figure 1). ration < 90,102,102. 1012 >. The unique state tran-
Then the successor state of S in D1*CAdualis S"'. sition properties of Dl*CA and those of D1 * CAdual
make this class of CA the most suitable candidate for
our design scheme.
3 The synthesis scheme The state encoding strategy is another key factor
in the successful implementation of an easily testable
The basic block diagram of the general CA based FSM FSM. We have designed an algorithm which uses cer-
design is shown in Figure 2. tain heuristic cost functions in arriving at a desired

651

Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR. Downloaded on January 15,2023 at 01:26:52 UTC from IEEE Xplore. Restrictions apply.
state encoding. These functions have been designed Theorem 2 Let S be a state of an n-cell Dl*CA and
in such a way that the algorithm attempts to embed m be the maximum cycle length in the state transition
the chosen Dl*CA in the FSM to enhance testabil- diagram of the CA.
ity, while simultaneously attempting to minimize the
Case 1: S is even weighted - has an even number
area requirements in a multilevel implementation of
of 1’s :
the combinational logic block. Experimental results
With S as the initial state, if D 1 * CAdual runs
have established that by suitably specifying certain in-
put parameters to this algorithm, a reasonably good
+
for (m 1) clock cyles followed by (m - 1) cycles
in Dl*CA, then after these 2m cycles, the test
tradeoff between these two goals can be achieved.
machine returns back to the state S .
3.2 State encoding strategy
Case 2: S is odd weighted - has an odd number
It is well known that in a muitilevel implementation of 1’s :
of a combinational logic block, the number of literals With S as the initial state, if Dl*CA runs for (m
in the optimized set of equations significantly affects + 1) clock cycles followed by (m - 1) clock cycles
the number of gates required to implement the circuit. in D 1 * CAdual, then after these 2m cycles, the
Consequently, an attempt to minimize the number of test machine returns back to state S .
literals in the optimized set of equations would lead to The testing procedure essentially consists of check-
lesser circuit area requirements. This fact has been ex- ing whether each of the transitions in the’original FSM
ploited in existing state encoding strategies like MUS- has actually occured without any fault in the machine.
TANG. In order to do this, we start from a known machine
In our scheme, we have given due consideration to state Si, apply the primary inputs and then run the
this factor and have also attempted to find matches be- machine for 1 cycle in the normal FSM mode. Let the
tween the FSM state transitions and the state transi- expected transition in a faultfree FSM be S, -+S,. In
tions of Dl*CA. The existence of such matches greatly order to verify the correctness of the transition that
helps in efficiently embedding the Dl*CA in the syn- has occured, we now run the machine for 2m cycles in
thesized sequential machine. A suitable combination the test mode. This would involve (m +
1) cycles in
of these two factors is used to guide the state encoding Dl*CAdual mode followed by (m - 1)cycles in Dl*CA
scheme. mode if the expected next state Sj is even-weighted.
Otherwise, the 2m test clock cyles would involve (m
4 Enhancing the testability + 1)cycles in D I V A mode followed by (m - 1) cycles
in D1 * mode.
+
During these 2m 1 clock cycles, we observe the
primary outputs and the output of the leftmost CA
cell. If the observed bit sequences on these lines match
with the fault-fiee bit sequences, we assume that the
transition has occured flawlessly. The unique state
transition properties of Dl*CA and D 1 * CAdual en-
sure that under fault free conditions, we would return
to the same state Sj from where we started our 2m
test clock cycles. In case the fault is detected by a
mismatch in the observed and expected fault-fiee bit
sequences, we stop the testing procedure and conclude
that the synthesized FSM has a stuck-at fault. 0th-
Cl c
2 Interpretation erwise, we proceed to verify the next FSM state tran-
1 1 Normal transitions of synthesized FSM siition starting from state Sj.
0 0 D 1*CA autonomous transitions Experimental results on benchmark FSMs have
1 0 Autonomous transitions in dual CA shown that this testing scheme produces a very high (
nearly 100 %) coverage of all single stuck-at faults.
The important relationship between state transi-
tions in the Dl*CA and those in D1* CAdual, as al- 5 Experimental results
ready stated in Theorem l, has been utilized in ar-
riving at the following result, which is crucial to the In the Dl*CA based FSM design procedure, the states
testing scheme. of the FSM have been encoded using the state encod-

652

Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR. Downloaded on January 15,2023 at 01:26:52 UTC from IEEE Xplore. Restrictions apply.
ing module encode, the algorithm of which was out- References
lined in an earlier section.
After encoding, the combinational logic of the FSM [l] A.K. Das and P. F’al Chaudhuri. Pseudo-
has been optimized using MISII and has been mapped exhaustive test pattern generation using Cellular
to the gate library mcnc.genlib. The total gate area Automata. IEEE lkans. on Computers, 42(3):340-
and delay of the synthesized combinational logic block 352, March 1993.
have also been computed using gate characteristic in-
[2] S . Devadas, H.K.T. Ma, A.R. Newton, and A S .
formation obtained from mcnc.genlib. For compar-
Vincentelli. Mustang: State assignment of finite
ing the gate area and delay of the combinatiohal logic
state machines targeting multi-level logic imple-
block obtained using the proposed CA based design
mentations. IEEE Trains. on C A D , CAD-7:1290-
scheme with that obtained using MUSTANG’S state
1300, December 1988.
encoding scheme, the combinational logic of FSMs en-
coded by MUSTANG have also been optimized using [3] S. Devadas, H.K.T. Ma, A.R. Newton, and AS.
MISII and have been mapped to the same gate library. Vincentelli. Synthesis atnd optimization procedures
The maximum testing time requirement with the for fully and easily test<ablesequential machines. In
+
proposed testing scheme is (2m l ) . k , where m is the Proc. Intl. Test Conference, pages 621-630, 1988.
maximum cycle length in the state transition diagram
of the Dl*CA and k is the total number of transitions [4] B. Eshermann and H.J. Wunderlich. Optimised
in the FSM to be designed. The results of simulation synthesis of self-testable finite machines. In Proc.
studies are given in Table 1. FTCS-20, pages 390-397, June 1990.

6 Conclusion [5] H. Fujiwara. Logic Design and Design for Testa-


bility. The MIT Press, London, 1985.
In this paper, an elegant scheme for synthesis of eas-
[6] H.K.T Ma and S. Devadas et. al. An incomplete
ily testable FSMs using the regular structure of CA
scan design approach to test generation for sequen-
has been reported. Average area and delay overheads
tial machines. In Proc. I d . Test Conference, 1988.
are in the range of 10 to 15 % and of 10 to 20 % re-
spectively. However, 100 % fault coverage has been [7] S. Misra, B. Mitra, and P. Pal Chaudhuri.
achieved for all benchmark FSMs . Synthesis of self-testatble sequential logic using

.i/
Table 1: Performance Comparison w.r.t Area programmable cellulair automata. In Proc. of
and Delay VLSI’92, INDIA, pages 193-198, January 1992.

n c o v . of all 11 Overhead in %

II 11 over MIYSTANG
Circuits 1 tS gate
s-a-1 delay a rea delay
ex5 98.931 12.85 11.59
dk14 100.0 99.228 100.0 100.0 217 17.9 6.37 16.99
ex4 100.0 98.507 100.0 100.0 161 14.4 7.33 -24.6
bbtas 66.292 65.169 100.0 100.0 72 11.4 14.9 -10.0 -23.49
bbara 99.457 99.652 100.0 100.0 155 14.3 -8.28 -14.88
bbsse 100.0 100.0 100.0 100.0 308 28.33 26.14
dk15 100.0 100.0 100.0 100.0 131 10.7 13.91 27.10
opus1 100.0 99.59 100.0 100.0 199 20.8 21.8 15.70 -4.59
keyb 100.0 99.813 100.0 100.0 470 -5.54
ex3 98.522 95.074 100.0 100.0 169 -13.87
train11 100.0 99.06 100.0 100.0 179 19.4 19.02
dk512 100.0 100.0 100.0 100.0 141 15.1 20.80
beecount 100.0 99.46 100.0 100.0 154 16.0 37.93
Note : High fault coverage has been achieved by
observing bit sequence from CA bit 1 due to specific char-
acteristic of Dl*CA.

653

Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR. Downloaded on January 15,2023 at 01:26:52 UTC from IEEE Xplore. Restrictions apply.

You might also like