non-intrusive design of concurrently self-testable fsms · interference of the circuit logic and...

29
Gulyaev Alexander SkyLink – Moscow gulyaev@mcc. ru CDMA450 Perspectives in CIS

Upload: others

Post on 20-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Non-Intrusive Design of Concurrently Self-Testable FSMs · interference of the circuit logic and the self-test logic, as well as the level of assurance that the circuit is required

Non-Intrusive Design of Concurrently Self-Testable FSMs

Petros Drineas∗and Yiorgos MakrisDepartments of Computer Science and Electrical Engineering

Yale University{petros.drineas, yiorgos.makris}@yale.edu

Abstract

We propose a methodology for non-intrusive designof concurrently self-testable FSMs. Unlike duplicationschemes, wherein a replica of the original FSM acts asa predictor-comparator that immediately detects potentialfaults, the proposed method selects and optimizes only aminimal portion of the original FSM, adequate to detect allpossible faults, yet at the cost of potential fault detection la-tency. Furthermore, in contrast to concurrent error detec-tion approaches, which presume the ability to re-synthesizethe FSM and exploit parity-based state encoding, the pro-posed method is non-intrusive and does not interfere withthe state encoding and implementation of the FSM. Experi-mental results on FSMs of various sizes and densities indi-cate that the proposed method detects more than 92% of allfaults with an average latency of 4 clock cycles and morethan 99% of all faults with an average latency of 35 clockcycles. Furthermore, a hardware overhead cost reductionof up to 30% is achieved, as compared to duplication.

1. Introduction

Electronic circuits are employed in a wide variety ofmodern life activities, ranging from mission critical appli-cations, where the slightest malfunction may have catas-trophic consequences, to simple commodity devices, wherea potential malfunction may cause no damage other thanthe inconvenience of discarding and replacing them at analmost negligible cost. As a result, circuit designers arefaced with a broad spectrum of dependability, reliability,and testability requirements, which now become systemspecifications similar to speed, cost, power consumption,etc. Consequently, several approaches of various cost andefficiency levels have been devised to provide an indicationof the operational health of a circuit.

While the ability of a circuit to test itself during its in-tended functionality is a highly desirable attribute, design-ing a self-testable circuit which conforms to the rest of thedesign specifications is not a trivial task. Parameters to beconsidered include the additional hardware cost and designeffort incurred, potential performance degradation due to∗The author is supported in part through NSF grant CCR-9820850.

interference of the circuit logic and the self-test logic, aswell as the level of assurance that the circuit is required toprovide. In this paper, we focus our interest on controllercircuits and we explore the trade-offs between the afore-mentioned parameters, in order to devise a non-intrusivedesign methodology for concurrently self-testable FSMs.Non-intrusiveness implies that logic may only be added inparallel to the given FSM which is encoded, optimized, andimplemented to meet specific requirements and may not bemodified. The additional logic is expected to be able to testand detect any fault that may appear in the circuit, thereforerendering a self-testable design. Moreover, self-test needsto be performed concurrently and may not delay or degradethe normal functionality of the FSM.

To motivate the proposed methodology, we first examinerelated work in the areas of concurrent self-test, concurrenterror detection, and on-line test. While the ability to de-tect all faults is a unifying theme across almost all previousresearch efforts in these areas, they typically address twoends of a spectrum. Towards the low end, we find low costconcurrent test methodologies, which provide coarse infor-mation once the whole circuit has been examined, thereforeincurring tremendous fault detection latency. More specif-ically, [1] proposes the C-BIST method, which employs aninput monitoring technique and existing off-line Built-InSelf-Test hardware, such as LFSRs and MISRs, to performconcurrent test. While the hardware overhead is very low,the method relies on an ordered appearance of all possibleinput vectors before any indication of circuit correctness canbe provided, resulting in very large fault detection latency.This problem is slightly alleviated in the R-CBIST methoddescribed in [2], where the ordered appearance requirementof all input combinations is revoked at the cost of a smallRAM employed for input monitoring. Nevertheless, all in-put combinations still need to appear before any indicationof the correctness of the circuit functionality can be pro-vided. Additionally, though inexpensive and non-intrusive,such methods are limited to combinational circuits.

Towards the high end, we find expensive concurrent er-ror detection methods for sequential circuits that providefine-grained information once every clock cycle, thereforeguaranteeing zero error detection latency. Duplication isthe simplest of these methods, limited however by its ex-

Page 2: Non-Intrusive Design of Concurrently Self-Testable FSMs · interference of the circuit logic and the self-test logic, as well as the level of assurance that the circuit is required

pensive hardware overhead. Reducing the area overheadbelow the cost of duplication typically requires redesign ofthe original FSM, thus leading to intrusive methodologies.One of the first successful attempts along this direction isdescribed in [3], where resynthesis is employed to favorablyencode the FSM states, incorporating parity information inthe FSM and employing TSC checkers and several alterna-tive encoding schemes. Limitations of this method such asstructural constraints requiring an inverter-free design werealleviated in [4], where a single parity bit and several cir-cuit partitions are employed to reduce the incurred hardwareoverhead. Utilization of multiple parity bits is examined in[5] within the context of finite-state machines, leading tothe most encouraging results so far. All these methods ren-der totally self-checking circuits and guarantee error detec-tion with zero latency but they alter the original FSM designand typically only provide hardware savings in the range of10%, if at all, as compared to duplication.

While each of the two extremes has both strong and weakpoints, very few attempts have been made to bridge the gap.Among them, a method based on properties of non-linearadaptive filters is proposed in [6], achieving a 20% cost re-duction with minimal latency penalty. A similar techniqueis proposed in [7], where the frequency response of lin-ear filters is used as an invariance property of the circuit.The corresponding scheme achieves a 50% cost reductionbut introduces a more significant latency penalty. Finally,a concurrent test approach exploiting transparency behav-ior of RT-Level components is described in [8], where over90% fault security is achieved with 40% hardware over-head. However, no estimation is given for the fault detectionlatency, although a few heuristics are described for selectingfrequently activated transparencies.

2. Proposed Method

The method proposed in this paper attempts to fur-ther bridge the aforementioned gap by introducing a non-intrusive method for designing concurrently self-testableFSMs, where the original implementation of the circuit (i.e.state encoding and next state logic) may not be modified.While coverage may not be sacrificed, the proposed methodtargets the detection of faults as opposed to errors, there-fore imposing more lenient requirements in terms of faultdetection latency, as opposed to the stringent zero-latencyrequired for concurrent error detection. Therefore, infor-mation is provided frequently, yet not at every clock cycle.While such circuits are notfault-secureand therefore donot guarantee correctness of the results, they are stillself-testable, thus guaranteeing that there is a way to eventuallydetect any potential fault. In the rest of this section, we de-scribe the proposed methodology and we provide an analy-sis and justification of its expected performance.

2.1. Description

The proposed scheme is depicted and contrasted to du-plication in Figure 1. In duplication-based concurrent errordetection, a replica of the FSM1 is added to the design andthe results of the two identical FSMs are compared at eachclock cycle, thus detecting any error in the design througha monitoring output that becomes ’1’ if an error occurs. Toavoid fault masking by common-mode failures, design di-versity [9] has also been examined, wherein the duplicateFSM is functionally equivalent but structurally different andpossibly more expensive than the original FSM.

In an effort to reduce the hardware overhead of dupli-cation, the proposed method replicates only a portion ofthe original FSM, capable of detecting all faults in the de-sign. More specifically, ATPG is performed on the combi-national next state logic of the original FSM and a completeset of test vectors is obtained2. These test vectors are subse-quently synthesized, rendering the prediction logic that willprovide the expected next state of the original FSM whenan input / previous state combination matches a test vector.In order to reduce the required hardware, input / previousstate combinations that are not test vectors are treated asdon’t caresduring synthesis. However, an additional func-tion is now required, indicating whether an input / previousstate combination is a test vector and directing (through theAND gate in Figure 1) whether the comparison outcome isa valid indication of correct functionality. Furthermore, inorder to also detect the faults in the state register, we delaythe comparison of the predicted next state by one clock cy-cle, similarly to [5]. Thus, instead of comparing the outputsof the predicted logic, we compare the outputs of the stateregisters one clock cycle later, at the cost of an additionalflip-flop for the extra function. Notice also that, in orderto avoid false alarms, the predicted next state calculationis driven by the original FSM state register and not by thepredicted state register. This is because the predicted stateregister may not contain the correct value after an input /previous state combination that is not a test vector, since theoutput for such combinations is arbitrarily decided duringsynthesis to minimize the prediction logic hardware.

As shown in Figure 1, unlike approaches such as [3,4, 5] that attempt to reduce the hardware overhead byre-encoding the FSM using parity schemes, the proposedmethod leaves the original FSM design intact. Furthermore,assuming a sizeable yet not exhaustive set of vectors anddespite the addition of one extra function, we expect a con-

1For simplicity, we assume that the FSM outputs are driven by the stateregister. The method can be readily extended to output logic.

2 In the presence of a fault a state may become unreachable in an FSM.If ATPG selects such a state as part of the test vector that tests this fault, thefault becomes untestable. A state reachability analysis in the presence ofeach fault is required to preclude such vector/fault pairs. Our experimentalobservation is that such cases amount to less than 0.5% of all faults.

Page 3: Non-Intrusive Design of Concurrently Self-Testable FSMs · interference of the circuit logic and the self-test logic, as well as the level of assurance that the circuit is required

CONCURRENT FSM SELF-TEST BASED ON DUPLICATION

COMBINATIONAL NEXT STATE

LOGIC

n-BIT INPUT

k-BIT STATE

REGISTER

k-BIT NEXT STATE

FSM OUTPUT

COMBINATIONAL NEXT STATE (DUPLICATE)

k-BIT STATE

REGISTER (DUPLICATE)

DUPLICATE k-BIT NEXT STATE

k-BIT INEQUALITY COMPARATOR

TEST OUTPUT (ERROR IF '1')

ORIGINAL FSM H/W

TESTABILITY H/W

COMBINATIONAL NEXT STATE

LOGIC

n-BIT INPUT

k-BIT STATE

REGISTER

k-BIT NEXT STATE

FSM OUTPUT

COMBINATIONAL NEXT STATE

LOGIC FOR TEST VECTORS ONLY

PREDICTED k-BIT STATE

REGISTER

PREDICTED k-BIT NEXT STATE

1-BIT REGISTER

IS A TEST

VECTOR?

k-BIT INEQUALITY COMPARATOR

TEST OUTPUT (ERROR IF '1')

CONCURRENT FSM SELF-TEST BASED ON DUPLICATION OF TEST VECTOR LOGIC

Figure 1. Duplication vs. Proposed Methodology

siderable hardware overhead reduction. On the down side,a fault may cause an error which will go undetected untila test vector detecting this fault appears, thus introducingfault detection latency. Given a sizeable vector set, testsare expected to be performed frequently and low averagelatency is expected. The following paragraph discusses andanalyzes quantitatively these expectations.

2.2. Analysis

In this section we predict the performance of the method-ology (fault coverage, hardware overhead and fault detec-tion latency) proposed in Section 2.1. We focus mainly onthe hardware overhead of the proposed scheme. After intro-ducing some notation, we state a rather obvious remark onthe fault coverage for the “stuck-at” fault model.

We usen to denote the number of input bits of a FiniteState Machine (FSM),k to denote the number of state bits,N = 2n to denote the number of possible inputs andK =2k to denote the maximum number of states of the FSM.We also usesi, i = 1 . . . 2k to denote the states of the FSMandvi, i = 1 . . . 2n to denote possible input vectors. Wedenote the original circuit implementing theNEXT STATE

LOGIC of the FSM byA and the prediction logic byP . Theprediction logic is split in two parts, thePNS part, whichpredicts the next state and thePISV part, which decideswhether the predicted next state is valid.

Remark 1 Assuming that we can generate a set of test vec-tors that detects100% of the faults inA, our methodologyguarantees the same fault coverage as duplication does.

Observe thatA andP do not share any hardware. In thepresence of non-redundant faults inA, P 3 is fault free; we

3The other direction (faultyP and fault freeA) is similar.

also know that there exists some test vector (essentially apair (si, vi)) that detects the fault. Thus, whenA reachessi and the next input isvi, P andA will output differentnext states and the fault will be detected. We stress thatno latency guarantees can be given; indeed, the fault inAmight appear early and go undetected until(si, vi) appears.

We now outline our intuition on the hardware overheadof the methodology. Our first remark relates the hardware4

required to implement a random boolean function withninput bits and one “fully-specified” output bit vs. the hard-ware required to implement a random function withn inputbits and one “a-specified” output bit. We start with the fol-lowing definition:

Definition 1 An a-specified output bit has at leastda2nedon’t cares(a ∈ [0, 1]). The positions of thedon’t caresarefixeda priori.

A fully-specified output bit is equivalent to a0-specifiedoutput bit.

Remark 2 Almost all boolean functionsf : {0, 1}n →{0, 1} require at least

1. 2n/n gates, if the output bit is fully-specified.

2. (1− a)2n/n gates, if the output bit isa-specified.

Proof (Sketch):The first statement is Shannon’s countingargument [10]. For the second statement, we observe thatthe number of different functionsf : {0, 1}n → {0, 1}withda2ne don’t caresis 2d(1−a)2ne. Thus, the same countingargument proves our statement.

We emphasize that for our statement to hold the positionsof thedon’t caresare pre-specified.

�4We assume that all functions are implemented as multi-level circuits

using 2-input gates.

Page 4: Non-Intrusive Design of Concurrently Self-Testable FSMs · interference of the circuit logic and the self-test logic, as well as the level of assurance that the circuit is required

Our second remark relates the hardware required to im-plement one fully-specified bit with the hardware requiredto implementk fully specified bits whenk is a small con-stant (k << 2n) and the bits areuncorrelated.

Remark 3 Almost all boolean functionsf : {0, 1}n →{0, 1}k require at leastk2n/n gatesif thek output bits areuncorrelated and fully specified.

Proof (Sketch):Again, we observe that the number of func-

tionsf : {0, 1}n → {0, 1}k is(

22n)k= 22kn

. Thus, Shan-non’s counting argument proves our statement.

�The NEXT STATE LOGIC of our FSM is a combina-

tional circuit with n + k inputs andk outputs (the nextstate). Our technique generates a set of test vectors for theNEXT STATE LOGIC, which can be viewed as a functionf : {0, 1}n+k → {0, 1}k. Assume for the moment thatthek output bits are uncorrelated and the cardinality of thetest vector set isa2n+k. Then, using remark 3, the hard-ware required forPISV would be1/k times the hardwarerequired for theNEXT STATE LOGIC. Similarly, the hard-ware required forPNS would be(1−a) times the hardwarerequired for theNEXT STATE LOGIC. Thus, theminimumhardware required forPNS would be(1−a+1/k) times theminimumhardware required for theNEXT STATE LOGIC.Depending ona andk, the hardware overhead of our tech-nique might be significantly smaller than duplication.

In practice, thek state bits representing the next stateare correlated (otherwise some states of our FSM would notbe reachable). It is not clear though that as the state bitsbecome more and more correlated the size ofPNS overAincreases; one could expect the size ofPNS to decrease ascorrelation increases. On the other hand, it seems naturalthat the size ofPISV overA would increase. We also notethat we can only examine how thelower boundof the size ofP is diminishing; indeed, tight bounds for circuit sizes arenotoriously hard to prove even under stringent assumptions.Finally, PNS andPISV are not implemented separately; in-deed, in order to minimize the cost ofP we try to maximizetheir sharing. Thus, we expect the cost ofP to be less thanthe sum of the individual costs ofPNS andPISV .

Although it is essentially impossible to predict the la-tency of our technique, we would like to stress that, assum-ing random inputs, our technique checks for faults in a clockcycle with probabilitya. In our experiments, typical valuesfor a range from 0.4-0.5; practically, half of the2n+k pos-sible vectors are test vectors! This empirical observationcan also be justified using results of [11]. Thus, we arechecking in almost every other clock cycle. Also, we mayreasonably assume that most “stuck-at” faults are detectedby many test vectors. Thus, we expect the latency of ourscheme to be very small on average; in Section 3.3 we seethat this prediction is experimentally justified.

3. Experiments

In an effort to assess experimentally the proposedmethodology, we compare it to the traditional duplicationscheme in terms of area overhead, fault coverage, and faultdetection latency. The experimental setup, comprising toolsand FSMs employed for this purpose, is described in thissection, followed by a presentation and discussion of theobtained results.

3.1. Setup

The experimental setup employed is shown in Figure 2.For the purpose of preserving generality, the experimentsare applied on random FSMs, generated using MATLAB[12]. The characteristics of these FSMs are described in thefollowing subsection. Subsequently, these FSMs are syn-thesized and optimized using theruggedscript of the SISsystem [13], mapped to a standard cell library, and con-verted to ISCAS89 [14] format. This step serves only asa standard method to provide us with the actual implemen-tation of the FSMs and no assumptions as to how the FSMsare encoded and optimized are made. Since the proposedmethodology is non-intrusive, the hardware implementationof the FSMs is our starting point.

Given the implementation of an FSM, the combinationalnext state logic is extracted and a combinational ATPG runis performed on it using ATALANTA [15]. Under the as-sumption that the next state logic comprises no redundan-cies, a complete test set achieving 100% fault coverage isobtained. These vectors, along with an additional functionthat indicates whether an input combination is a test vector,are then synthesized using theruggedscript of the SIS sys-tem [13], mapped to a standard cell library, and converted toISCAS89 [14] format, rendering the hardware implementa-tion of the prediction logic for the proposed method. Sincethe prediction logic is the only difference between the pro-posed method and duplication, a comparison to the nextstate logic of the FSM - which is used for prediction in du-plication - indicates the hardware savings of the proposedmethod. Subsequently, the proposed self-testing FSM isconstructed, and a sequential ATPG run using HITEC [16]is performed to provide the total number of faults and thenumber of testable faults in the circuit. Notice that thesenumbers comprise faults both in the original FSM and theself-testing logic.

As discussed in the previous section, while the proposedmethod guarantees, by construction, that all non-redundantfaults in the circuit are testable by the self-testing mech-anism, the hardware savings over duplication come at thecost of fault detection latency. Similar to [1], in order tocalculate the average fault detection latency, we generatesets of random inputs, which we fault simulate twice on the

Page 5: Non-Intrusive Design of Concurrently Self-Testable FSMs · interference of the circuit logic and the self-test logic, as well as the level of assurance that the circuit is required

Random FSM

Generator (MATLAB)

Random FSM

Synthesis (SIS) & Conversion to ISCAS89 Format

FSM Implementation

Extract Combinational

Next State Logic

Next State Logic

ATPG (ATALANTA)

Complete Set of Test

Vectors

Synthesis (SIS) & Conversion to ISCAS89 Format

Test Vector Logic

Construct Proposed Self- Testing FSM

Self-Testing FSM

Implementation

ATPG (HITEC)

Testable Faults

Random Test Vector Set

(HOPE)

Fault-Simulation with All Outputs Observable

(HOPE)

Fault-Simulation with only TEST Output

Observable (HOPE)

Fault Detection Latency Calculation

Average Fault Detection Latency

List of Undetected Faults by this Set

Area Overhead

Comparison Area

Savings

Proposed Method Starting Point

Figure 2. Experimental Setup

constructed FSM, the first time observing all outputs (in-cluding the TEST output) and the second time observingonly the TEST output. For fault simulation we use HOPE[17], which reports the newly detected faults for each simu-lated vector. The two fault simulation reports are, then, pro-cessed and the time step difference between detecting eachfault in the first and second fault simulation is obtained andaveraged over all faults. The result indicates the averagefault detection latency for the simulated random set of vec-tors. The number of faults that are only detected in the firstfault simulation but not in the second, i.e. faults that theproposed method did not detect within the limited numberof simulated test vectors, is also reported.

3.2. Random FSMs

We briefly outline the process of generating randomFSMs withK states andn inputs (for notation see Section2.2). We start by building the “connected component” ofthe FSM, to guarantee that there exists a path from someROOT node to every state.

Starting from theROOT, we add a random numberr ofchildren to each state-node;r is picked uniformly at ran-dom from 0 . . . N and independently for each state-node.We visit the states-nodes in a breadth-first search order andwe stop when a full tree with allK states is built. We subse-quently addN − ri edges from state-nodesi to other nodesin the tree5, whereri is the number of children ofsi. Fi-nally, we label theK states-nodes using a random permuta-tion of 1 . . .K; we also label theN out-edges from eachsi

using random permutations of1 . . . N .

5We pick these nodes uniformly at random with replacement.

1 2 3 4 565

70

75

80

85

90

95

100

Number of Inputs

Are

a O

verh

ead

(out

of 1

00%

)

8 States16 States32 States64 States

Figure 3. Average Area Overhead = 84%

Our objective is to build large and complex FSMs in or-der to test our technique; one could potentially suggest dif-ferent strategies for the same task. It is important though tonote that our strategy can generateall possibleFSMs withK states andn inputs.

3.3. Results

As we mentioned in Section 2.2, our technique guaran-tees the same fault coverage as duplication does (subject tothe restriction of footnote 2). Thus, our experiments focuson the hardware overhead and the latency of our scheme.

We ran our experiments on 17 different “types” of FSMs,namely 17 different(K, n) combinations. We remind thatK denotes the number of states andn the number of in-put bits. The “types” are (8,1), (8,2), (8,3), (16,1), (16,2),

Page 6: Non-Intrusive Design of Concurrently Self-Testable FSMs · interference of the circuit logic and the self-test logic, as well as the level of assurance that the circuit is required

1 2 3 4 582

84

86

88

90

92

94

96

98

100

Number of Inputs

Det

ecte

d F

aults

(%

)

8 States16 States32 States64 States

Figure 4. The proposed method detected 92.2% ofthe faults that appeared in the first 100 cycles.

1 2 3 4 51.5

2

2.5

3

3.5

4

4.5

5

5.5

6

6.5

Number of Inputs

Ave

rage

Lat

ency

8 States16 States32 States64 States

Figure 5. The average latency for faults detected inthe first 100 cycles was 4.02 cycles

(16,3), (16,4), (32,1), (32,2), (32,3), (32,4), (32,5), (64,1),(64,2), (64,3), (64,4), (64,5). We generated 2 FSMs for eachtype and we report the average. Figure 3 shows the areaoverhead of our technique over duplication. We present 4curves, for FSMs with 8, 16, 32 and 64 states.

To report results regarding the latency, we examine ourFSMs using 100 random input vectors. Figure 4 shows thepercentage of non-redundant faults that appearedand wewere able to detect using our scheme. Figure 5 shows theaverage latency for the faults that we were able to detect.We should stress that not all possible faults appeared in thissmall simulation; our data though indicate that on averagealmost84.16% of the faults did appear! The reported la-tency is the average latency over the detected faults.

We now examine our FSMs using the previous 100 ran-dom input vectorsand9900 additional random vectors. Fig-ures 6,7 show the percentage of non-redundant faults that

1 2 3 4 597

97.5

98

98.5

99

99.5

100

Number of Inputs

Det

ecte

d F

aults

(%

)

8 States16 States32 States64 States

Figure 6. The proposed method detected 99.1% ofthe faults that appeared in the first 10000 cycles.

1 2 3 4 50

20

40

60

80

100

120

140

160

Number of Inputs

Ave

rage

Lat

ency

8 States16 States32 States64 States

Figure 7. The average latency for faults detected inthe first 10000 cycles was 34.97 cycles

we were able to detect and their average latency. On aver-age,99.6% of all non-redundant faults appeared!

One can see that the latency of our technique is small,as predicted in Section 2.2. We will now show that we alsopredicted the hardware overhead quite accurately. We re-mind that we predicted the ratio of our methodology overduplication to be1− a + 1/k. We remind thata is the ratioof the2n+k (state, input) combinations that are test vectors.Tables 1 and 2 show our prediction for the specific values ofa (as generated by our experiments) andk for each FSM.

On average, our prediction and the observed hardwareoverhead differ by9.78%. We remind that our predictiondoes not take into account the potential sharing between thePNS andPISV ; thus, the difference might be even smaller.We believe that the discrepancy is the effect of two factors:correlation of next state bits (see Section 2.2) and inabilityof the tools used to fully optimizePNS in large circuits.

Page 7: Non-Intrusive Design of Concurrently Self-Testable FSMs · interference of the circuit logic and the self-test logic, as well as the level of assurance that the circuit is required

FSM 8,1 8,2 8,3 16,1 16,2 16,3 16,4 32,1 32,2Test Vectors 12 20.5 35 21 35 58 119 37 67.5

Prediction (%) 108 97 88 91 80 70 71 78 73

Table 1. PREDICTED OVERHEAD

FSM 32,3 32,4 32,5 64,1 64,2 64,3 64,4 64,5Test Vectors 125 233 481 71.5 125 242 491 959

Prediction (%) 69 66 67 73 65 64 65 63

Table 2. PREDICTED OVERHEAD (cont’d)

4. Conclusions

Cost-efficient design of FSMs with embedded concur-rent fault detection capability necessitates a careful consid-eration of the conflicting objectives of low hardware over-head, low fault detection latency, and high fault coverage.The corresponding trade-offs become even more stringentin the presence of design specification constraints requiringthat the original FSM implementation be left intact. Alongthese lines, we discussed a test vector logic replication andoptimization methodology for designing FSMs that can befully self-tested concurrently with their normal functional-ity, without paying the cost of duplication and without inter-fering with the original FSM implementation. Experimentalresults demonstrate the ability of the proposed methodologyto reduce the hardware overhead incurred by duplicationschemes by as much as 30%, while preserving the abilityto detect all faults in the circuit, yet at the cost of non-zerolatency. Nevertheless, the experimentally observed averagefault detection latency of the method is very low, rangingfrom 4 clock cycles for 92% of the faults to 35 clock cyclesfor 99% of the faults.

References

[1] K. K. Saluja, R. Sharma, and C. R. Kime, “A concurrenttesting technique for digital circuits,”IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems,vol. 7, no. 12, pp. 1250–1260, 1988.

[2] I. Voyiatzis, A. Paschalis, D. Nikolos, and C. Halatsis, “R-CBIST: An effective RAM-based input vector monitoringconcurrent BIST technique,” inInternational Test Confer-ence, 1998, pp. 918–925.

[3] N. K. Jha and S.-J. Wang, “Design and synthesis of self-checking VLSI circuits,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 12,no. 6, pp. 878–887, 1993.

[4] N. A. Touba and E. J. McCluskey, “Logic synthesis of mul-tilevel circuits with concurrent error detection,”IEEE Trans-

actions on Computer-Aided Design of Integrated Circuitsand Systems, vol. 16, no. 7, pp. 783–789, 1997.

[5] C. Zeng, N. Saxena, and E. J. McCluskey, “Finite state ma-chine synthesis with concurrent error detection,” inInterna-tional Test Conference, 1999, pp. 672–679.

[6] A. Chatterjee and R. K. Roy, “Concurrent error detectionin non-linear digital circuits with applications to adaptivefilters,” in International Conference on Computer Design,1993, pp. 606–609.

[7] I. Bayraktaroglu and A. Orailoglu, “Low-cost on-line testfor digital filters,” in VLSI Test Symposium, 1999, pp. 446–451.

[8] Y. Makris, I. Bayraktaroglu, and A. Orailoglu, “Invariance-based on-line test for RTL controller-datapath circuits,” inVLSI Test Symposium, 2000, pp. 459–464.

[9] A. Avizienis and J. P. J. Kelly, “Fault tolerance by designdiversity: Concepts and experiments,”IEEE Computer, vol.17, no. 8, pp. 67–80, 1984.

[10] C. E. Shannon, “The synthesis of two-terminal switchingcircuits,” Bell System Technical Journal, vol. 28, pp. 59–98,1949.

[11] K. Raahemifar and M. Ahmadi, “Novel test generation al-gorithm for combination circuits,”Journal of Circuits, Sys-tems, and Computers, vol. 10, pp. 27–65, 2000.

[12] “MATLAB,” Available fromhttp://www.mathworks.com/ .

[13] E. M. Sentovich, K. J. Singh, L. Lavagno, C. Moon, R. Mur-gai, A. Saldahna, H. Savoj, P. R. Stephan, R. K. Brayton,and A. Sangiovanni-Vincentelli, “SIS: a system for sequen-tial circuit synthesis,” ERL MEMO. No. UCB/ERL M92/41,EECS UC Berkeley CA 94720, 1992.

[14] “ISCAS’89 benchmark circuits information,” Availablefrom http://www.cbl.ncsu.edu .

[15] “ATALANTA combinational test generation tool,” Availablefrom http://www.ee.vt.edu/ha/cadtools .

[16] T. Niermann and J. H. Patel, “HITEC: A test generationpackage for sequential circuits,” inEuropean Conference onDesign Automation, 1992, pp. 214–218.

[17] H. K. Lee and D. S. Ha, “HOPE: An efficient parallel faultsimulator for synchronous sequential circuits,”IEEE Trans-actions on Computer-Aided Design of Integrated Circuitsand Systems, vol. 15, no. 9, pp. 1048–1058, 1996.