Вы находитесь на странице: 1из 63

ATPG and Fault Simulation

Alberto Bosio
bosio@lirmm.fr

1
What is a test?
Fault activation
Combinational circuit Fault effect
X
1
0
Primary 1/0 1/0
0 Primary outputs
inputs 1 (PO)
(PI) 0
1
X
Path sensitization
Stuck-at-0 fault
2
What is a test?
Fault activation
Combinational circuit Fault effect
X
1
0
Primary 1/0 1/0
0 Primary outputs
inputs 1 (PO)
(PI) 0
1
X Test Response
Test Vector Path sensitization
Stuck-at-0 fault
3
Example
n  Generate a test for e stuck-at-1

Sa1
a

b e
c
g

d f

4
Example
n  1) Activate the fault

a 0
b e
c
g

d f

5
Example
n  1) Activate the fault

a 0/1
b e
c
g

d f

6
Example
n  1) Activate the fault

Fault Effect
a 0/1
b e
c
g

d f

7
Example
n  1) Propagate the fault effect

a 0/1
0/1
b e
c
g

d f

8
Example
n  1) Propagate the fault effect

a 0/1
0/1
b e
c
g

d f

9
Example
n  1) Propagate the fault effect

a 0/1
0/1
b e 0/1
c
g

0
d f

10
Example
n  1) Propagate the fault effect

a 0/1
0/1
b e 0/1
c
g

0
d f

11
Example
n  Justification

a 0/1
0/1
b e 0/1
c
g
0
0
d f

12
Example
n  Justification

a 0/1
1 0/1
b e 0/1
c
g
1 0
0
d f

13
Example
n  Justification

0
a 0/1
1 0/1
b e 0/1
c
g
1 0
0
d f

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

Sa1
a

b e
c
g

d f

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

1
a 0/1
0/1
0 0/1
b
c
e 1
g
0 1
1
d f

18
Goals
n  You must use the appropriate tool
n  Automatic Test Pattern Generator (ATPG)

19
ATPG Architecture
Reduced
Circuit
Fault Manager Fault List
description

TPG
Fault Simulator
Algorithm

Fault Test
Coverage Pattern

20
ATPG Architecture
Reduced
Circuit
Fault Manager Fault List
description
Fault Coverage (FC) = # Detected Faults/#Total Faults

TPG
Fault Simulator
Algorithm

Fault Test
Coverage Pattern

21
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).

Circuit Fault List


description Generator
Complete
Fault List

23
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

Circuit Fault List


description Generator
Complete
Fault List

Reduced
Fault Collapser
Fault List

26
Fault Manager

Circuit Reduced
description Fault Manager
Fault List

Test Pattern
Generator

Test Fault
Pattern Coverage 27
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
Circuit Reduced
description Fault List

Fault Simulator Update

Detected
Fault Test Faults
Coverage Pattern
31
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
Circuit Reduced
description Fault List

TPG
Fault Simulator Fault Selector
Algorithm

Fault Test Target


Coverage Pattern Fault

Detected
Faults 34
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

*The lecture has been taken from Prof. Agrawal VLSI test course
(http://www.eng.auburn.edu/~agrawvd/COURSE/E7250_06/
course.html) 40
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
which faults are detected by the input “01110”?

56
In practice
n  Use of Synopsys© Tetramax
Technology_library.v Test_vectors.stil

Fault List
Circuit.v
TMAX

FaultCoverage 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!
You will got errors:
n 

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

Вам также может понравиться