35
1 Automatic Test Pattern Generation Rolf Drechsler, Görschwin Fey University of Bremen [email protected] 2 Outline • Introduction/Motivation • Preliminaries – Circuit, Fault Model, Test Pattern Generation Proof techniques – Boolean satisfiability, BDD, SAT, Circuit to SAT Conversion SAT-based ATPG – Problem description – Multi-valued Encoding – Variable Selection Experimental Results • Conclusions

Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

  • Upload
    others

  • View
    24

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

1

Automatic Test Pattern Generation

Rolf Drechsler, Görschwin Fey University of Bremen

[email protected]

2

Outline

• Introduction/Motivation • Preliminaries

– Circuit, Fault Model, Test Pattern Generation• Proof techniques

– Boolean satisfiability, BDD, SAT, Circuit to SAT Conversion

• SAT-based ATPG – Problem description – Multi-valued Encoding– Variable Selection

• Experimental Results • Conclusions

Page 2: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

2

3

Motivation

Source: Intel

4

Motivation

• Increasing size of circuits

• Post-production test is a crucial step:– Have there been problems during

production?– Does the circuit contain faults?

• Test patterns are applied

Page 3: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

3

5

Motivation

• Test pattern generation happens at the Boolean level

• Classical ATPG algorithms reach their limits

There is a need for more efficient ATPG tools!

6

Circuits

• Basic gates– AND, OR, EXOR, NOT

ORAND XOR NOT

Page 4: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

4

7

Fault Model

• Model “realistic” fault – Physical faults or defects at the

Boolean level• Simplified assumption • Based on netlist

• Static or dynamic – Here: static only

8

Stuck-at Fault Model

• Single line is assumed to have a fixed value (0 or 1)

• Example: stuck-at 0 fault at line dcorrect faulty

a

b

cf

d

e

a

b

cf

d

e

0

Page 5: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

5

9

Test Pattern Generation• Physical defects are modeled on the

Boolean level

• Automatic Test Pattern Generation (ATPG)Given: Circuit C and Fault-Model FObjective: Calculate test patterns for

faults in C with respect to F

xStuck-at-0

Inputs Output

10

Boolean Difference

• BD of faulty and fault free circuit

a

b

cf

d

e

f’

d’

e’

0

BD

Page 6: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

6

11

Fault Classification

• If there is a test, the fault is testable.• If there does not exist a test, the fault

is redundant.

• Decision is NP complete.

12

ATPG: D-Algorithm

• An error is observed due to differing values at a line in the circuit with or without failure. Such a divergence is denoted by values D or D´ to mark differences 1/0 or 0/1, respectively.

• Instead of Boolean values, the set {0,1,D,D´} is used to evaluate gates and carry out implications.

• A gate that is not on a path between the error and any output does never have a D-value.

• A necessary condition for testability is the existence of a path from the error to an output, where all intermediate gates either have a D-value or are not assigned yet. Such a path is called a potential D-chain.

• A gate is on a D-chain, if it is on a path from the error location to an output and all intermediate gates have a D-value.

Page 7: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

7

13

General Structure

• Justification and Propagation

Propagation

Fault site

Justifi-cation

Reconvergent path

14

Improvements

• PODEM: only branch on inputs• FAN: branching on fanout stems • SOCRATES: learning • HANIBAL: recursive learning

• Alternative: SAT-based – Formulation based on formal

techniques– Proof techniques: BDD and SAT

Page 8: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

8

15

• Truth table

• SoP (DNF) and PoS (CNF)

• Examples

• Sum-of-productsF = x1’x2x3 + x1x2’x3 + x1x2x3

• Product-of-sumsF = (x1+x2+x3) (x1+x2+x3’)

(x1+x2’+x3) (x1’+x2+x3) (x1’+x2’+x3)

• Decision tree

Representation

16

Truth Table and Decision Tree

Page 9: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

9

17

Rule 1: Isomorphism RuleNodes must be unique (I-reduction)

Rule 2: Elimination RuleRedundant tests should not be present (S-reduction)

Reduction of Decision Tree

18

BDDDecision Tree reduction

Example of Tree Reduction

Page 10: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

10

19

• A Boolean function can be expanded by Shannon

F(x,y,z) = x’ Fx’ + x Fx

where Fx’ and Fx are positive (negative) cofactors

Fx’ = F(0, y, z), Fx = F(1, y, z)

Shannon Expansion

20

• If-Then-Else-Operator:ITE(F, G, H) = F G + F’ H

• Boolean operations over ITE arguments can be expressed as ITE of F, G, and constants

• Example: AND(F, G) = ITE(F, G, 0)

• Computation of Boolean operations is based on the Shannon expansion:

ITE(F,G,H) = ITE(x, ITE(Fx’,Gx’,Hx’), ITE(Fx,Gx,Gx))

Synthesis Operations: ITE

Page 11: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

11

21

F=ac+bc+d G=ac’+d F+G = ? Example:

22

Example: F=ac+bc+d G=ac’+d F+G = a+bc+d

reduction

Page 12: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

12

23

Properties

• Efficient implementation • Compact representation for many

Boolean functions • Polynomial manipulation algorithms • Sensitive to variable ordering

– NP-complete problem – Dynamic variable ordering

24

• BDD-based representation of

- functions (with don’t cares)

- relations

- minterms, cubes

- sets (of sets)

- state machines

- ...

• Common features of all successful BDD-basedrepresentations

Function Representation

Page 13: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

13

25

Simulation

• Application of values

• Fast computation

– linear time

• New evaluation for each input pattern

• Complete simulation only feasible for small

circuits

– exponential in the number of inputs

1

11

26

Symbolic Simulation• Application of variables

• One computation for all

input patterns in

parallel

• Construction of

diagrams for each gate

– synthesis

operations

• Size of diagrams

Page 14: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

14

27

SAT

• Often all patterns are not needed• A single test-vector is sufficient • Construction of satisfying assignment

• SAT-problem: For a given Boolean function f find an assignment a, such that f(a)=1 or prove that such an assignment does not exist.

28

SAT

“real problem”

SAT instance SAT solver SAT solution

“real solution”

ffefdfeddc

dccbcacba

⋅+⋅+⋅++⋅+

⋅+⋅+⋅+⋅++

)()()()(

)()()()(

1,11,0

,0,0

======

fedcba

Page 15: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

15

29

SAT for Circuits

ϕ = h [d= ¬(ab)] [e= ¬(b + c)] [f= ¬d] [g = d + e] [h = fg]

30

CNF of a Gate

ϕd = [d = ¬(a b)]

= ¬[d ⊕ ¬(a b)]= ¬[¬(a b)¬d + a b d]= ¬[¬a ¬d + ¬b ¬d + a b d]= (a + d)(b + d)(¬a + ¬b + ¬d)

Page 16: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

16

31

CNF for Circuit

ϕ = h [d = (ab)] [e = ¬(b + c)] [f = ¬d] [g = d + e] [h = fg]= h

(¬b + ¬e)(¬c + ¬e)(b + c + e)(¬d + ¬f)(d + f)(¬d + g)(¬e + g)(d + e + ¬g)(f + ¬h)(g + ¬h)(¬f + ¬g + h)

• CNF for circuit and assignment h=1

(a + d)(b + d)(¬a + ¬b + ¬d)

32

SAT Solving

• Most Algorithms are based on DLL procedure

• Overall flow– Assign variables in the CNF – If a contradiction occurs

backtrack

Page 17: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

17

33

Basic Procedure

34

• Unit clause: Only one unspecified literal

⇒ c = 0(¬a + b + ¬c)

= =

1 0

• Boolean constraint propagation (BCP) is based on iteration of unit clause rule

• Fast implementation, since CNF is very regular

• BCP corresponds to implications on the net list

Implications

Page 18: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

18

35

Reasons for SAT Efficiency

• Implications • Analysis of backtracks • Decision heuristics • Conflict learning

– Instance grows• Non-chronological backtracking • Data structure

– CNF – Circuit

36

DLL – An Examplea0

b0

c0

0

(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+b+c+d)

Page 19: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

19

37

DLL – An Examplea0

b0

c0 1

0

(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+b+c+d)

0

38

DLL – An Examplea0

b0

c0 1

0 0

1

(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+b+c+d)

Page 20: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

20

39

DLL – An Examplea0

b0

c0 1

0 0

1

d0

0

(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+b+c+d)

40

DLL – An Examplea0

b0

c0 1

0 0

1

d0

0

1

(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+b+c+d)

0

Page 21: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

21

41

DLL – An Examplea0

b0

c0 1

0 0

1

d0

0

1

0

1(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+b+c+d)

42

DLL – An Example

(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+c+d) ·(a+b+c+d)

a0 1

b0 1

c0 1

d0 1

c0

d0

0 0 0 0 b1

1

Page 22: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

22

43

BDDs versus SAT

• BDDs consider all solutions• SAT finds single solution• Backtrack tree similar to BDD structure

• Advanced SAT techniques:– Variable selection strategies– Efficient implementations

• Engineering

– Implications– Conflict analysis

44

Motivation for SAT-based ATPG

• Substantial improvements in SAT solving

Use – Advanced SAT techniques– In combination with structural

information For

– Large industrial circuits– In a multi-valued domain

Page 23: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

23

45

Test Pattern Generation

xStuck-at-0 Output

Inputs Output

BD = 1!

?

FAULTY

CORRECT

46

SAT-based ATPG

• Input: Circuit C, Fault F

1. Fault modeling: BD between fault free and faulty circuit

2. Translate into CNF3. Use SAT solver to calculate solution

• Output: Classification of F, Testvector T

Page 24: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

24

47

Circuit → CNF

• AND-gate: (c’+d’+ e) · (c+e’) · (d+e’)• OR-gate: (a+b+d’) · (a’+d) · (b’+d)

• Linear size conversion

a

bc

de

48

Use of Structural Information

• Influenced circuit parts

Fault ShadowCone of Influence

Fault site

Page 25: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

25

49

Create Instance

• Build circuit structure accordingly

1

Fault free

Faulty

50

Fault modeling

a

bc

de

a

bc

dg

eg

a

b dg

ef

df

BD

Page 26: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

26

51

CNF

• F= (c + dg + eg) · (c+ eg) · (dg + eg) · (a +b + dg) · (a + dg) · (b + dg) ·(df)· (c +df + ef) · (c+ef) · (df+ef) · (eg+ef+BD) · (eg +ef +BD) · (eg +ef+BD) · (eg +ef +BD) ·(BD)

• F is the CNF for circuit with d s-a-1• Inputs satisfy CNF → can detect fault• CNF is linear in circuit size

abc dg eg

ab dg

efdf

BD

52

Structural information: TEGUS

• Use approach as in D-algorithm

• Gate G on path between fault and output:– unfaulty circuit: Gg = G(Xg)– faulty circuit: Gf = G(Xf)

• G on a D-chain implies – difference: Gd → (Gf ≠ Gg)– at least one successor is on the

D-chain: Gd → (H1,d +... + Hk,d)

Page 27: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

27

53

Structural Information: TEGUS

xSA-0

Inputs

BD = 1!

FAULTY

CORRECT

GgGd

Gf

H1,fH2,fH3,f

54

Features of PASSAT

• Memory Management

• Advanced SAT techniques

• Problem specific variable selection

• Multi-valued model

Page 28: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

28

55

Advanced SAT Techniques

• Built-in techniques from Zchaff

– Conflict based learning

– Non-chronological backtracking

– Event-driven evaluations

– Clever decision heuristics

56

Advanced SAT Techniques:SAT Run Times for Redundant Faults

Page 29: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

29

57

Variable Selection

• Use problem specific strategies to chose next decision variable

• Only inputs• Only fanouts• Zchaff´s default strategy• Combined strategy

– First: Only inputs with time-out– Then: Zchaff´s default

In Out

58

Variable Selection

• Use problem specific strategies to chose next decision variable

• Only inputs• Only fanouts• Zchaff´s default strategy• Combined strategy

– First: Only inputs with time-out– Then: Zchaff´s default

In Out

Page 30: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

30

59

Variable Selection

• Use problem specific strategies to chose next decision variable

• Only inputs• Only fanouts• Zchaff´s default strategy• Combined strategy

– First: Only inputs with time-out– Then: Zchaff´s default

In Out

60

Variable Selection

• Use problem specific strategies to chose next decision variable

• Only inputs• Only fanouts• Zchaff´s default strategy• Combined strategy

– First: Only inputs with time-out– Then: Zchaff´s default

In Out

Page 31: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

31

61

Variable Selection: p49k

384725510All

256825600Fanout

2084168187Input+All

1787267187Input

Time(s)AbRedCntHeuristic

62

Multi-valued Model

• Application to industrial circuits

• Allow for ‚Z´ and ‚U´ values

• Encode circuit lines by two variables

• Optimize the encoding

Page 32: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

32

63

Multi-valued Model

• Encoding

• Clauses for c = a • b

64

Multi-valued Model: Encodings

„natural“

Page 33: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

33

65

Multi-valued Model: Encodings

66

Experimental Results

Page 34: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

34

67

Time to classify faults

008440961P565k

13558119137P177k

007167106P88k

0002079P80k

1581038500P49k

0019570P44k

abort10-201-100.1-1<0.1

Time for classificationcircuit

68

Multi-valued model: Industrial Circuits

3073145628343263721175605P565k

3696543644548759131913P99k

904429851692354126929P88k

5591742095176159P80k

334115600126338P77k

3079717821082361230P44k

SAT (s)Eqn (s)AbRedCntCircuit

Page 35: Automatic Test Pattern Generation - Semantic Scholar...• Automatic Test Pattern Generation (ATPG) Given: Circuit C and Fault-Model F Objective: Calculate test patterns for faults

35

69

Challenges/Future Work

• Use of advanced SAT techniques– incremental SAT

• Optimization of SAT instance– Boolean reasoning during creation

• Other fault models – dynamic model, e.g. path delay

faults

70

Conclusions

• SAT for ATPG• Formulation based on formal techniques • Use of structural information• Advanced SAT techniques• Multi-valued circuits

• Better run times for “hard” faults • Applicable to large industrial circuits