automatic test pattern generation - ivviren/courses/2012/ee709/lecture15.pdf · automatic test...

27
Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Dept. of Electrical Engineering Indian Institute of Technology Bombay [email protected] EE 709: Testing & Verification of VLSI Circuits Lecture – 15 (Feb 06, 2012)

Upload: phungthuy

Post on 24-Feb-2018

228 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Automatic Test Pattern

Generation - IV

Virendra Singh Associate Professor

Computer Architecture and Dependable Systems Lab

Dept. of Electrical Engineering

Indian Institute of Technology Bombay [email protected]

EE 709: Testing & Verification of VLSI Circuits

Lecture – 15 (Feb 06, 2012)

Page 2: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 2

ATPG - Algorithmic

Path Sensitization Method Fault Sensitization

Fault Propagation

Line Justification

Path Sensitization Algorithms D- Algorithm (Roth)

PODEM (P. Goel)

FAN (Fujiwara)

SOCRATES (Schultz)

SPIRIT (Emil & Fujiwara)

Page 3: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 3

Common Concept

Fault Activation problem a LJ Problem

The Fault Propagation problem

1. Select a FP path to PO Decision

2. Once the path is selected a set of LJ problems

The LJ Problems Decisions or Implications

To justify c = 1 a = 1, b = 1 (Implication)

To justify c = 0 a = 0 or b = 0 (Decision)

Incorrect decision Backtrack Another decision

Page 4: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 4

FANout oriented test generation

FAN

(Fujiwara & Shimono, 1983)

Page 5: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 5

Prof. Hideo Fujiwara • Prof. Fujiwara is Eminent Researcher and

Academician in VLSI Testing • Many contributions to VLSI Testing • Co-founder of ATS and WRTLT • Special Workshop was organized in his

honour with 20th IEEE ATS 2011

Page 6: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 6

TG Algorithms

Objective

TG time reduction

Reduce number of backtracks

Find out the non-existence of solution as soon as possible

Branch and bound

Page 7: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 7

FAN Algorithm

New concepts:

Immediate assignment of uniquely-determined signals

Unique sensitization

Stop Backtrace at head lines

Multiple Backtrace

Page 8: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 8

FAN Algorithm

Strategies:

Strategy1:

In step of the algorithm determine as many signal values as possible

Implication

Strategy 2:

Assign faulty signal D or D’ that is uniquely determined or implied by the fault in question

Page 9: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 9

PODEM Fails to Determine Unique

Signals

• Backtracing operation fails to set all 3 inputs of gate L to 1

– Causes unnecessary search

Page 10: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 10

FAN -- Early Determination of Unique

Signals

• Determine all unique signals implied by current decisions immediately

– Avoids unnecessary search

Page 11: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 11

PODEM Makes Unwise Signal

Assignments

0 1 0

0

1

n Blocks fault propagation due to assignment J = 0

A

B

C

E

F

G

H J K

L

M

Page 12: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 12

FAN – Unique sensitization

A=1

B=0

C=1

E =D

F =D’

G =1

H =D

J = 1

L = 1

K M

Unique sensitization and implication

Partial sensitization, which uniquely determined, is called unique sensitization

n FAN immediately sets necessary signals to propagate fault

Page 13: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 13

FAN Algorithm

Strategies:

Strategy 3:

When the D-frontier consists of a single gate, apply a unique sensitization

Strategy 4:

Stop the backtrace at a headline, and postpone the line justification for the headline to later

Page 14: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 14

Headlines

E

F

A

B C

H M

K

L

J

• When a line L is reachable from a fanout point, L is said to be bound

• A signal line that is not bound is said to be free

• When a line is adjacent to some bound line, it is said to be head line

Page 15: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 15

Decision Trees

E

F

A

B C

H M

K

L

J

C=1

B=0

A=1

B=1

C=0

PODEM

J = 0

J = 1

Backtracking at Head-lines

0

Page 16: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 16

FAN Algorithm

Strategies:

Strategy 5:

Multiple backtracing (concurrent backtracing of more than one path) is more efficient than backtracing along a single path

Objective for multiple backtrace

Triplet

(s, n0(s), n1(s))

Page 17: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 17

Multiple Backtrace

FAN – breadth-first

passes –

1 time

PODEM –

depth-first

passes – 6 times

Page 18: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 18

FAN Algorithm

Objective for multiple backtrace

Triplet

(s, n0(s), n1(s))

AND gate

Let X be the easiest to set to 0 input

n0(X) = n0(Y), n1(X) = n1(Y)

For other inputs Xi

n0(Xi) = 0 , n1(Xi) = n1(Y) OR gate Let X be the easiest to set to 1 input n0(X) = n0(Y), n1(X) = n1(Y) For other inputs Xi

n0(Xi) = n0(Y) , n1(Xi) = 0

Page 19: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 19

FAN Algorithm

NOT gate

n0(X) = n1(Y), n1(X) = n0(Y) Fanout points n0(X) = ∑ n0(Xi), n1(X) = ∑ n1(Xi)

Page 20: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 20

AND Gate Vote Propagation

• AND Gate

– Easiest-to-control Input –

• # 0’s = OUTPUT # 0’s

• # 1’s = OUTPUT # 1’s

– All other inputs --

• # 0’s = 0

• # 1’s = OUTPUT # 1’s

[5, 3]

[5, 3]

[0, 3]

[0, 3]

[0, 3]

Page 21: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 21

Multiple Backtrace Fanout Stem Voting

• Fanout Stem --

– # 0’s = S Branch # 0’s,

– # 1’s = S Branch # 1’s

[5, 1]

[1, 1]

[3, 2]

[4, 1]

[5, 1]

[18, 6]

Page 22: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 22

FAN

(A, 1. 0)

(G,0.1) (J, 0. 1)

(k, 0. 1)

(E, 0. 1)

(H, 0. 2)

(M, 0. 1)

(L, 0. 1) (P, 0. 1)

(D, 2. 0)

(R, 1. 0)

(N, 1. 0) (q, 0. 1)

Page 23: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 23

FAN Algorithm

Strategies:

Strategy 6:

In the multiple backtrace, if an objective at a fanout point p has a contraditory requirement, that is, if both n0(p) and n1(p) are non-zero, stop backtrace so as to assign a binary value to the fanout point.

Page 24: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 24

FAN - Algorithm Start

Set a faulty signal

Set backtrace flag

Implication

Is continuation of

backtrace meaningful?

Faulty signal propagated

to PO?

The number of

gatesin D-frontier?

Unique

sensitization

Is there an untried

combination of values on

headlines or FOs?

Set untried

Combination Of values;

and set backtrace flag

No test

exists

Set backtrace flag

Is there any justified

bound lines?

Line justification

For free lines

Determine a final

Objective to

Assign a value

Assign value to the

final obj. line

Test

generated

Page 25: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 25

Static and Dynamic Compaction of

Sequences

• Static compaction

– ATPG should leave unassigned inputs as X

– Two patterns compatible – if no conflicting values for any PI

– Combine two tests ta and tb into one test tab = ta tb using D-intersection

– Detects union of faults detected by ta & tb

• Dynamic compaction

– Process every partially-done ATPG vector immediately

– Assign 0 or 1 to PIs to test additional faults

Page 26: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Feb 06, 2012 EE-709@IITB 26

Compaction Example

• t1 = 0 1 X t2 = 0 X 1

t3 = 0 X 0 t4 = X 0 1

• Combine t1 and t3 , then t2 and t4

• Obtain:

– t13 = 0 1 0 t24 = 0 0 1

• Test Length shortened from 4 to 2

Page 27: Automatic Test Pattern Generation - IVviren/Courses/2012/EE709/Lecture15.pdf · Automatic Test Pattern Generation - IV Virendra Singh Associate Professor Computer Architecture and

Thank You

Feb 06, 2012 EE-709@IITB 27