IP Library Granted Patent US 10,509,073
Granted Patent B2
US 10,509,073 · App. 15/664,169 · Granted Dec 17, 2019

Timing-aware test generation and fault simulation

Inventors: Xijiang Lin (West Linn, OR); Kun-Han Tsai (Lake Oswego, OR); Mark Kassab (Wilsonville, OR); Chen Wang (Tigard, OR); Janusz Rajski (West Linn, OR)
Assignee: Mentor Graphics Corporation
G01R31/318328G01R31/3177G01R31/31835G01R31/318357G06F17/5009
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,509,073
App. No.
15/664,169
Granted
Dec 17, 2019
Kind
B2
Abstract

Disclosed herein are exemplary methods, apparatus, and systems for performing timing-aware automatic test pattern generation (ATPG) that can be used, for example, to improve the quality of a test set generated for detecting delay defects or holding time defects. In certain embodiments, timing information derived from various sources (e.g. from Standard Delay Format (SDF) files) is integrated into an ATPG tool. The timing information can be used to guide the test generator to detect the faults through certain paths (e.g., paths having a selected length, or range of lengths, such as the longest or shortest paths). To avoid propagating the faults through similar paths repeatedly, a weighted random method can be used to improve the path coverage during test generation. Experimental results show that significant test quality improvement can be achieved when applying embodiments of timing-aware ATPG to industrial designs.

Claims (145)

1. A method of generating test patterns for testing an integrated circuit, comprising:

identifying a fault that is detected by a test pattern by simulating a response of an integrated circuit design to the test pattern in the presence of the fault and identifying one or more paths that are sensitized by the test pattern and that detect the fault;

computing a static path delay for a selected sensitized path through the identified fault;

determining whether a criterion based at least in part on the static path delay is met for the identified fault;

modifying a fault list by removing the identified fault if the criterion is met; and

storing the modified fault list,

wherein either:

(a) the selected sensitized path is the longest sensitized path, and the act of determining whether the criterion is met comprises determining whether:

T

TC

-

PD

f

s

T

TC

λ

where PD f s is the static path delay through the longest sensitized path for the fault f, T TC is the test clock period, and λ is a real number between 0 and 1; or

(b) wherein the selected sensitized path is the shortest sensitized path, and the act of determining whether the criterion is met comprises determining whether:

T

TC

-

HPD

f

s

T

TC

<

λ

where HPD f s is the static path delay through the shortest sensitized path for the fault f, T TC is the test clock period, and λ is a real number between 0 and 1.

2. The method of claim 1 , wherein the criterion is a first criterion, and wherein the method further comprises:

computing an actual path delay for the selected sensitized path through the identified fault;

determining whether a second criterion based at least in part on the actual path delay is met for the identified fault; and

modifying the fault list by removing the identified fault if the first criterion is not met but the second criterion is met.

3. The method of claim 2 , wherein the act of determining whether the second criterion is met comprises determining whether:

PD

f

s

-

PD

f

a

T

TC

-

PD

f

a

<

δ

,

where PD f s is the static path delay through the longest sensitized path for the fault f, PD f a is the actual path delay through the longest sensitized path for the fault, T TC is the test clock period, and δ is a real number between 0 and 1.

4. The method of claim 2 , wherein the act of determining whether the second criterion is met comprises determining whether:

HPD

f

a

-

HPD

f

s

T

TC

-

HPD

f

s

<

δ

,

where HPD f s is the static path delay through the shortest sensitized path for the fault f, HPD f a is the actual path delay through the shortest sensitized path for the fault, T TC is the test clock period, and δ is a real number between 0 and 1.

5. The method of claim 1 , wherein the method is repeated for additional faults in the fault list not detected by previously generated test patterns.

6. One or more non transitory computer-readable media storing computer-executable instructions for causing a computer to perform a method, the method comprising:

identifying a fault that is detected by a test pattern by simulating a response of an integrated circuit design to the test pattern in the presence of the fault and identifying one or more paths that are sensitized by the test pattern and that detect the fault;

computing a static path delay for a selected sensitized path through the identified fault;

determining whether a criterion based at least in part on the static path delay is met for the identified fault;

modifying a fault list by removing the identified fault if the criterion is met; and

storing the modified fault list, and

wherein either:

(a) the selected sensitized path is the longest sensitized path, and the act of determining whether the criterion is met comprises determining whether:

T

TC

-

PD

f

s

T

TC

λ

where PD f s is the static path delay through the longest sensitized path for the fault f, T TC is the test clock period, and λ is a real number between 0 and 1; or

(b) wherein the selected sensitized path is the shortest sensitized path, and the act of determining whether the criterion is met comprises determining whether:

T

TC

-

HPD

f

s

T

TC

<

λ

where HPD f s is the static path delay through the shortest sensitized path for the fault f, T TC is the test clock period, and λ is a real number between 0 and 1.

7. One or more computer-readable media storing a fault list created by the method of claim 6 .

8. The one or more computer-readable media of claim 6 , wherein the criterion is a first criterion, and wherein the method further comprises:

computing an actual path delay for the selected sensitized path through the identified fault;

determining whether a second criterion based at least in part on the actual path delay is met for the identified fault; and

modifying the fault list by removing the identified fault if the first criterion is not met but the second criterion is met.

9. The one or more computer-readable media of claim 8 , wherein the act of determining whether the second criterion is met comprises determining whether:

PD

f

s

-

PD

f

a

T

TC

-

PD

f

a

<

δ

,

where PD f s is the static path delay through the longest sensitized path for the fault f, PD f a is the actual path delay through the longest sensitized path for the fault, T TC is the test clock period, and δ is a real number between 0 and 1.

10. The one or more computer-readable media of claim 6 , wherein the method is repeated for additional faults in the fault list not detected by previously generated test patterns.

11. The one or more computer-readable media of claim 8 , wherein the act of determining whether the second criterion is met comprises determining whether:

HPD

f

a

-

HPD

f

s

T

TC

-

HPD

f

s

<

δ

,

where HPD f s is the static path delay through the shortest sensitized path for the fault f, HPD f a is the actual path delay through the shortest sensitized path for the fault, T TC is the test clock period, and δ is a real number between 0 and 1.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2017
From: LIN, XIJIANG; TSAI, KUN-HAN; KASSAB, MARK; WANG, CHEN; RAJSKI, JANUSZ
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 044165/0351 →