1 LOS and LOC in Vlsi Conference-Proceeding
1 LOS and LOC in Vlsi Conference-Proceeding
1 LOS and LOC in Vlsi Conference-Proceeding
1. Introduction
The transition test [Waicukauski 87] is one of the most
widely used techniques to ensure the correct temporal
behavior of the manufactured integrated circuits (ICs). It
consists of a pair of vectors (V1,V2). The first vector, V1,
initializes a logic value at a fault site (a node in a network).
Then, the second vector, V2, launches a transition of logic Figure 2. The concept and waveforms of LOC
values (0Æ1 or 1Æ0) at the fault site and propagates the
Several methods exist to mitigate the timing requirements
transition to an observable point (a scan flip-flop or a
on the scan-enable signal of LOS testing. Level Sensitive
primary output).
Scan Design (LSSD) requires two fast clock signals that
Transition tests are categorized by how they launch could be used to launch and capture transitions
transitions: launch-on-shift (LOS), launch-on-capture [Eichelberger 77]. Another method involves locally
(LOC), and enhanced-scan transition tests. LOS and LOC generating fast scan-enable signals for LOS testing
tests do not require any additional hardware while the [Ahmed 06, Wang 04]. For the rest of the paper, we
enhanced-scan transition test requires special types of assume that the designs considered in this work have
scan flip-flops to apply the test vectors [Dasgupta 81]. capabilities to apply LOS test.
The enhanced-scan transition is not considered in this
The launch-on-capture (LOC) transition test launches a
paper; the focus is only on the first two types of transition
transition through a logic network which is controlled by
tests.
system clock pulses [Eichelberger 91, Savir 94]. In LOC
The launch-on-shift (LOS) test launches a transition of a testing, both launch and capture vectors are initiated by
logic value by the last clock pulse of the scan shift system clock pulses. The concept and waveforms of the
operation [Eichelberger 91, Savir 92], followed by a LOC test are described in Fig. 2.
system clock pulse that captures the transition. Figure 1
In Fig.s 1 and 2, it should be noticed that the second clock
illustrates the concept of LOS testing along with the
pulse (cp2) of LOS and both clock pulses (cp1 and cp2) of
waveforms of clock signal (clk) and scan-enable signal
LOC are system clock pulses. In addition, the LOC test
(SE).
procedure also requires the scan shift operations and
The time period between the launch clock pulse (cp1) and inherently contains the last scan shift clock pulse.
the capture clock pulses (cp2) determines the test However, unlike LOS test, the last shift of LOC need not
application frequency. Note that the scan-enable signal be applied at fast speed.
must fully transition during this time period, and this
of the test sets. In each row, the shortest test length and
4. Experimental Results the highest fault coverage are bold-faced.
We evaluated the test length and fault coverage of LOSC
Table 2 shows that LOSC tests achieved the highest fault
and LOSC tests on some of ISCAS89 and ITC99
coverage. However, the test length of LOSC was
benchmark circuits shown in Table 1.
comparable to LOS test or shorter than LOS test in some
To attain the most efficient LOSC or LOCS test sets, cases.
single test pattern should be generated by the primary
LOCS performs better than LOC, but worse than LOS and
ATPG and filled by the secondary ATPG before the next
LOSC. That is because the LOCS test generation
pattern is considered. In this way, the primary ATPG for
terminates when the primary LOC ATPG cannot produce
the next pattern would not target faults that could be
any more tests for undetected faults, without invoking the
detected by the secondary ATPG for the previous pattern.
secondary LOS ATPG even though some of these faults
However, the commercial ATPG tool is highly optimized could be tested by LOS.
for compaction. Due to the optimization, when the ATPG
The CPU time required to generate these test sets were not
tool generates one test pattern at a time and repeats until
considered in this experiment. The commercial ATPG
all the faults are tested or tried, the resulting test length
tool is optimized to generate pure LOS or LOC tests, but
was abnormally longer than a test generated at once by the
the generation of LOSC and LOCS tests requires
same ATPG tool. It is unfair to compare our approach
invocations of both LOS and LOC ATPGs. In addition,
with the LOS and LOC generated at once due to the
the implementation of LOSC and LOCS is not integrated
optimization performed on the latter. Thus, we settled
into the ATPG tool, but it is rather an augmented form.
with something in between the two extreme cases.
Therefore, in this work, the qualities of the test sets are
For the purpose of fair comparison, all the test sets in this compared without considering the test generation time.
paper were generated in a group of 32 patterns, so that
both the proposed approach (LOSC and LOCS) and the 4.2. Fault Coverage
base case (LOS and LOC) do not benefit from the LOSC and LOCS tests achieve higher fault coverage
optimization of the ATPG tool. compared to LOS and LOC respectively. These
In addition, all the test patterns were generated with the improvements in fault coverage are due to the
default backtracking limit (abort limit of 10) and the undetectable faults under one method (LOC or LOS)
default compaction option (high compaction). being detected by the other method. Table 3 summarizes
undetected faults in each method. Column 2 shows the
4.1. LOSC and LOCS test sets total number of faults in each circuit. Column 3 and 4
represent undetected faults by LOS and LOC test
LOSC and LOCS test sets were generated as described
respectively. Column 5 shows the number of undetected
above. They are compared with LOS and LOC test sets in
faults after applying both LOS and LOC. Finally, column
terms of test length and fault coverage in Table 2. In this
6 and 7 represents undetected faults of LOSC and LOCS
table, columns under label ‘length’ represent test length
test respectively. In each row, the entries with the fewest
and columns labeled as ‘cov’ represent the fault coverages
undetected faults are bold-faced.
In most cases, the combination of LOS and LOC had the test set and LOC detection is insignificant in the
fewest undetected faults, or the most detected faults. beginning of the test set. However, at certain points (at
Table 3 shows that some of LOS undetected faults were pattern number 992 in Fig. 5 and at pattern number 1,312
detected by LOC test and the some of LOC undetected in Fig. 6), the number of LOC detected faults increases
faults by LOS test. Hence, when both LOS and LOC tests while additional LOS detection is minimal.
were applied, the number of undetected faults was the
least. However, it should be noticed that LOSC detected % don't-care bits
100.00%
category of b17 and b18 circuits are plotted in Fig. 5 and 75.00%
Fig. 6 respectively.
8
2
88
84
64
32
12
22
32
41
51
60
70
80
89
99
10
11
12
80,000 Pattern Number
70,000
Figure 7. Don’t-care bit percentages of test patterns (b17)
Detected Faults
60,000
50,000 100.00%
% don't-care bits
40,000
95.00%
30,000 loc detect
90.00%
los detect
20,000
32 192 352 512 672 832 992 1152 1312 1472 85.00%
225000
Pattern Number
205000
185000
Figure 8. Don’t-care bit percentages of test patterns (b18)
Detected Faults
165000
145000 It is well known that, in the last phase of test pattern
125000 generation, a significant number of patterns is required to
105000
gain the last small portion of fault coverage [McCluskey
85000 LOC detect
65000 89]. The patterns generated at the end are less efficient, or
LOS detect
45000 contain many don’t-care bits, which give the secondary
32 320 608 896 1184 1472 1760 2048 2336 2624 2912 3200 3488 3776 4064 4352
ATPG more freedom to produce tests for additional faults.
Pattern Number
Figure 6. LOSC test - detected faults by LOS and LOC (b18) The percentages of don’t-care bits in scan loads of the
primary ATPG (LOS) generated test patterns in LOSC are
In Fig.s 5 and 6, it is shown that the LOS detected faults plotted in Fig.s 7 and 8. In these figures, each column
are the majority of detected faults throughout the entire shows the average percentage of don’t-care bits of 32 test
Fault Coverage
LOCS test were shorter and achieved higher fault 70%
coverage than LOC test. However, the fault coverage of 60%
LOCS test was still lower than LOS or LOSC test. On the 50%
other hand, LOSC test improved fault coverage of LOS LOSC
40%
test, but it sometimes resulted in longer test length. LOS
30%
The increased test length of LOSC over LOS is suspected 32 352 672 992 1312
to be caused by the two-time-frame propagation Pattern Number
requirements of LOS test used in LOSC. To verify this
assumption, LOS test sets generated for original circuits Figure 9. Fault coverage comparison of LOS and LOSC (b17)
and the unrolled circuits (faults propagated over two time
frames) are compared in Table 4. 100%
90%
Table 4. Comparison on LOS of original and unrolled circuit
Fault Coverage
80%
LOS LOS Unroll LOSC 70%
circuit
length fc (%) Length fc (%) Pat fc (%) 60%
50%
s13207 172 99.63 217 99.61 140 99.66 40% LOSC
s13580 152 99.74 184 99.69 137 99.87 30%
LOS
s38417 257 98.08 293 98.24 191 99.76 20%
32 672 1312 1952 2592 3232 3872 4512
s38584 173 99.80 206 99.80 208 99.87
Pattern Number
B17 1,305 81.27 1,654 81.17 1,264 87.52
B18 4,521 84.91 5,773 83.38 4,404 89.29 Figure 10. Fault coverage comparison of LOS and LOSC (b18)
B19 9,602 84.33 11,823 82.76 6,400 88.35
In these figures, the fault coverage of LOS is higher than
B20 1,240 96.12 1,258 95.13 1,446 96.80 LOSC at the first portion of the test set. But, in the later
B21 1,199 96.17 1,218 95.42 1,434 96.69 part of the test set, LOSC achieves higher fault coverage
B22 1,413 96.47 1,617 95.64 1,692 96.77 than LOS. The cross-over points are at pattern number
992 in Fig. 9 and pattern number 1,056 in Fig. 10. These
In Table 4, columns under ‘length’ represent the test points are the same or very close to where the number of
lengths and columns under ‘fc’ show the fault coverages. don’t-care bits (Fig.s 7 and 8) and the LOC fault
The test lengths for the unrolled circuits were always detections are increased (Fig.s 5 and 6).
longer than the tests for the original circuits. However, If the highest possible fault coverage is desired, LOSC
LOSC tests were usually shorter than LOS for unrolled test is better than LOS test. If the test length is the
circuits and sometimes even shorter than LOS for original concern and the test has to be truncated, LOSC has higher
circuits. This is when the additional fault detection by fault coverage as long as the test set is truncated after the
LOC in LOSC test compensated the test length penalties cross-over point (pattern number 992 of b17 LOSC test
from the two-time-frame propagations of unrolled LOS. and pattern number 1,056 of b18 LOSC test).
The test length reduction of LOSC over unrolled LOS can
also be coming from the mixed use of LOS and LOC. As 4.4. Launch-on-shift with Launch-on-capture top-off
discussed above, a significant number of patterns are used We think that LOSC and LOCS tests achieved higher fault
to test hard-to-detect faults at the end of test generations. coverages because they use both LOS and LOC methods.
However, hard-to-detect faults in LOS are not necessarily Hence, it would be natural to compare LOSC tests with
hard-to-detect in LOC. When this is the case, the pattern combinations of LOS and LOC tests.
s13207 172 99.63 144 99.47 144 99.47 144 99.47 NA NA 140 99.66
s13580 152 99.74 107 97.21 145 99.46 145 99.46 145 99.46 137 99.87
s38417 257 98.08 189 99.08 231 99.49 231 99.49 NA NA 191 99.76
s38584 173 99.80 177 98.31 238 99.63 238 99.63 238 99.63 208 99.87
b17 1,305 81.27 1,090 83.99 1,330 85.83 1,563 86.90 1,680 87.11 1,264 87.52
b18 4,521 84.91 3,142 84.42 3,518 87.21 3,823 88.20 3,990 88.47 4,404 89.29
b19 9,602 84.33 5,396 81.26 5813 84.53 6,257 86.22 6,382 86.53 6,400 88.35
b20 1,240 96.12 1,103 95.11 1,154 95.30 1,464 96.11 1,830 96.62 1,446 96.80
b21 1,199 96.17 1,065 93.99 1,293 95.15 1,671 96.30 1,795 96.54 1,434 96.69
b22 1,413 96.47 1,070 93.18 1,253 94.43 1,572 95.60 1,867 96.57 1,692 96.77