Upload
phungnguyet
View
259
Download
5
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
23/03/16
8
Some Considerations n Test is easy n But….
15
Some problems (the complexity)
2.2 Billion Transistors 16
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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”?
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
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
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
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