You are on page 1of 6

2017 IEEE 26th Asian Test Symposium

Test Coverage Analysis for Designs with Timing Exceptions

Kun-Han Tsai Srinivasan Gopalakrishnan


Mentor, A Siemens Business Qualcomm India Private Limited
Wilsonville, OR 97070, USA Chennai, Tamil Nadu 600096, India
Email: hans_tsai@mentor.com Email: srgopala@qti.qualcomm.com

Abstract —Timing exceptions (e.g. false and multicycle paths) studies on various types of timing exceptions in SDC are
are commonly applied to optimize the performance and meet illustrated. In [1] the methodology is further enhanced for both
timing requirements. These timing exceptions are presented as hold time and setup time exception paths to handle any fault
extra constraints during test generation to ensure the models, e.g. the stuck-at, transition, path delay and user-defined
correctness of the pattern set. Without considering the impact fault models. The method directly reads in the timing
on test quality, timing exceptions often result in unpredictable exceptions provided in the standard SDC format and uses this
test coverage impact. This paper proposes a systematic information to generate correct-by-construction test patterns.
approach involving both the design and test phases to This method minimizes the number of unknowns by accurately
achieving high test quality while meeting the design timing analyzing the sensitization of timing exceptions in each test
requirements. pattern during its creation. Based on the similar approach as [1],
an enhanced at-speed solution is proposed to test both single
I. INTRODUCTION and multicycle paths while preventing any simulation
Achieving high test coverage, including static and at-speed mismatches due to timing exceptions [5].
test quickly is a key test objective for any modern high- It has been observed in many industrial designs that the
performance IC design with a short development cycle. One of timing exceptions can significantly reduce the test coverage of
the main challenges for achieving such goal is the handling of both stuck-at and transition faults. Since the timing exceptions
the complex design constraints. are created during the design optimization phase, there is no
Multiple scan test modes with different timing constraints effective method today to evaluate the test coverage impact
are commonly seen today to achieve the test quality before the ATPG phase. Consequently, the design may suffer
requirements and meet the design timing constraints. When from low test coverage and require extreme effort to achieve
generating scan tests, the automated test pattern generation the required test quality. In [3], a novel approach was proposed
(ATPG) tool must avoid false failures on the tester caused by to analyze the timing exceptions and collect the X-statistics as
exercising paths that are not designed to propagate logic values a guidance to debug the low-test coverage due to timing
within a single clock cycle[7][8][9]. These paths are known as exceptions. However, the approach introduced in [3] does not
timing exceptions, and they can include false paths, multicycle take the timing slack information into account and may identify
paths, asynchronous clock groups, set_disable_timing and the timing exceptions that are hard to eliminate in the design
set_case_analysis described in SDC files. False paths are often phase. In this paper, a systematic approach is proposed to
not exercisable in the functional mode but may be exercisable enable cooperation between the design and test generation
during scan test. Multicycle paths are designed such that phases to optimize the test coverage so the design can obtain
expected values are only available at the destination after some high test coverage while meeting timing requirements. In
specified number of cycles. They allow the timing optimization addition, to identifing the problematic paths as described in [3],
tools to better optimize a design by relaxing timing the proposed approach further analyzes the critical part of the
requirements and overriding the default single-cycle clock path that most impacts the test coverage. Such detailed analysis
constraint. Considering timing exceptions is essential to is important because a timing exception path can include
generating both static and at-speed test patterns that achieve hundreds or thousands of –through points and often just a small
high quality and avoid yield loss. number of them impact the test coverage most.
In order to ensure correct operation of sequential circuit There are two main contributions for this paper. First, the
elements, data and control inputs are held constant for specified accurate handling of the hold time exceptions including
time periods before and after any clock events. In this context, multicycle paths is proposed. The accurate hold time exception
the time period before the clock event is called setup time, and handling is one of the key steps to achieving the high-quality
the time period after the clock event is called hold time. A static and at-speed tests. Accurate handling of the hold time
setup-type timing exception does not meet the setup time exceptions without under-masking or over-masking is a non-
requirements. A hold-type timing exception does not meet the trivial problem due to different clock skews and potential glitch
hold time requirements. Setup-type timing exceptions may across multiple timing exceptions. In addition, multiple cycle
affect test response of at-speed test patterns, whereas hold-type hold time exceptions further complicate the situation. The
timing exceptions may affect test response of any test patterns. paper explains the details of the hold time exceptions that are
A path-oriented approach to handling timing exceptions not yet covered by any publications. Combing the proposed
during at-speed scan pattern generation has been proposed in hold time and existing setup time exceptions handling makes
[2] to handle the setup timing exceptions. In [4], the case the complete solution. Second, a systematic test coverage
analysis is proposed to enable cooperation between the timing

2377-5386/17 $31.00 © 2017 IEEE 164


DOI 10.1109/ATS.2017.41
analyzer and the ATPG tool to improve the test coverage under restored before the masking effect simulated in Eex because
the necessary timing constraints. there may be true paths through the Iex cone which should not
be impacted (e.g. U1/Q to G2/A path in Figure 1).
The paper is organized as follows. In Section II, the
At-speed test patterns are sequential in nature and they have
previously published works used by the paper are described.
multiple capture cycles. The sensitization checks for the timing
The hold time exceptions covered by previous publications are
exceptions are performed for each time frame in a given test
explained in Section III. In section IV, a systematic approach
pattern as described above. While checking path sensitization,
to analyzing millions of timing exceptions and provide
the affected end points are identified before restoring the
feedback to improve the test coverage is proposed. The
original circuit state. Xs are then injected at the affected end
experimental results on some industrial designs are shown in
points. The test responses are computed by propagating
Section V followed by conclusion in Section VI.
forward the effects of these injected Xs.
II. PRELIMINARIES The impact of timing exceptions to the capture value of
downstream flops depends on the exception type. A setup-type
This section briefly explains the previously published works exception will impact a flop’s capture value at the next cycle
on the timing exception handling. First, the static timing after an unreliable transition is launched. In contrast, a hold-
exception analysis is described. Second, the masking of cross type exception will impact a flop’s capture value at the cycle in
clock domain transitions based on a per-pattern false path which an unreliable transition is launched. To illustrate the
simulation method is explained. difference, consider the circuit in Figure 1 where flop U1/Q
A. Static Timing Exception Analysis launches a rising transition at cycle-1 and propagates to U3/D
through a false path. The setup-type exception implies that the
The timing exceptions are statically analyzed to identify false path can be longer than one cycle and will impact the
the timing exception intersection cone, denoted as Iex, and the capture value of flop U3 when ck2 is pulsed at cycle-2. The
timing exception effect cone, denoted as Eex [1] as shown by timing diagram of setup-type exception is shown at the left side
an example in Figure 1. Iex is the combinational cone between of Figure 2, which indicates that U3 will capture X at cycle-2.
-from points and –to points of all timing exceptions. Iex is The right side of Figure 2 shows the hold-type exception impact
combinational fanout cone of the –to points of all timing when both ck1 and ck2 are pulsed at cycle-1.
exceptions. This analysis is implemented by static forward and Setup-type exception impact Hold-type exception impact
backward traversal of the netlist for every defined path, which cycle-1 cycle-2 cycle-1
is linear time complexity to the netlist gate count and the ck1 ck1
number of timing exceptions. The –from and –to points are U1/Q U3/D
associated with each path, but Iex and Eex include the union of U3/D ck2
all paths. These analysis cones are used later during pattern U3/CK
ck2
simulation to effectively mask unreliable transitions.
U3/Q U3/Q

set_false_path –from [get_clocks {clk1}] –through [get_pin {G3/A}]


Effect cone
Figure 2. Setup vs. Hold Type Exception Impact to U3/Q in Fig. 1
U1
Intersection
cone Iex
Eex U3 This example reflects one real scenario when ck1 and ck2
-from 0→ X ?
1
D Q 0→ 1
A
G1
-to
A 0 X
→ f D Q are not skew balanced, but the clock skew is still within one
B 1→ X G3 A
CK
B
1→ 1
B
G4 CK cycle. So the hold-type exception only masks the capture value
ck1 True paths ck2
U4
of the same cycle. If the clock skew of ck1 and ck2 is larger than
U2 A
G2
1→ 0 0→ X A 0→ 0 D Q 1
one cycle (which can happen for total asynchronous clocks),
1 1 1

D Q
B
0→ 0
B
G5
the masking effect of the hold-time exception would need to be
CK
ck2 CK ck2
considered for the clock waveform shown at the left side of
Figure 1. A Timing Exception Example
Figure 2. More considerations are required for the accurate
handling of the hold time exceptions as explained in section III.
B. The Dynamic Per-Pattern Analysis
III. THE HOLD TIME EXCEPTIONS
The dynamic analysis is done for each ATPG pattern
utilizing the information from the static analysis. The logic There are three main problems to be conquered for the hold
values at the –from points of a timing exception are examined. time exception beyond the basic masking effect described in
If an at-speed transition is found at a –from point, the original earlier publications. The first issue is the maximum clock skew
logic value is stored and the logic value X (representing in term of the capture cycles. Section III.A describes the
unknown logic value) is injected. The logic value X is also algorithm to handle hold time across asynchronous clock paths
injected at a –from point if there was a past at-speed transition where the multiple cycle clock skews can happen. The second
at that point in the given pattern. This is done because the delay issue, referred to as the cascaded hold time effect, happens
along a timing exception may not be known. Once Xs are when an unreliable transition shoots through multiple hold time
injected at the –from points, their effects are simulated forward exceptions. Without correct handling, this situation will result
in the Iex cone. If logic value X is propagated at –to points, the in under-masking as explained in section III.B. Finally, hold
corresponding timing exception is sensitized and the X will be time exceptions in multiple cycle paths must be tightly
further propagated to the Eex cone. The X injected in Iex will be

165
correlated with the static timing analysis tool to obtain the To handle the cascaded hold time effect properly, the
accurate masking effect as illustrated in section III.C. dynamic per-pattern analysis described in section II.B is
enhanced to iterate the simulation until the values are all
A. Multiple Cycle Clock Skew stabilized.
There are different assumptions of the maximum clock C. Multiple Cycle Path Hold Time Effect
skew range for the hold time exceptions and they must be
The multicycle hold edge is related to the setup edge of the
considered properly to obtain the accurate masking. Figure 3
same path. To accurately handle multicycle hold time, it is
summarizes the possible assumptions by using the clock
necessary to pair up the multicycle setup path with the
waveform to illustrate the difference. When the clock skew
corresponding hold time path to determine the accurate hold
between source and sink flops is arbitrary, the masking effect
time exception.
must look through all cycles to determine the sink flop value.
If a multicycle of “n –setup” is specified and the same path
Case a) shows the hold time assumption of half-cycle
of “m –hold” is specified, the hold time check edge, eh, is (n-m-
maximum skew so the skew can happen only within the same
1). Only if eh is less than zero, the hold time masking will
clock edge. The leading edge event will not cause hold time
happen. In typical multicycle paths, m is equal to (n-1) so eh is
masking effect to impact the downstream trailing edge event.
equal to 0 and no hold time masking is required. Note that this
Case b) is one-cycle maximum skew that the hold time masking
check must pair up hold time and setup time of the same
can impact within the same cycle of any edges. Under case b),
multicycle paths together. A hash table using multicycle path
a trailing edge flop can capture an unreliable value of an
definition points is utilized here to handle such pair-up
upstream leading edge flop. However, the hold time effect does
efficiently.
not propagate further to next cycle.
a). half-cycle effect b). one-cycle effect c). multiple-cycle effect
cycle-1 cycle-1 cycle-1 cycle-2 IV. THE CONSTRAINT-ORIENTED TEST COVERAGE
ck1 ck1 ck1 ANALYZER
U3/D U4/D U1/Q
In this section, we present the proposed algorithm to
ck2
ck2 ck2 systematically identify the timing exceptions with the most
U4/CK U4/CK
U3/CK impact to the test coverage. The goal of this analysis is to
U3/Q U4/Q U3/Q identify a small number of timing exceptions causing most of
Figure 3. Hold-type Exception Impact with Different Cycle the test coverage drop so they can be reviewed by designer to
Assumption to U4/Q in Fig. 1 eliminate these constraints to improve the test quality. In
addition, an exact test coverage gain achieved by eliminating
The last case c) is the most conservative assumption with the identified timing exceptions will be derived as part of the
multiple-cycles maximum skew. This assumption typically analysis so it help users to justify the benefit. In many highly
applies on asynchronous clock domains, which can have reliable designs, such qualitied test coverage improvement is
arbitrary clock skew. The user could force the tool to pulse crucial for the DPPM reduction.
those asynchronous clocks together to reduce the pattern count
There are a couple of measurement steps described first.
where the false path cross domains are added to mask the
Section A explains the SDC X-Statistic analysis to order the
unreliable transition across clock domains [6].
timing exceptions that will be analyzed by ATPG. The fault-
oriented analysis to improve the X-Statistics ranking accuracy
B. Cascaded Hold Time Effect
is described in section B. The timing consideration to better
The hold time exceptions must be handled within the same integrate with a static timing analyzer is given in Section C
edge between the source and sink flops. Sometimes, the sink followed by the overall algorithm in section D.
flop of a false path is also a source flop of another false path,
A. The SDC X-Statistic Analysis
which creates a cascaded hold time effect. Figure 4 shows an
example of the cascaded hold time effect. A transition on U1/Q There can be millions of timing exception paths in a real
will shoot through U2,causing U3 to be unstable. If there are design, but only a few of them have nontrivial impact to the test
other hold time false path from U3, the cascaded effect will need coverage. Finding the top timing exceptions that contribute to
to be propagated further down the same clock edge. lost test coverage will help test engineers to improve the test
coverage. The SDC X-Statistics analysis is the proposed
set_false_path –from [get_clocks {clk1}] –to [get_clocks {clk2}] heuristic to accomplish this goal. The SDC X-Statistics analysis
set_false_path –from [get_clocks {clk2}] –to [get_clocks {clk3}] is embedded as part of the dynamic per-pattern analysis to
collect the number of unreliable transitions obtained at –to
U1
111
-from
A
-to
100
U2 -from
-to U3
points in each timing exception. It records the number of
111
ck1
D Q 011
B
G1 D Q A
G4
111
D Q
011 pattern bits that timing exceptions are actually masking. The
111 B
CK ck2 CK 111
CK
heuristic is based on an observation that a timing exception path
ck3
-hold false path1 -hold false path2 with more Xs seen at –to points often cause more test coverage
drop. By tracking the Xs of each timing exception and sorting
paths according to X counts, the paths with the largest number
Figure 4. A Cascaded Hold Time Exception Example

166
of Xs can be considered as the ones that cause the most test analysis could result in excluding the timing exceptions with
coverage drop. large negative slack, which cannot be easily fixed. So it is
important to collect the timing information as part of the
B. The Fault-Oriented X-Statistics Analysis analysis. However, there could be a huge number of timing
The SDC X-statistics described in the previous section is a paths included in a design with millions of timing exceptions
fault independent analysis, which makes it run time efficient. and the analysis effort to get all slack information of the timing
However, some masking bits may not be related to the fault exceptions can be large. To reduce the effort, the SDC X-
detection. To improve the accuracy of the X-statistics analysis, statistics can be performed first to identify the timing
a fault-oriented cone marking is performed to eliminate the exceptions that can cause major masking during ATPG.
masking bits that are unrelated to the target faults. The analysis Typically, only a small percentage of timing exceptions can
starts with a given set of faults, Ftarget, that are undetected due create a masking effect of 1% or more as shown in Table 1 of
to the SDC timing exceptions. For example, in Figure 5 the section IV. Only the timing exceptions with such non-trivial
timing exception cone, Cex, (defined as Iex+Eex), is marked as a masking effect need to be taken to the timing analyzer to collect
green cone. There are 7 scan cells, c1 to c7, in the cone and will the detailed slack data for the SDC test coverage analysis.
be counted by SDC X-statistics. Let Ftarget be {f1, f2}, the fault- During the slack analysis, it is also important for the design
oriented analysis marks the fault cone, Cf, and identifies the team to review the timing exceptions and decide the maximum
scan cells that are both in the inputs of Cex and Cf as the relevant slack paths that could possibly be fixed. For the timing
masking PI cell list, Rpi = {c1, c2 c3, c5, c6, c7}. It also identifies exceptions that are too costly to be fixed, they will be marked
the scan cells that are both in the outputs of Cex and Cf, as as hard timing constraints and will not be removed in the SDC
relevant masking PO cell list, Rpo = {c2, c6}. The union of Rpi test coverage.
and Rpo is the relevant masking cell set (referred as Rex) which
SDC X-statistics should be monitored. Rex is {c1, c2 c3, c5, c6, D. SDC Test Coverage Analyzer – Overall Algorithm
c7} for this example. The other cells outside Rex does not need The user can disable the top timing exceptions paths and run
to be monitored. incremental ATPG to evaluate the test coverage improvement.
This process, as summarized in Figure 6, is done until the test
coverage goal, Tgoal, is achieved and the return set, Pret, contains
the timing exceptions to be disabled. The routine also stops
when the number of disabled timing exceptions reaches the
user-specified threshold, maxp.
SDC_Test_Coverage_Analyzer(float Tgoal, int maxp){
1. Run ATPG with timing exceptions to obtain the base-line test
coverage Tini and the detected fault list Fini.
2. Run ATPG without timing exceptions to obtain the best test
coverage Tbest and the detected fault list Fbest.
3. Identify the target fault list Ftarget = (Fbest – Fini)
4. Performing fault cone analysis and extract the hard timing
exception paths that are in the fault cones, P(Ftarget)
5. Run ATPG targeting Ftarget with timing exceptions P(Ftarget) -
Pret and record X-Statistics of each path in P(Ftarget) - Pret, and
obtain the revised test coverage T. Also drop detected faults
Figure 5. A Fault-oriented X-Statistics Example from Ftarget. If (T > Tgoal) or (T == Tbest) goto step 8
6. Move the path with the largest number of Xs but not a hard
The fault-oriented SDC X-statistics only accumulates the constraint from P(Fex) to Pret
masking bits on the targeted fault list so it can more accurately 7. If (|Pret | < maxp) go to step 5 else go to step 8
reflect the masking effect of the timing exceptions to the 8. return Pret
relevant fault list Ftarget. Ftarget can be derived by running ATPG }
with and without SDC constraints separately and finding the
Figure 6. The SDC Test Coverage Analyzer to Find the Top
difference of the detected faults, which are the faults undetected Timing Exceptions to Achieve the Test Coverage Goal
due to SDC timing exceptions.
The high-level analysis which combines ATPG and a Static
C. The Slack-Guided Analysis Timing Analyzer is shown in Figure 7. This analysis is fault
Once the test coverage goal is achievable with the type independent and can be applied to both static and at-speed
identified timing exceptions, the revised SDC file with the fault types. However, the timing constraints can be different
reduced timing exceptions needs to be read into the static between the static and at-speed faults due to the different test
timing analyzer to ensure the timing verification passes. If the clock source and speed. For example, the setup false paths may
timing verification does not pass, the physical design may need not be required for the stuck-at fault because of slow speed.
to be optimized to get rid of the new timing violations. Without Since timing exceptions in the static test will most likely to be
using timing information, the constraint-oriented test coverage presented in at-speed test, it is recommended to apply this

167
analysis in the static fault type first. The test coverage IV. EXPERIMENTAL RESULTS
improvement by analyzing the static type will also benefit at-
speed test. The at-speed fault type analysis (e.g. the transition The proposed methods are applied to six industrial circuits
fault type) can then be applied and focus on the setup timing with the design size range from 304K to 14.5M flat gate count.
exceptions. The characteristics of the circuits are summarized in Table 1.
The second and third columns list the number of gate count
(|G|), and the number of timing exceptions (|Pex|). The fourth
column shows the percentage of timing exceptions that contain
masking bits more than 1% of the worst case masking path (%
|Pm|). The result indicates that a very small percentage of timing
exceptions will result in major coverage impact. So only these
few timing exceptions with large masking effect need to be
analyzed by a static timing analyzer to derive the slack data.
The last two columns depict the percentage of the timing
exception intersection cone (%|Iex|) and effect cone (%|Eex|).
The data indicates that the timing exception cones cover over
95% of the design for D1. It helps to explain the large test
coverage impact for D1 (64.1%). Such a design certainly
deserves further investigation to understand the root cause of
Figure 7. High-Level Test Coverage Analysis Flow with A the test coverage drop. Design D2 to D4 represent more
Static Timing Analyzer
common cases where the Iex and Eex cones range from 4% to
32%. The data shows that a larger size of such cones does not
Utilizing fault-based X-statistics analysis with ATPG is a
necessary result in a bigger test coverage drop. The test
good way to evaluate the test coverage impact of the top timing
coverage impact depends on the number of the transitions
exceptions. The algorithm identifies the minimum number of
sensitized in the timing exception cones which mask the faulty
paths with largest test coverage impact. The output allows test
effect. Such masking effect can only be measured by the
engineers to report the timing exceptions causing low test
dynamic per-pattern analysis. It is also worth mention that a
coverage to the design team for further optimization.
fewer number of timing exceptions does not imply smaller Iex
and Eex. This is because each timing exception can include
E. Detail Analysis for Low Coverage Paths
multiple –from and/or –to points and represent a group of paths.
Often a timing exception contains many paths and affected Thus a small number of timing exceptions still can create large
flops. The main test coverage impact may be just on some Iex and Eex.
partial path, instead of the complete path. A detailed analysis
will give the designer better guidance to further analyze which Table 1 Design Timing Exception Characteristics
affected flops are most important to fix. If only fixing partial |G| |Pex| % |Pm| %|Iex| %|Eex|
path is sufficient to achieve the test coverage goal while
D1 304K 351 2.85% 95.31% 88.74%
meeting the timing constraint from the SDC file, the timing
D2 2.4M 6.7K 0.39% 31.35% 22.70%
exception can be partitioned into multiple paths and only the D3 4.7M 647K <0.01% 4.11% 16.29%
paths with major test coverage impact need to be removed. For D4 11M 58K 0.07% 6.27% 11.67%
example, Figure 8 illustrates an example of a timing exception D5 14.5M 39K 0.10% 18.21% 1.73%
path p1, “set_false_path –through G1/Z” that can be revised to D6 20.0M 7K 1.0% 12.00% 40.00%
p1’, “set_false_path –through G1/Z –to c3/D c6/D c7/D” to
|G|: # of gates, |Pex|: # of timing exceptions
eliminate the major coverage impact and still meet the timing % |Pm|: % of timing exceptions with masking effect larger than 1%
requirement. %|Iex|: % of timing exception intersection cone
%|Eex|: % of timing exception effect cone

The SDC test coverage analysis is performed on these six


designs and the results are summarized in Table 2. The first
five designs show the test coverage analysis of the transition
fault model and the last design applies the analysis on the stuck-
at fault model. The second column records the best test
coverage that can be achieved (Tbest), which is ATPG without
any SDC timing exceptions. These faults are removed from the
ATPG target fault list to improve the performance. It is also
removed from the at-speed test coverage calculation as they
will not impact the correctness of the at-speed operation. The
initial test coverages by considering all of the timing exceptions
are shown in the third column (Tini) and the user-specified
Figure 8. An Example of A Timing Exception that is Revised target test coverages (Tgoal) are depicted in the fourth column.
with X-statistics and Slack Information The threshold maxp is set to 20 in our experiment and is not

168
been reached for all cases. The numbers of top timing Note that the experiment does not perform the static timing
exceptions to be disabled to obtain the target test coverage are analysis to identify the hard timing exceptions due to the lack
given in the last column. The result indicates that by just of timing file to run slack analysis for these cases.
excluding very few timing exceptions (two to five paths), the
target test coverages can be achieved for all four cases. For V. CONCLUSION
example, design D4 contains 58K timing exceptions and obtains Test generation to handle the timing exceptions is a
56.48% test coverage initially when all timing exceptions are necessity for many of the modern designs with complex timing
applied. By performing the proposed analysis in Figure 6, it can closure and multiple test modes. In this paper, we present a
reach the target test coverage 90.5% by just disabling four false systematic approach to help automatically debug the test
paths. The initial test coverage (Tini) for D1 is unusually low coverage issues caused by a large number of timing exceptions.
(19.54%). The proposed analysis identifies two main Once the timing exceptions are loaded (typically using SDC
problematic paths on the test clock domain which should not be file), the proposed method efficiently identifies the top timing
false paths in the test mode. These paths were given to the exception paths causing most of the test coverage drop. With
ATPG tool incorrectly by using the functional mode SDC files. the incremental ATPG run, the test coverage gain can be
The proposed analysis allows the user to identify these accurately calculated. By sharing the timing exception slack
problematic paths effectively without requiring any design information between timing optimization and test pattern
changes. Without the proposed method, it will take major effort generation steps, the proposed methodology allows users to
to spot the problem manually. improve the test coverage with minimum design changes. Six
Table 2 Result of the SDC Test Coverage Analysis randomly pick designs shown in the paper demonstrate that by
Tbest Tini Tgoal | Pret | fixing a few timing exception paths, the test coverage can be
D1 97.44% 19.54% 92.0% 4
improved significantly. In addition, several hold time exception
D2 82.89% 59.72% 80.5% 5 issues such as cascaded hold time paths and multicycle paths
D3 87.66% 84.52% 86.5% 5 are presented and explained for the accurate timing exception
D4 93.87% 56.48% 90.5% 4 handling.
D5 76.85% 73.74% 76.0% 2
D6 97.00% 93.50% 94.5% 5
Tbest: test coverage without timing exceptions
Tini: initial test coverage with all timing exceptions
Tgoal: target test coverage REFERENCES
|Pret|: # of removed timing exceptions to achieve the target test coverage
[1] D. Goswami, K.-H. Tsai, M. Kassab, T. Kobayashi, J. Rajski,
“Test Generation in the Presence of Timing Exceptions and
To further analyze the top timing exceptions and the impact Constraints”, Design Automation Conference 2007, pp. 688-693.
to the test coverage, the X-statistics data and the incremental
[2] V. Vorisek, B. Swanson, K.-H. Tsai, D. Goswami, “Improved
test coverage gain of the first 10 paths for design D4 is depicted
Handling of False and Multicycle Paths in ATPG”, Proc. IEEE
in Figure 9. Initially, the test coverage is only 56.48%. By VLSI Test Symposium, 2006, pp. 160-165
disabling the first timing exception (which eliminates over
[3] K.-H. Tsai, “Test Coverage Debugging for Designs with Timing
270M Xs), the test coverage jump up to 89.18%. The test Exception Paths”, VLSI-DAT 2016
coverage further goes up to 89.85% and 90.24% respectively
[4] D. Goswani, K-H Tsai, M. Kassab, T. Kobayashi, J. Rajski,
when disabling the second and third timing exception. The
B. Swanson, D, Walters, Y. Sato, T. Asaka, T. Aikyo, “At-
incremental test coverage gain starts to saturate after a few Speed Testing with Timing Exceptions and Constraints-Case
paths are disabled while the number of Xs due to the Studies”, ATS 2006, pp153-162
corresponding paths is decreasing dramatically.
[5] K.-H. Tsai, X. Lin, “Multicycle-Aware At-speed Test
Methodology”, ATS 2013, pp 49-55
͓Ǧ•‘ˆ–‘’ǦͳͲ–‹‹‰‡š…‡’–‹‘• [6] K.-H. Tsai, J. Rajski, “Clock Domain-Aware Test for Improving
Test Coverage Pattern Compression”, VLSI-DAT 2015, pp 1-4
͵ͲͲͲͲͲͲͲͲ 90%
[7] B. Cory, R. Kapur, B. Underwood, “Speed Binning with Path
ʹͷͲͲͲͲͲͲͲ 80%
Delay Test in 150-nm Technology”, IEEE Design & Test of
ʹͲͲͲͲͲͲͲͲ 70% Computers, Sept.-Oct. 2003, pp. 41-45.
ͳͷͲͲͲͲͲͲͲ 60% [8] K. S. Kim, S. Mitra, P. G. Ryan “Delay Defect Characteristics
ͳͲͲͲͲͲͲͲͲ 50% and Testing Strategies”, IEEE Design & Test of Computers,
ͷͲͲͲͲͲͲͲ 40% Sept.-Oct. 2003, pp. 8-16.
Ͳ [9] J. Saxena, K. Butler, J. Gatt, R. Raghuraman, S. Kumar, S. Basu,
D. Campbell, J. Berech, “Scan-Based Transition Fault Testing –
Implementation and Low Cost Test Challenges”, Proc.
International Test Conference, 2002, pp. 1120-1129.

Figure 9. The Top-10 X-Statistics Timing Exceptions and


Impact to Test Coverage for Design D4

169

You might also like