Professional Documents
Culture Documents
08 - ATPG Systems and Testability Measures PDF
08 - ATPG Systems and Testability Measures PDF
ATPG Systems
ATPG Systems and Testability Measures
Increase fault coverage
Reduce overall effort (CPU time)
Fewer test vectors (test application time)
Testability Measures
A powerful heuristic used during test
Mohammad Tehranipoor
generation (more on its uses in later slides)
Electrical and Computer Engineering
University of Connecticut
1 2
3 4
5 6
1
ATPG Systems ATPG Systems
Which fault to pick next
Efficient heuristics for backtrace Target to generate tests for easy faults first
Hard faults may get detected with no extra effort
Easy/hard heuristic
If many choices to meet an objective, and
Target to generate tests for hard faults first
satisfaction of any one of the choices will satisfy the Easy faults will be detected anyway, why waste
objective choose the easiest one first time
If all conditions must be satisfied to meet the Target faults near PIs
desired objective, choose the hardest one first Target faults near POs
Easy/hard can be determined etc.
Distance from Pis and Pos
Anytime a fault is detected, there is a chance that the test vector
Testability measures detects a lot more faults.
Any pattern generated by ATPG contains a large number of Xs
providing opportunity for detecting more faults.
7 8
9 10
11 12
2
Compaction Example Test Compaction
Fault simulate test patterns in reverse order
of generation
t1 = 0 1 X t2 = 0 X 1
ATPG patterns go first
t3 = 0 X 0 t4 = X 0 1 Patterns detecting Hard faults can detect easy ones
Randomly-generated patterns go last (because they may
Combine t1 and t3 , then t2 and t4 have less coverage)
Obtain: When coverage reaches 100%, drop remaining patterns
t t24 = 0 0 1 (which are the useless random ones)
13 = 0 1 0
Significantly shortens test sequence economic cost
reduction
Test Length shortened from 4 to 2
13 14
15 16
ATPG Systems
Circuit Fault
Compactor Description List
17 18
3
Testability Analysis - Purpose Origins
Need approximate measure of: Control theory
Difficulty of setting internal circuit lines to 0 or 1 by setting
primary circuit inputs Rutman 1972 -- First definition of controllability
Used in Fault Activation Goldstein 1979 -- SCOAP
Difficulty of observing internal circuit lines by observing First definition of observability
primary outputs First elegant formulation
Used in Propagation First efficient algorithm to compute controllability and
Uses: observability
Analysis of difficulty of testing internal circuit parts Parker & McCluskey 1975
redesign or add special test hardware (test point) Definition of Probabilistic Controllability
Guidance for algorithms computing test patterns avoid
using hard-to-control lines Brglez 1984 -- COP
Estimation of fault coverage 1st probabilistic measures
Obtaining # of untestable faults Seth, Pan & Agrawal 1985 PREDICT
Estimation of test vector length 1st exact probabilistic measures
19 20
21 22
23 24
4
Controllability Examples More Controllability: Examples
25 26
27 28
1,1(6) 2,3(4)
x 2,3(4, )
8
x 1,1(5, ) 6,2(0)
8
4,2(0)
(6)
1,1(5) (5) y
y 1,1(4,6) (4,6)
(6) 2,3(4)
2,3(4, ) z
8
z 1,1(6)
1,1(5, )
8
29 30
5
Levelization Algorithm 6.1 Sequential Example
Label each gate with max # of logic levels from
primary inputs or with max # of logic levels from
primary output
Assign level # 0 to all primary inputs (PIs)
For each PI fanout:
Label that line with the PI level number, &
Queue logic gate driven by that fanout
While queue is not empty:
Dequeue next logic gate
If all gate inputs have level #s, label the gate
with the maximum of them + 1;
Else, requeue the gate
31 32
33 34
35 36
6
Combinational Observabilities for Level 2 Final Combinational Observabilities
37 38
39 40
3. Reset the flip-flop and clock in a 1 from D 4. For all POs, set CO = SO =
CO (C) = min [ CO (Q) + CC1 (Q) + CC0 (D) + 5. Work from POs to PIs, Use CO, SO, and controllabilities to
CC1 (C) + CC0 (C), get observabilities
CO (Q) + CC1 (Q) + CC1 (RESET) + 6. Fanout stem (CO, SO) = min branch (CO, SO)
CC1 (C) + CC0 (C), 7. If a CC or SC (CO or SO) is , that node is uncontrollable
8
7
Sequential Example Sequential Example Initialization
43 44
45 46
47 48
8
Final Sequential Observabilities Test Vector Length Prediction
49 50
51 52