ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 3 What is a test? X 1 0 0 1 0 1 X...

63
ATPG and Fault Simulation Marie-Lise Flottes flottes @lirmm.fr 1

Transcript of ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 3 What is a test? X 1 0 0 1 0 1 X...

Page 1: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

ATPG and Fault SimulationMarie-Lise Flottes

[email protected]

1

Page 2: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

2

What is a test?

X100101X

Stuck-at-0 fault

1/0

Fault activation

Path sensitization

Primary inputs(PI)

Primary outputs(PO)

Combinational circuit

1/0

Fault effect

Page 3: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

3

What is a test?

X100101X

Stuck-at-0 fault

1/0

Fault activation

Path sensitization

Primary inputs(PI)

Primary outputs(PO)

Combinational circuit

1/0

Fault effect

Test VectorTest Response

Page 4: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Examplen Generate a test for e stuck-at-1

a

b c

d

e

f

g

Sa1

4

Page 5: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Examplen 1) Activate the fault

a

b c

d

e

f

g

0

5

Page 6: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Examplen 1) Activate the fault

a

b c

d

e

f

g

0/1

6

Page 7: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Examplen 1) Activate the fault

a

b c

d

e

f

g

0/1

Fault Effect

7

Page 8: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Examplen 1) Propagate the fault effect

a

b c

d

e

f

g

0/10/1

8

Page 9: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Examplen 1) Propagate the fault effect

a

b c

d

e

f

g

0/10/1

9

Page 10: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Examplen 1) Propagate the fault effect

a

b c

d

e

f

g

0/10/1

0

0/1

10

Page 11: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Examplen 1) Propagate the fault effect

a

b c

d

e

f

g

0/10/1

0

0/1

11

Page 12: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Examplen Justification

a

b c

d

e

f

g

0/10/1

0

0/1

0

12

Page 13: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Examplen Justification

a

b c

d

e

f

g

0/10/1

0

0/1

01

1

13

Page 14: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Examplen Justification

a

b c

d

e

f

g

0/10/1

0

0/1

01

1

0

14

Page 15: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Some Considerationsn Test is easyn But….

15

Page 16: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Some problems (the complexity)

2.2 Billion Transistors16

Page 17: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

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

a

b c

d

e

f

g

Sa1

17

Page 18: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

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

a

b c

d

e

f

g

0/1

11

10/1 0/10

0

1

18

Page 19: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Goalsn You must use the appropriate tool

n Automatic Test Pattern Generator (ATPG)

19

Page 20: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

ATPG Architecture

20

Circuit description

Reduced Fault List

Test Pattern

Fault Simulator

Fault Coverage

TPGAlgorithm

Fault Manager

Page 21: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

ATPG Architecture

21

Circuit description

Reduced Fault List

Test Pattern

Fault Simulator

Fault Coverage

TPGAlgorithm

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

Page 22: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

The test plann Step 1:

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

22

Page 23: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

The test plann Step 1:

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

23

Circuit description

Fault List Generator

Complete Fault List

Page 24: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

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 25: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

The test plann Step 2:

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

25

Page 26: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Fault Manager

26

Circuit description

Fault List Generator

Complete Fault List

Fault CollapserReduced Fault List

Page 27: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Fault Manager

27

Circuit description

Reduced Fault ListFault Manager

Test Pattern

Test Pattern Generator

Fault Coverage

Page 28: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

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 29: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

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

Page 30: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Step 4n Tools

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

30

Page 31: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Fault Simulator

31

Circuit description

Reduced Fault List

Test Pattern

Fault Simulator

Fault Coverage

Detected Faults

Update

Page 32: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

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 33: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Step 5n Tools

n ATPG: Automatic Test Pattern Generator

33

Page 34: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

TPG

34

Circuit description

Reduced Fault List

Test Pattern

Fault Simulator

Fault Coverage

Detected Faults

TPGAlgorithm Fault Selector

Target Fault

Page 35: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

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

35

Page 36: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

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 37: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Step 6n 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

Page 38: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

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 39: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Testability Analyzern High trade-off between result accuracy

and CPU time.

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

39

Page 40: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Fault Simulation*n Problem and motivationn Fault simulation algorithms

n Serialn Paralleln 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 41: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Problem and Motivationn Given

n A circuitn A sequence of test vectorsn A fault model

n Determinen Fault coverage - fraction (or percentage) of

modeled faults detected by test vectorsn Set of undetected faults

41

Page 42: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Problem and Motivationn Motivation

n Determine test quality and in turn product quality

n Find undetected fault targets to improve tests

42

Page 43: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Fault Simulation Scenarion 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 faultsn 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 circuitsn Timing:

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

43

Page 44: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Fault Simulation Scenario (Continued)n Faults:

n Mostly single stuck-at faultsn 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 faultsn 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 45: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Fault Simulation Algorithmsn Serialn Paralleln Deductiven ....

45

Page 46: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

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

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

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

simulation of remaining vectorsn Advantages:

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

n Most faults, including analog faults, can be simulated

46

Page 47: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Serial Algorithmn Disadvantage: Much repeated computation;

CPU time prohibitive for VLSI circuitsn Alternative: Simulate many faults together

47

Page 48: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Serial Algorithm

48

Page 49: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Serial algorithmn + very simplen - not efficient

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

49

Page 50: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

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

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

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

Boolean logic

50

Page 51: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Parallel Fault Simulation

51

Page 52: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Parallel algorithmn + still very simplen + more efficient than serial

n Intel I7 is about ~10M gatesn 20M faults, 1 simulation = 1sn 20Ms ~= 231 daysn Using a 64bits machinen 231/63 ~= 4 days

52

Page 53: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Deductive Fault Simulationn One-pass simulationn 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 datan Limitations:

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

n Gate delays are difficult to use

53

Page 54: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Deductive Fault Simulation

54

Page 55: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Deductive algorithmn - complexn ++ more efficient than parallel

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

n - it requires a lot of memory

55

Page 56: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Exercice

56

which faults are detected by the input “01110”?

Page 57: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

In practicen Use of Synopsys© Tetramax

TMAXCircuit.v

Technology_library.v Test_vectors.stil

FaultCoverage

Fault List

57

Page 58: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

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

You can enter commands

58

Page 59: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Step1n Read and Compile the circuit description

read_verilog C35.v –library

read_verilog exo1.v

run_build_model

Run_drc

59

Page 60: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Step 2n Generate the fault list

set_faults -model stuck

add_faults -all

60

Page 61: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Step 3n Specify the test vectors to be simulated

n We have to use the stil syntaxn 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

Page 62: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Step 3n Import the test vector fileset_patterns -external example_exo1.stiln Now we can run a simulationrun_simulationn You will got errors:TEST-T> run_simulationBegin 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 63: ATPG and FaultSimulationvirazel/COURS/MEA4 - Test/CH3 ATPG... · 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

Step 3n Tmax has to calculate the gold outputs

before running the fault simulationrun_simulation -override_differences

n Now you can run the fault simulationrun_fault_sim

63