Multiple defect diagnosis method and machine readable media
09983264 ยท 2018-05-29
Assignee
Inventors
- Pei-Ying Hsueh (Changhua County, TW)
- Chun-Yi Kuo (New Taipei, TW)
- Chien-Mo Li (Taipei, TW)
- Chieh-Chih Che (Taoyuan County, TW)
Cpc classification
International classification
Abstract
A multiple defect diagnosis method includes: receiving a gate-level netlist of a chip, a plurality of test patterns and a plurality of test failure reports; deriving a plurality of seed nets from the gate-level netlist according to the plurality of test patterns and the plurality of test failure reports; utilizing a processor to compute similarity between the plurality of seed nets, and accordingly merging the plurality of seed nets to obtain a single seed net tree; and deriving at least one suspected seed net according to the single seed net tree.
Claims
1. A multiple defect diagnosis method, comprising: receiving a gate-level netlist, a plurality of test patterns and a plurality of test failures of a chip; deriving a plurality of seed nets from the gate-level netlist according to the plurality of test failures and the plurality of test patterns; utilizing a processor to calculate similarities between the plurality of seed nets, to merge the plurality of seed nets accordingly to generate a single seed-net tree; and determining at least one suspected seed net from the plurality of seed nets according to the single seed-net tree, so as to narrow down a defect region of the chip to the at least one determined suspected seed net.
2. The multiple defect diagnosis method of claim 1, wherein the step of deriving the plurality of seed nets from the gate-level netlist according to the plurality of test failures and the plurality of test patterns comprises: obtaining a plurality of erroneous output ports corresponding to the gate-level netlist according to the plurality of test failures, and tracing back from the plurality of erroneous output ports to derive a plurality of stuck-at faults; executing simulations for the plurality of stuck-at faults with respect to the plurality of test patterns, respectively, to generate a plurality of simulation failures, respectively; and deriving the plurality of seed nets from the plurality of stuck-at faults according to the plurality of simulation failures and the plurality of test failures.
3. The multiple defect diagnosis method of claim 1, wherein the step of utilizing the processor to calculate the similarities between the plurality of seed nets comprises: executing simulations for the plurality of seed nets with respect to the plurality of test patterns, respectively, to generate a plurality of seed net simulation failures, respectively; and calculating the similarities between the plurality of seed nets according to the plurality of seed net simulation failures and the plurality of test failures.
4. The multiple defect diagnosis method of claim 1, wherein the step of merging the plurality of seed nets accordingly to generate the single seed-net tree comprises: merging two of the plurality of seed nets with the highest similarity into a first node; and merging two of the unmerged seed nets and the first node with the highest similarity into a second node.
5. The multiple defect diagnosis method of claim 1, wherein the step of determining the suspected seed net according to the single seed-net tree comprises: from the top down dividing the single seed-net tree into at least one cluster, wherein the cluster respectively comprises at least one seed net meeting a first specific condition; and deriving a suspected seed net from each cluster, wherein the suspected seed net is a seed net of a cluster, and corresponds to the most patterns which meets a second specific condition compared with other seed nets of the cluster.
6. The multiple defect diagnosis method of claim 5, wherein all erroneous outputs of a seed net simulation failures of the seed net which meets the first specific condition are the same as erroneous outputs of the cluster, wherein the erroneous outputs of the cluster are a union of all erroneous outputs of respective seed net simulation failures of each seed net of the cluster.
7. The multiple defect diagnosis method of claim 5, wherein erroneous outputs of the test failure result of the pattern corresponding to a cluster to which the seed net belongs are the same as erroneous outputs of the simulation failure result of the seed net corresponding to the cluster to which the seed net belongs, and the erroneous outputs of the cluster are a union of all erroneous outputs of respective seed net simulation failures of each seed net of the cluster.
8. A non-transitory machine readable medium storing a program code, wherein when executed by a processor, the program code enables the processor to perform a multiple defect diagnosis method, the method comprising: receiving a gate-level netlist, a plurality of test patterns and a plurality of test failures of a chip; deriving a plurality of seed nets from the gate-level netlist according to the plurality of test failures and the plurality of test patterns; utilizing a processor to calculate similarities between the plurality of seed nets, to merge the plurality of seed nets accordingly to generate a single seed-net tree; and determining at least one suspected seed net from the plurality of seed nets according to the single seed-net tree, so as to narrow down a defect region of the chip to the at least one determined suspected seed net.
9. The non-transitory machine readable medium of claim 8, wherein the step of deriving the plurality of seed nets from the gate-level netlist according to the plurality of test failures and the plurality of test patterns comprises: obtaining a plurality of erroneous output ports corresponding to the gate-level netlist according to the plurality of test failures, and tracing back from the plurality of erroneous output ports to derive a plurality of stuck-at faults; executing simulations for the plurality of stuck-at faults with respect to the plurality of test patterns respectively, to generate a plurality of simulation failures respectively; and deriving the plurality of seed nets from the plurality of stuck-at faults according to the plurality of simulation failures and the plurality of test failures.
10. The non-transitory machine readable medium of claim 8, wherein the step of utilizing the processor to calculate the similarities between the plurality of seed nets comprises: executing simulations for the plurality of seed nets with respect to the plurality of test patterns, respectively, to generate a plurality of seed net simulation failures, respectively; and calculating the similarities between the plurality of seed nets according to the plurality of seed net simulation failures and the plurality of test failures.
11. The non-transitory machine readable medium of claim 8, wherein the step of merging the plurality of seed nets accordingly to generate the single seed-net tree comprises: merging two of the plurality of seed nets with the highest similarity into a first node; and merging two of the unmerged seed nets and the first node with the highest similarity into a second node.
12. The non-transitory machine readable medium of claim 8, wherein the step of deriving determining the suspected seed net according to the single seed-net tree comprises: from the top down dividing the single seed-net tree into at least one cluster, wherein the cluster respectively comprises at least one seed net meeting a first specific condition; and deriving a suspected seed net from each cluster, wherein the suspected seed net is a seed net of a cluster, and corresponds to the most patterns which meets a second specific condition compared with other seed nets of the cluster.
13. The non-transitory machine readable medium of claim 12, wherein all erroneous outputs of a seed net simulation failures of the seed net which meet the first specific condition are the same as erroneous outputs of the cluster, wherein the erroneous outputs of the cluster are a union of all erroneous outputs of respective seed net simulation failures of each seed net of the cluster.
14. The non-transitory machine readable medium of claim 12, wherein erroneous outputs of the test failure result of the pattern corresponding to a cluster to which the seed net belongs are the same as erroneous outputs of the simulation failure result of the seed net corresponding to the cluster to which the seed net belongs, and the erroneous outputs of the cluster are a union of all erroneous outputs of respective seed net simulation failures of each seed net of the cluster.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION
(9) Certain terms are used throughout the description and following claims to refer to particular components. As one skilled in the art will appreciate, manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following description and in the claims, the terms include and comprise are used in an open-ended fashion, and thus should be interpreted to mean include, but not limited to . . . .
(10) The concept of the present invention is to utilize limited information of the die under test in order to analyze the correlation between elements of the limited information according to the disclosed multiple defect diagnosis method. In this way, a defect region is narrowed down to one or more than one seed net, such that massive iterative simulations on a computer or tests on an ATE can be avoided. Specific descriptions regarding the present invention are given in the following. When multiple defects occur in a die, the failing patterns are divided into three types.
(11)
(12) In step S206, a processor is utilized for executing simulations (a.k.a. fault simulation) for the plurality of stuck-at faults with respect to the plurality of test patterns TP, respectively, to generate a plurality of simulation failures SF, respectively. The plurality of stuck-at faults can be deliberately produced by breaking the construction (e.g. cutting a wire) at the corresponding location of the gate-level netlist N of the circuit C, and then using the processor to execute simulations for the plurality of stuck-at faults by applying the plurality of test patterns TP, respectively, and generating the plurality of simulation failures SF, respectively. In step S208, the plurality of seed nets SN are derived from the plurality of stuck-at faults according to the plurality of simulation failures SF and the plurality of test failures TF, which reduces the nets that need to be considered in the following steps. Determining the seed nets SN requires initial derivation of the seed fault, wherein a seed net includes at least a net of a seed fault. A plurality of seed faults can be screened out from the plurality of stuck-at faults by using equation (1):
.sub.TP(type-1+type-2)Min(Num(TPSF),Num(TFSF))=0(1)
where TFSF denotes outputs observed both in the plurality of test failures TF and the plurality of simulation failures SF; and TPSF denotes outputs observed only in the plurality of simulation failures SF.
(13) Those skilled in the art should readily understand how to identify the plurality of seed nets SN from the seed faults; details thereof are omitted for brevity. Next, the plurality of test patterns TP are applied to the plurality of seed nets SN, respectively, to obtain a plurality of seed net simulation failures SNSF.
(14) In step S210, the plurality of seed nets SN are merged according to similarities within the plurality of seed nets SN. The merging is completed gradually by employing data mining. In this way, the plurality of seed nets SN are merged one after another from the bottom up to establish a single seed-net tree. Please refer to
(15)
where T.sub.i and T.sub.j denote two seed-net trees, L(T.sub.i) and L(T.sub.j) represent the set of seed nets in T.sub.i and T.sub.j, and sim.sub.net(A, B) denotes the similarity between two seed nets A and B.
(16) Equation (3) shows how to calculate sim.sub.net(A, B):
(17)
where SF.sub.A.sup.P and SF.sub.B.sup.P denote the plurality of simulation failures SF of the seed net A and the seed net B by applying a pattern p, respectively. FP represents the set of failing patterns on the ATE. Equation (3) only considers failing patterns, which provide information about culprit defects. SF of passing patterns are ignored in similarity calculation.
(18)
(19) In step S212, the single seed-net tree is divided from the top down into a plurality of sub seed-net trees (i.e. a plurality of clusters). Cluster partitioning will stop when each sub-seed-net tree contains at least one seed net meeting a first specific condition, i.e. a seed net whose failing outputs include all erroneous outputs of the sub-seed-net tree. Failing outputs of a seed net are the union of outputs where the plurality of simulation failures SF is observed by applying any test pattern. Erroneous outputs of a sub-seed-net tree are the union for failing outputs of all seed nets in the sub-seed-net tree. After cluster partitioning, seed nets in a sub-seed-net tree belong to the same cluster.
(20) In step S214, a suspected seed net is found out from each cluster obtained in step S210, where the suspected seed net is a seed net of a cluster, and corresponds to the most patterns which meet a second specific condition compared with other seed nets of the cluster. Given a seed net and a pattern, simulation failure result of the seed net must be the same as test failure results observed at erroneous outputs of the cluster to which the seed net belongs. The erroneous outputs of a cluster are a union of all erroneous outputs of respective seed net simulation failures of each seed net in the cluster.
(21) Please refer to
(22) Compared with the conventional multiple defect diagnosis, the multiple defect diagnosis method disclosed herein can analyze the correlation between the erroneous outputs corresponding to internal suspected seed nets, to find out the most possible locations where the defects occur at one time. The time and cost for iterative testing are therefore effectively reduced.
(23) Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.