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

A Technique for Fault Diagnosis of Defects in Scan Chains

Ruifeng Guo SrikanthVenkatamnan


RA1-329, Intel COT. M I - 3 2 9 , Intel Corp.
Hillsboro, OR 97124 Hillsboro, OR 97 124
ruifeng.guo@intel.com srikanth.venkataraman@intel.com

is critical to the testing and diagnosis of other parts of the


Abstract circui< hence it is necessary to find the fault location in a
In this paper, we present a scan chain fault faulty scan chain and &ally find the root cause of the
diagnosis procedure. The diagnosis for a single failure.
scan chain fault is performed in three steps. The Scan chain fault diagnosis is the process of iden-g
first step uses special chain test patterns to the defective scan cell in a scan chain. Several methods
determine both the faulty chain and the fault type in have been proposed to diagnose scan chain failures.
the f a d @ chain. The second step uses a novel They can be classified into two categories. In the first
procedure to generate special test patterns to category, hardware modification beyond the basic scan
identifi the suspect scan cell within a range of scan design is necessary through special scan cell design or
cells. Unlike previously proposed methods that additional circuitry. These special designs are then used
restrict the location of the faulty scan cell onlyfiom to facilitate the scan chain diagnosis process. Schafa
the scan chain output side, our method restricts the proposed a new shiR register design to connect the
location of the faulty scan cellJFom both the scan output of each scan cell to another scan cell such that its
chain output side and the scan chain input side. value can be observed by the other scan chain in
Hence the number of suspect scan cells is reduced diagnosis mode [11. Edirisooriya uses a global diagnosis
significantly in this step. The final step further signal and XOR gates between the adjacent scan cells to
improves the diagnostic resolution by ranking the improve the stuck-at fault diagnosis along the scan chain
suspect scan cells inside this range. The proposed [2]. A setheset circuitry is proposed by Nayaranan to
technique handles both stuck-at and timing failures enhance the stuck-at fault diagnosibility of the scan
(transition faults and hold time faults). The chain [3]. The techniques of flipping scan flip-flops and
extension of the procedure to diagnose multiple settin&esetting scan flip-flops are used by Wu to
faults is discussed. The experimental results show i d e n w the defective scan cell [4]. The techniques in this
the effectiveness of the proposed method. category introduce area overhead and performance
penaltyywhich may not be acceptable.
1. Introduction The other category of scan chain fault diagnosis
techniques does not need any modification in addition to
Logic fault diagnosis or fault isolation is the process the basic scan design. Sequential ATPG techniques or
of analyzing failure logic portions of an integrated circuit special algorithms are designed to isolate the defective
to isolate the cause of failure to enable design or scan cell. Kundu proposed the use of sequential ATPG
fabrication process modification to avoid similar techniques to set the scan cells to specific values and the
failures. Scan design has been used widely as a design diagnosis idormation is collected during the unload of
for testability methodology to improve the testability and the scan cells [5]. Because of the complexity of the
facilitate the diagnosis of VLSI circuits. In a typical scan sequential ATPG techniques, this method is very time-
design, the area occupied by the logic associated With consuming and may be infeasible. Instead of using
the scan chains (including the scan cells) ranges fiom ATPG techniques, Cheney proposed to use random test
10%-30% of the total area of the circuit. As a pattern simulation [6].This method is very time efficient
consequence, about 10%-30% of defects that impact while the resolution largely depends on the randomly
logic cause the scan chain to fail. A functional scan chain generated test patterns. Fault simulation and matching

Paper 10.2 ITC INTERNATIONALTEST CONFERENCE


268 $10.00 0 2001 IEEE
0-7803-7169-0/01

Authorized licensed use limited to: Intel Corporation via the Virtual Library. Downloaded on May 04,2021 at 18:37:33 UTC from IEEE Xplore. Restrictions apply.
algorithm are used to find the best possible faulty scan the SCI. In this paper, the scan cell with index n is
cell [7]. However, the number of suspect scan cells that referred to as scan cell n (Sn). For a list of consecutive
need to be considered could be very large for a long scan scan cells in a scan chain, the scan cell with the highest
chain makingthis method time consuming and adversely index is called the upper bound, and the scan cell with
affect the resolution. IDDQ testing was proposed for the lowest index is called the lower bound. The scan
scan chain fault diagnosis by loading special test patterns cells between the SCI and the scan input pin of a scan
to the scan chain and observing the quiescent current cell are called the upstream cells of this scan cell, while
aRer each shift [8]. This method is effective in the scan cells between the SCO and the scan input pin of
diagnosing stuck-at faults, but its application to transition a scan cell are called the downstream cells of this scan
faults is very limited. Further, this method requires the cell. Note that fiom this definition, the downstream cells
circuit to be IDDQ testable. of a scan cell include the scan cell itself. During scan
In this paper, we propose an algorithmic method to shift, data flows fiom upstream cells to downstream
diagnose a circuit with a scan chain defect. Three steps cells. For example, a scan chain of length 6 is shown in
are implemented in the proposed scan chain diagnosis Figure 1. The index of each scan cell is also shown in
procedure. In the first step, we use special chain test this figure. Scan cells 4 and 5 are upstream cells of scan
patterns, which only contain scan pattern load and cell 3 while scan cells 0,1,2, and 3 are downstream cells
unload operations, to determine both the faulty scan of scan cell 3. For a list of scan cells that consist scan
chain (we assume there is more than one scan chain in cells 1,2,3 and 4, the lower bound of this list is scan cell
the circuit under test) and the fault type of the faulty scan 1 and the upper bound is scan cell 4.
chain. In the second step, we use a modified ATPG test If the number of inversion gates between the scan
pattern set to ident@ the range of the suspect scan cells. input pin of scan cell S, and the SCO is even, then scan
In this step, we restrict the location of the faulty scan cell cell S, has positive polarity. Otherwise, S, has negative
both fiom the scan chain input and fiom the scan chain polarity. In many cases the scan cell itself may have an
output. This can significantly reduce the number of scan inverter inside it, thus the scan input pin and the scan
cells to be considered and in many cases this step may output pin of the scan cell may have different polarities.
even provide the exact location of the scan cell with the We define the polarity of the scan input pin of the scan
defect. In the last step, we use ATPG test patterns to cell as the polarity of the scan cell. For example, in
simulate faults in the suspect scan cells. By comparing Figure 1, scan cells 0, 1,4 and 5 have positive polarities
the simulation responses and the observed faulty circuit and scan cells 2 and 3 have negative polarities.
responses fiom the tester, each suspect scan cell is given In this paper, for a given load pattern or unload
a score. pattern, the right most bit is the value of scan cell 0. For
The paper is organized as follows. In Section 2, example, after loading pattern 111000 to the scan chain
definitions used in this paper are provided. In Section 3, shown in Figure 1, the values of scan cells fiom 5 to 0
we discuss the fault model handled by the proposed are 110100.
procedure. Section 4 describes the proposed scan chain polarity+ + - - + +
fault diagnosis procedure for a single scan chain fault. sco
Section 5 discusses the extension of the procedure to
handle multiple faults. Experimental results are provided
in Section 6. Section 7 concludes the paper.
Figure 1: An Example of a Scan Chain of Length 6
2. Definitions
3. Fault Models
We provide the definitions and terms that are used in
this paper. We use SCI to denote the scan data input pin Both stuck-at fault models and timing related fault
of a scan chain, and SCO to denote the scan data output models have been proposed for scan chain fault
pin of a scan chain. The length of a scan chain is the diagnosis in previous works [4][7]. Our method targets
total number of scan cells in the scan chain. Each scan similar fault models.
cell in a scan chain is given an index. The cell connected Stuck-at faults: Stuck-at4 and Stuck-at-1 faults are
to SCO is numbered 0 and numbers incremented up to the classical fault models used for logic testing and

Paper 10.2
269

Authorized licensed use limited to: Intel Corporation via the Virtual Library. Downloaded on May 04,2021 at 18:37:33 UTC from IEEE Xplore. Restrictions apply.
diagnosis. Stuck-at behavior may occur when a scan diagram of the proposed procedure. The procedure takes
chain is bridged to the ground or power, when the clock the circuit description and its scan chain design as the
signal to some scan cells stays stuck-off, or when a scan inputs. We also assume that logic A"G test patterns are
chain is open. When a SA0 or SA1 behavior occurs on a available for the circuit under test. The output of the
chain, the scan unload data will be a string of zeros or procedure is a list of candidate scan cells in the
ones, depending on the polarity of the defect site and the decreasing order of the probability.
stuck-at value. If the defective scan cell has positive
polarity, the scan output string has the same value as the
stuck-at value while if the defective scan cell has
negative polarity, the scan output string has the
Step 1
complementary value of the stuck-at value. For example,
in the scan chain shown in Figure 1, a stuck-at4 fault at
the scan input pin of scan cell 0, which has positive
polarity, results in the unload values to be a string of Os
at SCO. A stuck-at4 fault at the scan input pin of scan
cell 2, which has negative polarity, results in the unload
values to be a string of 1s at SCO. .c
'Ikansition faults:This fault model covers defects that hing method to score an
cause scan cells to exhibit timing problems in rank the candidate scan cells
transitioning fi-om 0 to 1 or vice versa. As described in
[7], the result could be any of the following four
Candiate cells with decreasing
conditions: slow-to-rise, slow-to#all, fat-to-rise,fat-to- score
fall. For example, consider a defect at a positive polarity
site. Suppose the fault fi-ee circuit unload pattern is
001100110011 and the defect behaves as a slow-to-rise Figure 2: Scan Chain Fault Diagnosis Procedure
fad< the observed unload values are OOlOOOlOOOlX
(where X depends on the initial value of the faulty cell). There are three steps in the procedure. In the first step,
If the defect behaves as a slow-to-fall fault, the observed we use special chain test patterns to determine the faulty
output values are 0 11101110111. If the defect behaves as scan chain and the fault type for the defective scan chain.
a fast-to-rise fault, the observed output values are In step 2, modified ATPG test patterns are applied to the
XOlllOlllOll (where X depends on the next scan in circuit under test and the observed outputs fiom the
value.) E the defect behaves as a fast-to-fall fault in the faulty scan chain are analyzed. The novelty of this step is
scan chain, the observed output values are that both the upper and lower bounds of the suspect scan
000100010001. cells are calculated. Hence the number of suspect scan
Hold time faults:If the clock to the scan latches stays cells could be significantly reduced and in many cases
ON, the function of the scan latch is the same as a buffer the exact location of the defective scan cell can be
[7], or if there are large clock skews [4], the expected identified in this step. The modification to the ATPG test
output values come out one clock cycle earlier. For patterns masks the effect of the faulty scan cell on the
example, suppose the expected unload values are scan load operation. M e r simulating the modified ATPG
00110011. However, if there is a hold time fault in the test patterns, the upper and lower bounds can be derived
scan chain, the observed output values are X0011001, during the unload process. The reasoning behind our
where X depends on the next load value. method is based on the observation that during scan data
unload only the upstream scan cells are affected by the
4. Scan Chain Fault Diagnosis faulty scan cell. The lower bound of the suspect scan
cells can be collected fiom the scan cells that have the
Procedure expected binary values observed in the faulty circuit
The detailed description of the proposed scan chain responses. The upper bound information of the candidate
fault diagnosis procedure for a single scan chain fault is scan cells can be collected fiom the scan cells that don't
have the expected binary values observed in the faulty
presented in this section. Figure 2 shows the block
Paper 10.2
270

Authorized licensed use limited to: Intel Corporation via the Virtual Library. Downloaded on May 04,2021 at 18:37:33 UTC from IEEE Xplore. Restrictions apply.
circuit responses. In Step 3, the procedure uses the logic double 1s. The hold time faults and the transition faults
ATPG test patterns to characterize the candidate scan have different unload values for the third test pattern. By
cells. By comparing the simulated responses for each comparing the expected outputs for each fault model
candidate scan cell with the observed faulty circuit with the observed faulty values, we determine the fault
responses, scores are calculated and assigned to the type to model the defect in the scan chain. Note that the
canddate scan cells. The candidate scan cells with the first two chain test patterns are necessary because the
highest scores are most likely to contain the real defect. regular chain test cannot differentiate the stuck-at faults
Note that matching algorithm was also proposed by fiom the cases where two transition faults of the same
Stanley for scan chain defect diagnosis [7]. Similar type exist in the same scan chain. More complex chain
metrics are evaluated in our method, but we use different test patterns are required if more than one transition
method to calculate scores for each candidate scan cell. faults are to be considered in a scan chain. This will be
Details of each step follow. discussed in Section 5.

4.1. Chain Test to Determine Fault Type 4.2. Calculating lower and upper bounds

Special load patterns are used in the chain test to Cheney proposed loading pseudo-random test patterns
determine the fault type for the defective scan chain. into the scan chains and clocking the circuit [6]. Based
Chain test patterns were also used in [4] and [7] to on the observation that during the unload process the
differentiate the behaviors of different fault models. Note defect only affects the upstream cells of the faulty scan
that the fault type is determined with respect to the cell, by analyzing the unload data the faulty site can be
positive polarity positions. The fault type for the claimed to be in the upstream cells of some scan cell.
negative polarity positions are opposite in the values for One problem with this method is that pseudo-random
stuck-at faults and opposite in the transition directions test patterns can introduce bus contention that could
for the transition faults with respect to the positive destroy the circuit under diagnosis. The other limit to
polarity positions. For the fault models described in pseudo-random test patterns is that they can only find the
Section 3, three test patterns can be applied to the faulty lower bound for stuck-at faults while providing no
scan chain. The load patterns for positive SCI, the diagnostic information for transition faults and hold time
expected fault-fiee circuit outputs and the faulty circuit faults.
outputs for each type of faults at positive polarity In the proposed procedure, we use modified ATPG
positions are given in Table 1. test patterns to identify the upper and lower bounds of
the candidate scan cell for all the fault types we
Table 1: Chain Tests to Determine Fault Type proposed in Section 3. The purpose of the modification
to the ATPG test patterns is to mask the effect of the
faulty scan cell during the scan pattern load process. One
way to modi@ the ATPG test patterns is calledJirlZy
constrained. In this method we change the load values of
the faulty scan chain cells to all X (unknown) values
while the load values of other fault free scan chains
remain unchanged.
To get both the upper and lower bounds of the
candidate scan cell, we logic simulate the modified
ATPG test patterns with full constraints. M e r logic
simulation, the scan cells in the defective scan chain that
have binary values (0 or 1) are marked with their values.
The first two patterns are all-Os and all-1s patterns. These values are not affected by the faulty scan cell. For
From Table 1, it can be seen that stuck-at4 fault (SAO) the marked scan cells, by comparing the values obtained
and stuck-at-1 fault (SAl) can be easily determined by during simulation and the values observed in the faulty
the all4 and all-1 scan patterns. The third pattern is the circuit responses, we can derive the upper and lower
regular chain test pattern that consists of double Os and bounds of the potentially faulty scan cells (also called

Paper 10.2
271

Authorized licensed use limited to: Intel Corporation via the Virtual Library. Downloaded on May 04,2021 at 18:37:33 UTC from IEEE Xplore. Restrictions apply.
the candidate I&). Note that those scan cells that have fault must be in the upstream cells of scan cell sG1.
unknown values after logic simulation may have their Otherwise, if both scan cell SG1and S, have values 0, the
values affected by the faulty scan cell and hence cannot fault must be in the downstream cells of S,,. For
be used to identi$ the upper and lower bounds for the example, suppose there is slow-to-rise fault in the scan
candidate list. chain shown in Figure 3. If scan cells 0 and 3 have
The following examples illustrate how to determine simulation value 1 and scan cells 1 and 4 have
the upper and lower bounds of the candidate list. For simulation value 0. If the observed values for scan cell 0
ease of understanding, we assume that all the scan cells and 1 are the same as their simulation values, then we
in the faulty scan chain have positive polarities. claim that the fault must be in the upstream cells of scan
However, the algorithm can be generalized if the scan cell 0. If the observed value for scan cell 3 is 1 and the
chain has both positive polarity cells and negative observed value for scan cell 4 is 1,then we conclude that
polarity cells. the fault must be in the downstream cells of scan cell 3.
Similarly, for the hold time faults, we have to observe
defect location the values for two adjacent cells to decide whether a
SCI specific scan cell is an upper bound or lower bound. To
do this, the adjacent scan cells must be marked with
Sim. Value: 0 1 0 1 different binary values during logic simulation of the
Obs. Value: 1 1 0 1 modified ATPG test patterns. For example, scan cells S,
Figyre 3: Determine the UpperLowerBounds 1 and S, have different binary values after logic
simulation of the modified ATPG test patterns. If the
Consider stuck-at faults. Suppose the fault type is observed faulty circuit outputs show that scan cells S,l
stuck-at-1 and the scan cell S, has binary value 0 after and S, have the same values as they were marked, we
logic simulation of the modified ATPG test pattern. After claim that the fault must happen in the upstream cells of
applying the modified ATPG test pattern to the faulty scan cell S,1. Otherwise, the fault must be present in the
circuit, if the observed faulty circuit value of scan cell S, downstream cells of scan cell SG1.
is 0, then we claim that the stuck-at fault must be in the In the above examples, we assume all the scan cells in
upstream cells of S,. On the other hand, if the observed the scan chain have positive polarities. This can be
faulty circuit value of scan cell S, is 1, then we claim that extended to the scan chains consisting of both positive
the stuck-at fault must be in the downstream cells of S,. polarity and negative polarity scan cells. In general, for
For example, consider a stuck-at-1 fault in the scan chain stuck-at+ faults, where a is 0 or 1, after logic simulating
shown in Figure 3. After logic simulation scan cells 1 the modified ATPG test pattern, we mark the positive
and 4 have value 0. Ifthe observed value of scan cell 1 polarity scan cells which have binary values (la) and
is 0, then we can conclude that the fault is in the the negative scan cells which have values a. From the
upstream cells of scan cell 1 since if the fault were in the observed faulty circuit responses, if the marked value is
downstream cells we would observe a value 1 in scan observed for any scan cell, we claim the defect is in the
cell 1. If the observed value of scan cell 4 is 1, then we upstream cells, if the complimentary value of the marked
can conclude that the fault is in the downstream cells of value is observed, then we claim that the fault is in the
scan cell 4 since if the fault were in the upstream cells, downstream cells. For transition faults and hold time
we would have observed value 0 in scan cell 4. faults, after simulating the modified ATPG test pattern,
For transition faults, we need the values of two we need to mark all pairs of adjacent scan cells that have
adjacent scan cells to claim an upper bound or a lower values necessary to activate the fault in the scan chain. If
bound. Consider a slow-to-rise fault in a scan chain. Let the observed values of the scan cells are the same as
scan cells SG1and S, both have binary values after logic their marked values, then we claim the fault must be in
simulating the modified ATPG pattern. Let us assume the upstream cells of the scan cell with lower index.
that scan cell SG1has value 0 and that scan cell S, has Otherwise, if the expected transition is not observed,
value 1, i.e. there is a 0 to 1 transition at scan cell SG1 then we claim the fault must be in the downstream cells
during unload. If the observed faulty circuit responses of the scan cell with the lower index.
show that scan cell SG1 and scan cell S, both have the Note that changing the load values of the faulty scan
same values as their marked values, we claim that the chain to all-Xs is not the only way to mask the faulty

Paper 10.2
272

Authorized licensed use limited to: Intel Corporation via the Virtual Library. Downloaded on May 04,2021 at 18:37:33 UTC from IEEE Xplore. Restrictions apply.
scan cell, fidl constraints can be relaxed based on the faulty scan cell, we use modified logic simulation to
fault model. Consider the case of stuck-at faults. For a derive expected outputs for each candidate scan cell.
stuck-at4 fault on the positive polarity position or a During scan data load, the downstream cell values are
stuck-at-1 fault on the negative polarity position, if the forced to be consistent with the fault effect caused by the
SCI has positive polarity we can load the all4 vector to fault type. During scan data unload, the upstream scan
the faulty scan chain without activating the SA0 fault. cell values are calculated according to the fault type. For
Similarly, for a stuck-at-1 fault on positive,polarity example, a SA0 fault in a scan chain with 500 scan cells
position or stuck-at4 fault on negative polarity position, of positive polarity, the range of the candidate list is
if the SCI has positive polarity we can load the all-1 identified to be scan cell 10 to scan cell 15. While we are
vector to the faulty scan chain without activating the simulating candidate scan cell 10, during data load, we
SA1 fault. For transition faults and hold time faults, fidl force the values of scan cells 0 to 10 to value 0; which is
constraints can be relaxed to loading all4 or all-1 test consistent with the effect caused by stuck-at4 fault.
patterns to the faulty scan chain and then perfiorm logic During data unload, we force the values of upstream
simulation. For transition faults, more modification cells (scan cells 11 to 499) to value 0 which is consistent
methods are available by using combined strings of 1 with the fault effect of the stuck-at-0 fault.

~-,
and 0 without triggering the fault effect during scan load Nonprediction Misprediction
operation. For example, if we have a slow-to-rise defect If))( Intersection
in the scan chain, besides all-0, all-1 load patterns to the
faulty scan chain, the load pattern 00...0011...11 masks
the faulty scan cell during scan load process. Note that
only one transition, fiom 1 to 0, is allowed in this pattern
and this transition can happen at any position along the Candidate Signature (EO)
load pattern. A second transition fiom 1 to 0 introduces a Observed Failures (EO’ )
0 to 1 transition and triggers the slow-to-rise fault and
makes the values in the scan cells uncertain during scan Figure 4: Metrics to Calculate Scores
load process. These modifications give us choices in
generating the modified test patterns. Similarly, a test Score matching method is based on the hypothesis
pattern 11...1100...00 can also set specific values to scan that the closer the fault site to the actual defect site, the
cells in the scan chain with a slow-to-fall defect. better match between the tester unload data and the
It is possible for the modified ATPG test patterns to simulated unload data. We use the same matching
introduce bus contention. Bus contention is determined calculation method as proposed in [9]. The calculation of
by logic simulation and the ATPG test patterns that the score is based on the metrics of intersections, mis-
introduce potential bus contention or bus contention are predictions, and the non-predictions, these are also
discarded and are not used for diagnosis. shown in Figure 4. Intersection is the count of failures
observed on the tester and also by the simulation. Vector-
4.3. Score and Ranking wise intersection is the count of test patterns for which
the simulation results are exactly the same as the tester
In this step, the logic ATPG test patterns are simulated
outputs for that test pattern. Vector-wise intersection is
for each candidate scan cell between the upper bound
the strongest indication that the candidate scan cell has
and the lower bound. The simulation outputs obtained
the defect. The mis-prediction is the count of the failures
are compared against the observed faulty circuit outputs,
observed by the simulator but not on the tester. The non-
Based on a matching algorithm, a score is calculated and prediction is the count of failures observed on the tester
assigned to each candidate scan cell. The candidates are
but not by the simulator. The score of each candidate
ranked in the decreasing order of scores with a higher
scan cell consists of the accumulated values for vector-
score denoting a higher probability that the candidate is
wise intersections, intersections, non-intersections and
the actual defect site. Note that the test pattern
mis-predictions for all the ATPG test patterns with
simulation for candidate scan cell is different ftom the
vector-wise intersection as the strongest metric and mis-
regular fault simulation which loads and unloads scan
prediction as the weakest metric. Stuck-at faults,
chain values in parallel. To consider the effects of the
transition faults and hold time faults are dealt with
Paper 10.2
273

Authorized licensed use limited to: Intel Corporation via the Virtual Library. Downloaded on May 04,2021 at 18:37:33 UTC from IEEE Xplore. Restrictions apply.
identically while calculating the scores. Note that the range for one fault. For example, if there are two
matching algorithm in [7] calculates scores based on the faults, one stuck-at-0 and one stuck-at-1 in a scan
intersection, mis-prediction and non-prediction, it chain, our method could only provide the diagnosis
doesn’t consider the vector-wise intersection while we for the fault which is closer to the SCO. If there are
use vector-wise intersection as the strongest metric [9]. two faults, one stuck-at-0 faults and one slow-to-fall
In [7], the mis-prediction and non-prediction are given fault, then our method can only determine that there
the same priority to calculate scores while we believe the is a stuck-at-0 fault and provide diagnosis for this
non-prediction is a stronger metric than mis-prediction fault. However, in practice the occurrence of
and hence it is given higher priority than mis-prediction. multiple faults in a single scan chain is unlikely and
the diagnosis of one fault from one failing scan
5. Extension to Multiple Faults chain provides useful information for follow up.

In the previous sections we described the fault 6. Experimental Results


diagnosis for a single scan chain fault in the circuit
under test. We now discuss how the method can be Experiments were performed on a chipset design with
extended to handle multiple faults. Two conditions more than 430K gates. There are about 22K scan cells
are considered: single faults on multiple scan chains that are organized in 54 scan chains. The maximum scan
and multiple faults on single scan chains. chain length is 4 10. We use simulation results and silicon
First let’s consider single faults in multiple scan data to show the effectiveness of the proposed scan
chains. To determine the faulty chains and fault chain fault diagnosis procedure for a single scan chain
types, the proposed chain test patterns are still fault.
applicable without any change. To identify the
range of the candidate lists for all the faulty chains,
1501 1
modified ATPG test patterns can still be used. 0

However, instead of modifying the values for one


scan chain, we need to modify the values for all the
faulty scan chains while keeping the values of the
fault free scan chains unchanged. The upper bound
and the lower bound for each faulty chain can be
1 2 3 4 5 6 7 8 9101112
calculated separately. To match the candidate scan
cells with the observed faulty circuit outputs, we Size of Candidate List
consider the faulty scan chains one at a time. While Figure 5: Distribution of candidate list
one faulty scan chain is being considered, the sizes for stuck-at-1 faults
original ATPG test patterns cannot be used directly. 6.1 Simulation Results
Instead, all the load values of other faulty chains
should be masked with constraint values, and all the
unload values from other faulty chains should not
be considered to calculate the intersections, m i s -
predictions and non-predictions.
In the case of multiple faults in a single scan
chain, diagnosis depends on the types of faults in
the scan chain. Our procedure only has limited
diagnosibility for some special cases. Modifications
\ c, 9 ,. .$ r$\

Size of Candidate List


.r”. 9 3
,

to each step are necessary. For example, to Figure 6: Distribution of candidate list
differentiate the fault effect of a stuck-at fault and sizes for stuck-at-0 faults
that of a multiple transition faults of the same type
in a single scan chain, more complex chain test First we evaluate the technique to identi@ the upper
patterns are needed. For the multiple faults in a and lower bounds of the candidate list. The number of
single scan chain, our method can only find the scan cells between the upper and lower bounds (also
Paper 10.2
274

Authorized licensed use limited to: Intel Corporation via the Virtual Library. Downloaded on May 04,2021 at 18:37:33 UTC from IEEE Xplore. Restrictions apply.
called the size of the candidate list) is used as the metric for stuck-at faults. This can be explained by the fact that
of our evaluation. One hundred modified ATPG test specific values of two consecutive scan cells are required
patterns are applied to each scan chain. We consider a to determine an upper bound or lower bound for
fault in each scan cell. Based on the logic simulation transition faults. This is a stricter condition than that
results of the modified ATPG test patterns, we calculate required for stuck-at fault that only requires a single scan
the lower and upper bounds of the candidate list for the cell value to determine an upper bound or lower bound.
fault in each scan cell. Different fault models are used in For transition faults, we also observed that for about
this experiment. The typical distributions of candidate 40% of the scan cells, the sizes of the candidate lists are
list sizes for stuck-at-1 faults and stuck-at4 faults are less than or equal to five.
shown in Figure 5 and Figure 6 respectively. From
Figure 5 we can see that for 135 scan cells the size of the
80 , I

candidate list is one. This means that for 32.9% of the


total scan cells in a scan chain, the technique to
determine the upper and lower bounds can identify the
exact defective scan cell if the defect behaves as a stuck-
at-1 fault. For more than 80% of the total scan cells, the
1 b 9 0 + + + e $ % +
size of the candidate list is less than or equal to five.
Size of Candidate List
These results show that Step 2 of the proposed
procedure can effectively reduce the number of Figure 8: Distribution of candidate list
candidate scan cells. Note that these results are derived sizes for fast-to-rise faults
only by logic simulation of one hundred modified ATPG
The typical distribution of candidate list sizes for hold-
test patterns, which generally executes in a few minutes. time faults are shown in Figure 9. When comparing with
However, fkom Figure 5, it can be seen that there are
the candidate list sizes distribution for transition faults,
some scan cells (about 20% of the total scan cells) that more scan cells have candidate lists consisting one scan
have a candidate list of size six or larger. This tells us cell. Actually, for hold time faults, there are about 35%
that further improvement of the diagnosis resolution
of scan cells have a canddate list consisting of only one
using Step 3 to reduce the size of the candidate list is scan cell. This result should be expected. The reason is
necessary. Similar conclusions can be drawn fiom the
that even though the values of two consecutive scan cells
distribution of the candidate list sizes for stuck-at-0 are required to determine an upper bound or lower
faults reported in Figure 6. In Figure 6, more than 70%
bound for hold time faults, this requirement is much
of scan cells have candidate lists of size smaller than or
looser than those for transition faults because any value
equal to five and about 30% of scan cells have candidate
transition (0 to 1 or 1 to 0) in the two consecutive scan
lists of size six or larger.
cells can be used to calculate the boundary of candidate
70 -, list for hold time faults. We also observed that some scan
cells have a large candidate list which tells us that firther
- U
Q = 40 improvement of the diagnostic resolution is necessary.
fi 30 To improve the diagnostic resolution, we used the
a- 20
E
3
IO matching algorithm to rank the candidate scan cells. In
0 this step, we used one hundred ATPG test patterns to
‘ ~ ~ + + * + Q + $ simulate each candidate scan cell. In this experiment, we
Size o f Candidate List studied some cases where larger sizes of candidate lists
Figure 7: Distribution of candidate list were obtained in the last step. The results are shown in
sizes for slow-to-fall faults Table 2. The first column in Table 2 lists the fault types
The typical distributions of candidate list sizes for of the taqgeting candidate lists. The sizes of the candidate
slow-to-fall faults and fast-to-rise faults are shown in lists are shown in Column 2. Columns 3 and 4 show the
Figure 7 and Figure 8 respectively. While comparing numbers of scan cells with the best score and the number
with the results shown in Figures 5 and 6, the sizes of the scan cells with the second best score. From Table 2, we
candidate list for transition faults are larger than those can see that after score and ranking, the number of
candidate scan cells can be reduced dramatically, and in
Paper 10.2
275

Authorized licensed use limited to: Intel Corporation via the Virtual Library. Downloaded on May 04,2021 at 18:37:33 UTC from IEEE Xplore. Restrictions apply.
most cases, the number of scan cells with the highest are given under the column “Defect Type”. As shown in
score is one or two. This shows that the score and Table 3, units 1, 2 and 3 are injected with scan data
ranking step is very effective to further reduce the stuck-at4 defect, units 4, 5 and 6 are injected with scan
200 1 data stuck-at-1 defect, units 7 and 8 are injected with
I open defects and unit 9 with clock line stuck-at4 defect.
We applied three chain test patterns to the 9 FIB
nn U I injected units. The tester failures are analyzed and the
fault types determined by our program are listed under
column “Type Identified”. For unit 1 through unit 6
which have stuck-at4 fault or stuck-at-1 fault, our
\ h 4 & y + , b $ r p + program correctly determined the defective scan chains
Size of Candidate List and their fault types. Unit 7, which has an open defect in
Figure 9: Distribution of candidate list scan data line, behaves as a stuck-at4 fault, while unit 8,
sizes for hold-time faults which also has an open defect, behaves as SA1 fault.
Our program failed to idenhfj the fault type for unit 9
number of candidate scan cells and hence improve the which has a clock line stuck-at4 defect. Further study of
fin$ diagnosis resolution. It is reasonable to believe that the tester failures shows that the clock line SA0 defect
better diagnosis resolution can be derived if more test behaves as a multiplechain defect and doesn’t match
patterns are applied for score and ranking. any of the fault models described in Section 3.
Table 2: Experimental Results for Score and To determine the range of the candidate scan cells, we
modified 100 logic test ATPG test patterns and applied
them to the FIB injected units. The resulting candidate
scan cells are listed under column “Range”. For four
units,units 2,4, 5, and 7, there is only one scan cell in
the candidate list and they are the exact locations of the
defects. This shows the effectiveness of the proposed
technique to determine the range of the candidate scan
cells. However, there are still several units that have
more than one scan cells in the candidate list. Unit 1 has
35 candidate scan cells, unit 3 has 11 candidates, unit 8
has 2 candidates and unit 9 has 29 candidates. For unit 9,
Slow-to-rise I 6 1 1 we could not finish the fault simulation step because of
fault modeling problem. However, as an enhancement in
We also ran our program on another product with 78 the future, the combination of simple fault models may
scan chains. The longest scan chain has 1542 scan cells. be used to calculate scores for the candidate cells [9].
Two hundred ATPG test patterns are modified with all4 For the other three units, we applied two hundred
or all-1 load values for 6 scan chains. Our simulation original ATPG test patterns, and used matching
results show that the range determination program can algorithm to calculate the scores for the candidate units
identi@ the exact location of stuck-at4 or stuck-at-1 and finally ranked them. For all the three units, the real
fault on any scan cell. defect positions are included in the scan cells with the
highest rank and the finalnumber of candidate scan cells
6.2 Silicon Defect Data have been reduced. The last column in Table 3 gives the
number of scan cells with the highest rank. It can be seen
Experimental results on silicon defect of 9 units are that after ranking, unit 8 and unit 3 have one candidate
provided in Table 3. For each unit, a defect was injected scan cell, which is the real defect position. Unit 1 has 15
to a pre-specified location of a scan chain using focused candidates that cannot be differentiated. However, if
ion beam (FIB). Different chains are selected for the 9 more test patterns were applied to this unit, better
units. The locations of the defects are given under the diagnosis results should be derived.
column “Cell Index”. The types of the injected defects
Paper 10.2
276

Authorized licensed use limited to: Intel Corporation via the Virtual Library. Downloaded on May 04,2021 at 18:37:33 UTC from IEEE Xplore. Restrictions apply.
Table 3: ExperimentalResults on FIB Injected Units
[2] S. Edirisooriya, G Edirisooriya, “Diagnosis of Scan
Path Failures,” Proc. VZSI Tat Symposium 1995, pp.
250-255

[3] S. Narayanan, A. Das, “An Efficient Scheme to


Diagnose Scan Chains,”, Pmc. Intl Test Confeerence,
1997,pp. 704-713

[4]Y Wu, “Diagnosis of Scan Chain Failures,” Pmc.


Int’l Symp. on Defct and Fault Tolerance in VZSI
Systems, 1998,pp. 2 17-222

[5] S. Kudu, “OnDiagnosis of Faults in a ScanChain,“


Pmc. PZSI Test,Sp’. 1993, pp. 303-308
7. Conclusions [6] L. Cheney, N. Sheils, “A Method for Isolating
In this paper, we described a scan chain fault diagnosis Defects in Scannable Sequential Elements”, Pmc. Intel
Design & Test Technology Confrence, 2000
procedure. The scan chain fault diagnosis is performed
in three steps. The first step uses chain test patterns to
[7] K. Stanley, “High Accuracy Flush and Scan Software
determine the faulty chain and the fault type in the faulty
Diagnostic”, Pmc. Is‘ IEEE Workshop on Eeld
chain. The second step uses special test patterns to
identi@ the range of the suspect scan cells. Unlike Optimization & T a t (YOT2000), Oct. 2000
previously proposed methods that restrict the faulty scan
[8] J. Hirase, N. Shindou and K. M o r i , “Scan Chain
cell only from the scan chain output side, our method
restricts the faulty scan cell from both the scan chain Diagnosis using IDDQ Current Measurement”, Pmc.
output side and the scan chain input side. Hence the Asian Test Symposium, 1999,pp. 153-157
number of suspect scan cells is reduced significantly in
this step. The final step further improves the diagnosis [9] S. Venkataraman, S. Dnunmonds, “Poirot:
resolution by ranking the suspect scan cells in the range Applications of a Logic Fault Diagnosis Tool”, IEEE
calculated in the last step. The proposed technique can Design & Test of Computers,Jan-Feb. 2001, pp.19-30
handle stuck-at faults, transition faults, and hold time
faults. The experimental results show that for most of
scan cells the proposed procedure can reduce the
number of candidate scan cells to one.

Acknowledgement
We would like to thank Scott Dnunmonds, Debashis
Nay& for their comments and suggestions. We also
thank Feras Fares and Robert Small for their help in
preparing the FIB injected units and collecting the tester
data.

References
[l] J. Schafer, E Policastri and R. Mcnulty, “Partner
SRLs for Improved Shift Register Diagnostics”, Pmc.
VSLI Test Symposium, 1992,pp. 198-201

Paper 10.2
277

Authorized licensed use limited to: Intel Corporation via the Virtual Library. Downloaded on May 04,2021 at 18:37:33 UTC from IEEE Xplore. Restrictions apply.

You might also like