CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault...

32
23/03/16 1 ATPG and Fault Simulation Alberto Bosio [email protected] 1 2 What is a test? X 1 0 0 1 0 1 X Stuck-at-0 fault 1/0 Fault activation Path sensitization Primary inputs (PI) Primary outputs (PO) Combinational circuit 1/0 Fault effect

Transcript of CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault...

Page 1: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

1

ATPG and Fault Simulation

Alberto Bosio [email protected]

1

2

What is a test?

X 1 0 0 1 0 1 X

Stuck-at-0 fault

1/0

Fault activation

Path sensitization

Primary inputs (PI)

Primary outputs (PO)

Combinational circuit

1/0

Fault effect

Page 2: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

2

3

What is a test?

X 1 0 0 1 0 1 X

Stuck-at-0 fault

1/0

Fault activation

Path sensitization

Primary inputs (PI)

Primary outputs (PO)

Combinational circuit

1/0

Fault effect

Test Vector Test Response

Example n  Generate a test for e stuck-at-1

a

b c

d

e

f

g

Sa1

4

Page 3: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

3

Example n  1) Activate the fault

a

b c

d

e

f

g

0

5

Example n  1) Activate the fault

a

b c

d

e

f

g

0/1

6

Page 4: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

4

Example n  1) Activate the fault

a

b c

d

e

f

g

0/1

Fault Effect

7

Example n  1) Propagate the fault effect

a

b c

d

e

f

g

0/1 0/1

8

Page 5: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

5

Example n  1) Propagate the fault effect

a

b c

d

e

f

g

0/1 0/1

9

Example n  1) Propagate the fault effect

a

b c

d

e

f

g

0/1 0/1

0

0/1

10

Page 6: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

6

Example n  1) Propagate the fault effect

a

b c

d

e

f

g

0/1 0/1

0

0/1

11

Example n  Justification

a

b c

d

e

f

g

0/1 0/1

0

0/1

0

12

Page 7: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

7

Example n  Justification

a

b c

d

e

f

g

0/1 0/1

0

0/1

0 1

1

13

Example n  Justification

a

b c

d

e

f

g

0/1 0/1

0

0/1

0 1

1

0

14

Page 8: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

8

Some Considerations n  Test is easy n  But….

15

Some problems (the complexity)

2.2 Billion Transistors 16

Page 9: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

9

Some problems (the circuit) n  Generate a test for c stuck-at-1

a

b c

d

e

f

g

Sa1

17

Some problems (the circuit) n  c stuck-at-1 is an untestable fault

a

b c

d

e

f

g 0/1

1 1

1 0/1 0/1 0

0

1

18

Page 10: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

10

Goals n  You must use the appropriate tool

n  Automatic Test Pattern Generator (ATPG)

19

ATPG Architecture

20

Circuit description

Reduced Fault List

Test Pattern

Fault Simulator

Fault Coverage

TPG Algorithm

Fault Manager

Page 11: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

11

ATPG Architecture

21

Circuit description

Reduced Fault List

Test Pattern

Fault Simulator

Fault Coverage

TPG Algorithm

Fault Manager Fault Coverage (FC) = # Detected Faults/#Total Faults

The test plan n  Step 1:

n  Identify the set of target faults (complete fault list).

22

Page 12: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

12

The test plan n  Step 1:

n  Tools – Fault list generator n  (One of the components of the Fault Manager).

23

Circuit description

Fault List Generator

Complete Fault List

The test plan (cont’d) n  Step 1:

n  Identify the set of target faults (complete fault list).

n  Step 2: n  Identify the minimum set of distinct target

faults (fault collapsing)

24

Page 13: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

13

The test plan n  Step 2:

n  Tools – Fault collapser (One of the components of the Fault Manager).

25

Fault Manager

26

Circuit description

Fault List Generator

Complete Fault List

Fault Collapser Reduced Fault List

Page 14: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

14

Fault Manager

27

Circuit description

Reduced Fault List Fault Manager

Test Pattern

Test Pattern Generator

Fault Coverage

The test plan (cont’d) n  Step 2:

n  Identify the minimum set of distinct target faults (fault collapsing)

n  Step 3: n  Generate, at no charge, an initial set of

patterns (manually, from design validation, randomly, ...)

28

Page 15: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

15

The test plan (cont’d) n  Step 3:

n  Generate, at no charge, an initial set of patterns (manually, from design validation, randomly, ...)

n  Step 4: n  Update the list of detected faults (fault

simulation)

29

Step 4 n  Tools

n  Fault Simulators: identify the set of faults covered by each test pattern.

30

Page 16: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

16

Fault Simulator

31

Circuit description

Reduced Fault List

Test Pattern

Fault Simulator

Fault Coverage

Detected Faults

Update

The test plan (cont’d) n  Step 4:

n  Update the list of detected faults (fault simulation)

n  Step 5: n  Generate a set of patterns to cover the

uncovered faults (TPG)

32

Page 17: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

17

Step 5 n  Tools

n  ATPG: Automatic Test Pattern Generator

33

TPG

34

Circuit description

Reduced Fault List

Test Pattern

Fault Simulator

Fault Coverage

Detected Faults

TPG Algorithm Fault Selector

Target Fault

Page 18: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

18

n  They cycle through three sub-phases: n  target fault selection n  Pattern generation n  Covered fault list updating.

35

The test plan (cont’d) n  Step 5:

n  Generate a set of patterns to cover the uncovered faults (TPG)

n  Step 6 (optional): n  Testability analysis

n  Step 7 (optional): n  Compact test pattern set.

36

Page 19: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

19

Step 6 n  Goal

n  Estimate the effort needed to test the UUT: n  Pattern length n  Fault coverage n  CPU time n  ... n  Identify hard-to-test areas

n  Tools n  Testability Analyzer n  Experience.

37

The test plan (cont’d) n  Step 5:

n  Generate a set of patterns to cover the uncovered faults (TPG)

n  Step 6 (optional): n  Testability analysis

n  Step 7 (optional): n  Compact test pattern set.

38

Page 20: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

20

Testability Analyzer n  High trade-off between result accuracy

and CPU time.

n  A Circuit is testable when you ATPG can manage it!!!!!

39

Fault Simulation* n  Problem and motivation n  Fault simulation algorithms

n  Serial n  Parallel n  Deductive

40

*The lecture has been taken from Prof. Agrawal VLSI test course (http://www.eng.auburn.edu/~agrawvd/COURSE/E7250_06/course.html)

Page 21: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

21

Problem and Motivation n  Given

n  A circuit n  A sequence of test vectors n  A fault model

n  Determine n  Fault coverage - fraction (or percentage) of

modeled faults detected by test vectors n  Set of undetected faults

41

Problem and Motivation n  Motivation

n  Determine test quality and in turn product quality

n  Find undetected fault targets to improve tests

42

Page 22: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

22

Fault Simulation Scenario n  Circuit model: mixed-level

n  Mostly logic with some switch-level for high-impedance (Z) and bidirectional signals

n  High-level models (memory, etc.) with pin faults

n  Signal states: logic n  Two (0, 1) or three (0, 1, X) states for purely Boolean logic

circuits n  Four states (0, 1, X, Z) for sequential MOS circuits

n  Timing: n  Zero-delay for combinational and synchronous circuits n  Mostly unit-delay for circuits with feedback

43

Fault Simulation Scenario (Continued) n  Faults:

n  Mostly single stuck-at faults n  Sometimes stuck-open, transition, and path-delay

faults; analog circuit fault simulators are not yet in common use

n  Equivalence fault collapsing of single stuck-at faults n  Fault-dropping -- a fault once detected is dropped

from consideration as more vectors are simulated; fault-dropping may be suppressed for diagnosis

n  Fault sampling -- a random sample of faults is simulated when the circuit is large

44

Page 23: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

23

Fault Simulation Algorithms n  Serial n  Parallel n  Deductive n  ....

45

Serial Algorithm n  Algorithm: Simulate fault-free circuit and save responses.

Repeat following steps for each fault in the fault list: n  Modify netlist by injecting one fault n  Simulate modified netlist, vector by vector, comparing

responses with saved responses n  If response differs, report fault detection and suspend

simulation of remaining vectors n  Advantages:

n  Easy to implement; needs only a true-value simulator, less memory

n  Most faults, including analog faults, can be simulated

46

Page 24: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

24

Serial Algorithm n  Disadvantage: Much repeated computation;

CPU time prohibitive for VLSI circuits n  Alternative: Simulate many faults together

47

Serial Algorithm

48

Page 25: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

25

Serial algorithm n  + very simple n  - not efficient

n  Intel I7 is about ~10M gates n  20M faults, 1 simulation = 1s n  20Ms ~= 231 days

49

Parallel Fault Simulation n  Compiled-code method; best with two-states (0,1) n  Exploits inherent bit-parallelism of logic operations on

computer words n  Storage: one word per line for two-state simulation n  Multi-pass simulation: Each pass simulates w-1 new

faults, where w is the machine word length n  Speed up over serial method ~ w-1 n  Not suitable for circuits with timing-critical and non-

Boolean logic

50

Page 26: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

26

Parallel Fault Simulation

51

Parallel algorithm n  + still very simple n  + more efficient than serial

n  Intel I7 is about ~10M gates n  20M faults, 1 simulation = 1s n  20Ms ~= 231 days n  Using a 64bits machine n  231/63 ~= 4 days

52

Page 27: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

27

Deductive Fault Simulation n  One-pass simulation n  Each line k contains a list Lk of faults detectable on it n  Following true-value simulation of each vector, fault lists

of all gate output lines are updated using set-theoretic rules, signal values, and gate input fault lists

n  PO fault lists provide detection data n  Limitations:

n  Set-theoretic rules difficult to derive for non-Boolean gates

n  Gate delays are difficult to use

53

Deductive Fault Simulation

54

Page 28: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

28

Deductive algorithm n  - complex n  ++ more efficient than parallel

n  Intel I7 is about ~10M gates n  20M faults, 1 simulation = 1s n  20Ms ~= 1s

n  - it requires a lot of memory

55

Exercice

56

which faults are detected by the input “01110”?

Page 29: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

29

In practice n  Use of Synopsys© Tetramax

TMAX Circuit.v

Technology_library.v

Test_vectors.stil

FaultCoverage

Fault List

57

Invoking TetraMax n  source /soft/Synopsys/source_config/.config_tetramax_standalone_vI-2013.12 n  tmax

You can enter commands

58

Page 30: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

30

Step1 n  Read and Compile the circuit description

read_verilog C35.v –library

read_verilog exo1.v

run_build_model

Run_drc

59

Step 2 n  Generate the fault list

set_faults -model stuck

add_faults -all

60

Page 31: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

31

Step 3 n  Specify the test vectors to be simulated

n  We have to use the stil syntax n  Look in the example

Pattern "_pattern_" { W "_default_WFT_"; "precondition all Signals": C { "_pi"=0000; "_po"=XX; }

"pattern 0": Call "capture" { "_pi"=1010; "_po”=LL; }} 61

Step 3 n  Import the test vector file set_patterns -external example_exo1.stiln  Now we can run a simulation run_simulationn  You will got errors: TEST-T> run_simulation Begin good simulation of 1 external patterns. 0 S2 (exp=0, got=1) Simulation completed: #patterns=1, #fail_pats=1(0), #failing_meas=1(0), CPU time=0.00

62

Page 32: CH3 ATPG Fault Simulation - Page d'accueil / Lirmm.fr ...virazel/COURS/MEA4 - Test/CH3 ATPG Fault Simulation… · ATPG and Fault Simulation Alberto Bosio bosio@lirmm.fr 1 2 What

23/03/16

32

Step 3 n  Tmax has to calculate the gold outputs

before running the fault simulation run_simulation -override_differences

n  Now you can run the fault simulation run_fault_sim

63