Document 13097639

advertisement
Test Time Minimization for Hybrid BIST
with Test Pattern Broadcasting
TALLINN TECHNICAL
UNIVERSITY
Raimund Ubar, Maksim Jenihhin
Dept. of Computer Engineering
Gert Jervan, Zebo Peng
Embedded Systems Laboratory
Linköping University, Sweden
{gerje, zebpe}@ida.liu.se
Tallinn Technical University, Estonia
{raiub, maksim}@pld.ttu.ee
Hybrid BIST Architecture
Overview
A Hybrid BIST architecture for testing core-based systems,
that allows test pattern broadcasting.
Embedded
Tester
The test architecture is suitable for SoCs containing cores
without predesigned BIST logic.
LFSR
Emulator
The approach uses test pattern broadcasting for both
pseudorandom and deterministic patterns.
SoC
Core 4
Core 2
INP2
INP4
TAM
Tester
Memory
To overcome the high complexity of test time minimization
problem we propose a fast algorithm to find an efficient
combination of pseudorandom and deterministic test sets
under given memory constraint.
0
Max(INPk)
INP1
Core 1
INP3
INP5
Core 5
Core 3
Tester
Controller
The efficiency of the approach is demonstrated by
experimental results.
Test Time Minimization Algorithm
Generate deterministic test patterns for the core to increase the fault
coverage of the core to 100%.
Test pattern size
Generation of the initial deterministic test set.
Test pattern size
n
Fill the unused bits with pseudorandom data.
Result
Broadcast generated test patterns for other cores in the system.
Optimization of the test sequence.
Starting from the end, if the test pattern is efficient for any cores, store it in
Test pattern size


LP
×
INP
k
,
j
∑
k
 k=1

1
Initialization

L j, min = min  --n
Optimization
Finding the initial state for the LFSR.
Initial hybrid test pattern sequence generation
Deterministic
Pseudorandom
Number of test patterns
Choosing effective test patterns for every core from the initial sequence
8* 7*
6*
5*
4* 3*
2*
1*
Number of test patterns
Choosing number of effective test patterns to store based on memory constraint
Deterministic
Pseudorandom
Stored Efficient Pseudorandom
{8, 7, 6, 5, 4, 3, 2, 1}*
Number of test patterns
the memory with the size of maximum required bits.
Repeat the procedure until the memory is filled.
Experimental Results
45000
60000
55000
40000
50000
Experimental system S1
35000
45000
Experimental system S2
30000
The worst initial state for the LFSR
40000
Experimental system S3
35000
25000
Memory
Memory
The best initial state for the LFSR
20000
30000
25000
15000
20000
15000
10000
10000
5000
5000
0
0
1
251
501
751
1001
1251
1501
Total Test Application Time
1751
2001
2251
2501
1
2001
4001
6001
8001
10001
Total Test Application Time
12001
14001
The experiments were carried out with
three virtual core-based systems.
Three memory constraints were
investigated for each experimental
system.
The worst and the best initial states for
the LFSR of each experimental system
were examined.
Conclusions
The optimal solutions for individual cores are neglected
in favor of finding a quasi-optimal solution for the
whole system.
The procedure is simple (similar to greedy algorithm)
and fast.
This straightforward approach can be used as:
cheap practical solution
quickly computable reference for comparison with more
sophisticated optimization algorithms
The best initial state for the pseudorandom test The worst initial state for the pseudorandom test
System Number Memory Pseudorandom Deterministi Total test CPU Pseudorandom Deterministic Total test CPU
Name of cores Constraint test length c test length length
time
test length
test length
length
time
(bits)
(clocks)
(clocks)
(clocks)
(sec)
(clocks)
(clocks)
(clocks) (sec)
20 000
85
181
266
2 990
138
3128
6
187, 64
228.67
S1
10 000
232
105
337
4 446
73
4519
5 000
520
55
575
5 679
40
5719
20 000
92
222
314
3 015
151
3166
7
718.49
969.74
S2
10 000
250
133
383
4 469
82
4551
5 000
598
71
669
5 886
49
5935
20 000
142
249
391
3 016
200
3216
5
221,48
318.38
S3
10 000
465
161
626
4 521
121
4642
5 000
1 778
88
1866
8 604
72
8676
Download