course atpg fault simulation - laboratoire d'informatique ...bosio/mea_test/lec1.pdf ·...

Post on 30-Jan-2018

317 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ATPG and Fault Simulation

Alberto Bosio bosio@lirmm.fr

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

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

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

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

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

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

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

Some Considerations

n  Test is easy n  But….

15

Some problems (the complexity)

2.2 Billion Transistors 16

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

Serial Algorithm n  Disadvantage: Much repeated computation;

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

47

Serial Algorithm

48

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

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

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

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”?

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

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

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.stil!n  Now we can run a simulation run_simulation!n  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

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

top related