Wei-Cheng Lien 1 , Kuen-Jong Lee 1 and Tong-Yu Hsieh 2

22
A Test-Per-Clock LFSR Reseeding Algorithm for Concurrent Reduction on Test Sequence Length and Test Data Volume Wei-Cheng Lien 1 , Kuen-Jong Lee 1 and Tong-Yu Hsieh 2 pt. of Electrical Engineering, National Cheng Kung Univ., Tai t. of Electrical Engineering, National Sun Yat-sen Univ., Tai

description

A Test-Per-Clock LFSR Reseeding Algorithm for Concurrent Reduction on Test Sequence Length and Test Data Volume. Wei-Cheng Lien 1 , Kuen-Jong Lee 1 and Tong-Yu Hsieh 2 1 Dept. of Electrical Engineering, National Cheng Kung Univ., Taiwan - PowerPoint PPT Presentation

Transcript of Wei-Cheng Lien 1 , Kuen-Jong Lee 1 and Tong-Yu Hsieh 2

Page 1: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

A Test-Per-Clock LFSR Reseeding Algorithm for Concurrent

Reduction on Test Sequence Length and Test Data Volume

Wei-Cheng Lien1, Kuen-Jong Lee1 and Tong-Yu Hsieh2

1Dept. of Electrical Engineering, National Cheng Kung Univ., Taiwan2Dept. of Electrical Engineering, National Sun Yat-sen Univ., Taiwan

Page 2: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

22Asia Test Symposium 2012Asia Test Symposium 2012

Outline

Introduction Previous Work Proposed Concurrent Multiple Test

Embedding Procedure Experimental Results Comparisons Conclusions

Page 3: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

33Asia Test Symposium 2012Asia Test Symposium 2012

Employ some specific on-chip test structure to test a circuit itself. Pseudo Random Testing Mixed-mode BIST

Reseeding Mapping Logic

Deterministic BIST Twisted Ring Counter (TRC)

LFSR

MappingLogic

ROM

Introduction – Logic Built-In Self-Test (BIST)

Circuit Under Test

In this paper we will focus on test-per-clock LFSR reseeding algorithm to reduce test sequence length and test data volume.

Page 4: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

44Asia Test Symposium 2012Asia Test Symposium 2012

Previous Reseeding Algorithms

Previous test-per-clock reseeding methods mainly comprise 3 steps. Step 1: Seed Selection

Select one pattern as an initial seed from a given test set. Step 2: Test Sequence Generation

Generate a fixed length of test sequence. Step 3: Test Set Embedding

Select pattern one-by-one. Embed as many patterns as possible. (Pattern-Oriented) Go back to Step 1 if no patterns in the remaining test set can be

embedded.

Pseudo Random Pattern 1

Pseudo Random Pattern 2

Pseudo Random Pattern 3 Step 2

Pattern 3

A pre-defined partially-specified test set

Pattern 1

Pattern 2

Pattern 3…

Pattern 2 (Seed)Step 1

Pseudo Random Pattern N

Step 3

Page 5: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

55Asia Test Symposium 2012Asia Test Symposium 2012

Features of Proposed Reseeding Algorithm Compared with previous reseeding algorithms, our

reseeding technique (called concurrent multiple test embedding method) has the following distinguishing features to determine one seed. Step 1: Test Sequence Generation

Start with a fully-unspecified pattern as an initial seed. Incrementally increase the test sequence length only

when necessary. Step 2: Candidate Pattern Generation

Directly fill the X-bits of the newly-added test sequence to generate candidate patterns for test embedding.

Step 3: Test Set Embedding Embed multiple candidate patterns at one time. Detect as many undetected faults as possible (Fault-

Oriented)

Page 6: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

66Asia Test Symposium 2012Asia Test Symposium 2012

Concurrent Multiple Test Embedding Procedure

Apply random patterns to extract hard-to-detect faults from FT and store them to FHD

A testable faults list FT

Perform seed determination process to generate oneseed Si for FHD and drop all detected faults from FHD

i ← 1

i ← i + 1Is FHD empty?

Perform seed reusing process to reuse all generated seeds in S to drop all detected faults from FT

Is FT empty?

i ← i + 1

No

Yes

No

Add Si to S

Perform seed determination process to generate one seed Si for FT and

drop all detected faults from FT

Add Si to S

ENDYes

Test Sequence GenerationCandidate Pattern Generation

Test Set Embedding

seed determination process

Page 7: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

77Asia Test Symposium 2012Asia Test Symposium 2012

Assume the CUT has 5 inputs from I1 to I5, 15 faults from f1 to f15 and P(x) = 1 + x2 + x5.

Use an user-defined input parameter LCS to limit the maximum number of consecutive redundant patterns during test sequence generation. (LCS = 6 in our example)

Seed Determination – Test Sequence Generation

x x x x xLS2 x2⊕x5 x1 x2 x3 x4

x x x x xLS3 x1⊕x4 x2⊕x5 x1 x2 x3

x x x x xLS4 x2⊕x3⊕x5 x1⊕x4 x2⊕x5 x1 x2

x x x x xLS5 x1⊕x2⊕x4 x2⊕x3⊕x5 x1⊕x4 x2⊕x5 x1

x x x x xLS6 x1⊕x2⊕x3⊕x5 x1⊕x2⊕x4 x2⊕x3⊕x5 x1⊕x4 x2⊕x5

x x x x x x1 x2 x3 x4 x5LS1

I1 I2 I3 I4 I5 I1 I2 I3 I4 I5

Pseudo Random Pattern Equation

Page 8: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

88Asia Test Symposium 2012Asia Test Symposium 2012

Specify the X-bits in the newly-added pseudo random patterns to generate candidate patterns for test embedding.

Seed Determination – Candidate Pattern Generation

x x x x x

x x x x xLS2

x x x x xLS3

x x x x xLS4

x x x x xLS5

x x x x xLS6

x 0 1 x 1

x 1 0 0 0P2

P1

x 1 1 0 1P3

0 x 0 x 1P4

1 1 1 1 xP5

1 x 0 x 1P6

LS1 f2 f6 f7 f15

f5 f9 f10 f12

f1 f3 f14

f4 f11

f8

f13

Detect FaultsX-filling

6 pattern pairs(P1, LS1) (P2, LS2) (P3, LS3) (P4, LS4) (P5, LS5) (P6, LS6)

CandidatePatterns

Page 9: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

99Asia Test Symposium 2012Asia Test Symposium 2012

x x x x x

x x x x xLS2

x x x x xLS3

x x x x xLS4

x x x x xLS5

x x x x xLS6

x 0 1 x 1

x 1 0 0 0P2

P1

x 1 1 0 1P3

0 x 0 x 1P4

1 1 1 1 xP5

1 x 0 x 1P6

x2 = 0 x3 = 1 x5 = 1

x1 = 1 x2 = 0 x3 = 0 x4 = 0

x1 = 1 x2 = 0 x3 = 1 x5 = 1

x2 = 1 x3 = 0 x5 = 1

x2= 0 x3= 0 x5= 1 x1⊕x4= 1

x1= 1 x3= 1 x2⊕x5= 1

LS1

Seed Solution of Each Pattern Pair

CompatibilityGraph

6 candidatepattern pairs

P1, LS1

P3, LS3 P6, LS6

P4, LS4

P5, LS5

P2, LS2

Seed Determination – Test Set Embedding (1/3)

6 candidate pattern pairs (P1, LS1) (P2, LS2) (P3, LS3) (P4, LS4) (P5, LS5) (P6, LS6)

Page 10: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

1010Asia Test Symposium 2012Asia Test Symposium 2012

P2

P1

P3

P4

P5

P6

f2 f6 f7 f15

f5 f9 f10 f12

f1 f3 f14

f4 f11

f8

f13

Detect Faults

4+(3+1)/2 = 6

4+(1)/1 = 5

3+(4+1)/2 = 5.5

2

1+(4)/1 = 5

1+(4+3)/2 = 4.5

Weight of (Pi, LSj)

P1, LS1

P3, LS3 P6, LS6

P4, LS4

P5, LS5

P2, LS2

CompatibilityGraph

Weight = 6

Weight = 5.5 Weight = 4.5 Weight = 5

Weight = 5

Weight = 2

Seed Determination – Test Set Embedding (2/3)

Weight of (P1, LS1) =

4 (#faults detected by P1) +

{3 (#faults detected by P3) +

1 (#faults detected by P6) } /2

= 6

Page 11: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

1111Asia Test Symposium 2012Asia Test Symposium 2012

P1, LS1

P3, LS3 P6, LS6

CompatibilityGraph

Weight = 6

Weight = 5.5 Weight = 4.5

P4, LS4

P5, LS5

P2, LS2

Weight = 5

Weight = 5

Weight = 2

Embed multiple candidate patterns to detect most undetected faults at one time.

P1, LS1

Weight = 4 Weight = 4

(P1, LS1)

(P3, LS3)

(P6, LS6)

x2 = 0 x3 = 1 x5 = 1

x1 = 1 x2 = 0 x3 = 1 x5 = 1

x1= 1 x3= 1 x2⊕x5= 1

P3, LS3

Weight = 1

P6, LS6

x1 = 1 x2 = 0 x3 = 1 x5 = 1

Seed Solution

Update All Patterns

1 0 1 x 1

1 1 0 1 xLS2

LS1 x 1 1 0 1LS3

0 x 1 1 0LS4

x 0 x 1 1LS5

1 x 0 x 1LS6

Seed Determination – Test Set Embedding (3/3)

Page 12: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

1212Asia Test Symposium 2012Asia Test Symposium 2012

1 0 1 x 1

1 1 0 1 xLS2

LS1

x 1 1 0 1LS3

0 x 1 1 0LS4

x 0 x 1 1LS5

1 x 0 x 1LS6

Seed Determination – Termination Conditions

X-filling

P1 0 x 0 x 1

Fault Coverage (FC) = 8/15 = 53%7 Undetected Faults ={f4 f5 f8 f9 f10 f11 f12}4

0

3

0

0

1

#detected faults

1 0 1 1 1LS1 4

1 1 0 1 1LS2 0

0 1 1 0 1LS3 3

0 0 1 1 0LS4 0

0 0 0 1 1LS5 2

1 0 0 0 1LS6 1

x4 = 1Seed

Solution

f4 f11Detect Faults

FC=10/15=67%

1 1 0 0 0LS7f5 f9 f10 f12 4FC=14/15=93%

1 1 1 0 0LS8 0

1 1 1 1 0LS9 1f8

FC=15/15=100%

Update All Patterns

Termination Conditions:1. All faults are detected.2. LCS consecutive patterns can

not detect any new faults evenafter applying test embedding. => Identify a new seed.

Page 13: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

1313Asia Test Symposium 2012Asia Test Symposium 2012

We reuse the generated seeds for FHD to detect all testable faults first and drop all faults detected by the generated seeds from FT.

If some testable faults in FT are still undetected, we will further utilize the remaining X-bits in those seeds to detect more faults. Sort all generated seeds in increasing order of their

derived test sequence length. Select the seed according to their sorting order. Use the seed determination process again for the

target seed to detect undetected faults in FT. Terminate until all testable faults are detected.

Otherwise, identify more seeds for all remaining faults after considering all current seeds.

Seed Reusing Process

Page 14: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

1414Asia Test Symposium 2012Asia Test Symposium 2012

CircuitName

#IN |FT||FHD|/|FT|

%

ATPG Test Set Proposed LFSR Reseeding

#TP Smax |S|#TP

(BIST)#Storage

BitsRD %

c499 41 750 5.87 54 41 4 399 164 92.59

c880 60 942 1.80 31 57 4 511 240 87.10

c1355 41 1566 1.28 84 41 12 908 492 85.71

c1908 33 1870 3.96 116 33 16 1327 528 86.21

c2670 233 2630 12.09 56 200 6 827 1398 89.29

c3540 50 3291 1.34 131 44 8 1378 400 93.89

c5315 178 5293 0.38 72 162 3 826 534 95.83

c7552 207 7419 6.36 98 194 14 1450 2898 85.71

Our method can achieve 100% fault coverage with a small number of seeds (storage data volume) and very short test sequence length (test time).

100% stuck-at fault coverage is targeted and the input parameter LCS (limit on the number of consecutive redundant patterns) is set to 60.

Experimental Results – ISCAS’85 Benchmarks

Page 15: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

1515Asia Test Symposium 2012Asia Test Symposium 2012

For any ISCAS circuit, our method can detect all testable faults in less than 5000 test cycles.

Experimental Results – ISCAS’89 Benchmarks

CircuitName

#IN |FT||FHD|/|FT|

%

ATPG Test Set Proposed LFSR Reseeding

#TP Smax |S|#TP

(BIST)#Storage

BitsRD %

s420 35 430 11.40 49 35 5 393 175 89.80

s641 54 467 3.85 33 53 6 582 324 81.82

s713 54 543 4.24 36 52 5 505 270 86.11

s820 23 850 10.35 100 18 11 1279 253 89.00

s838 67 857 16.92 78 67 12 833 804 84.62

s953 45 1079 11.68 86 44 10 914 450 88.37

s1423 91 1501 3.00 41 89 4 500 364 90.24

s5378 214 4563 3.79 112 204 7 2482 1498 93.75

s9234 247 6475 19.31 153 224 17 2218 4199 88.89

s13207 700 9664 28.39 245 663 6 3418 4200 97.55

s15850 611 11336 8.03 121 584 7 2822 4277 94.21

s38417 1664 31015 10.78 98 1455 8 3939 13312 91.84

s38584 1464 34797 3.87 155 1320 5 4292 7320 96.77

Page 16: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

1616Asia Test Symposium 2012Asia Test Symposium 2012

CircuitName

#Storage Bits #TP (BIST) TP Reduction %

Ours [1] [2] Ours [1] [2] ([1] - Ours)/[1]([2] - Ours)/[2]

c2670 1398 3029 3510 827 6225 15984 86.71 94.83

c7552 2898 5175 11440 1450 11261 23112 87.12 93.73

s420 175 385 210 393 3450 17676 88.61 97.78

s641 324 216 220 582 1499 3645 61.17 84.03

s713 270 216 165 505 1820 5790 72.25 91.28

s820 253 138 NA 1279 2916 NA 56.14 NA

s838 804 1407 871 833 5235 15093 84.09 94.48

s953 450 135 276 914 3159 3975 71.07 77.01

s1423 364 273 NA 500 1457 NA 65.68 NA

s5378 1498 856 1935 2482 4222 11808 41.21 78.98

s9234 4199 4940 6696 2218 13785 21731 83.91 89.79

s13207 4200 NA 3505 3418 NA 8550 NA 60.02

s15850 4277 NA 5508 2822 NA 12180 NA 76.83

s38417 13312 NA 34965 3939 NA 34510 NA 88.59

s38584 7320 NA 8790 4292 NA 8052 NA 46.70

Avg. 72.54 82.62 [1] E. Kalligeros, et al., "An efficient seeds selection method for LFSR-based test-per-clock BIST,“ ISQED, 2002.[2] E. Kalligeros, et al.,"Reseeding-based test set embedding with reduced test sequences," ISQED, 2005.

Comparisons – LFSR Reseeding Methods

Page 17: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

1717Asia Test Symposium 2012Asia Test Symposium 2012

Comparisons – Mapping-Logic-Based Methods

CircuitName

Area overhead (Gate Eqv.) #TP (BIST)

Ours [3] [4] Ours [3] [4]

c880 60 36 NA 511 719 NA

c1355 123 15 NA 908 1186 NA

c1908 132 25 NA 1327 3327 NA

c2670 350 373 508 827 1002 3712

c7552 725 1012 462 1450 3958 8437

s420 44 125 132 393 1876 2568

s641 81 61 67 582 1084 1302

s713 68 59 71 505 1963 1979

s820 63 182 132 1279 498 647

s838 201 423 376 833 1223 1435

s953 113 54 83 914 3147 3114

s1423 91 71 58 500 1102 929

s5378 375 143 97 2482 8469 4763

s9234 1050 948 NA 2218 11207 NA

Total (c2670 - s5378) 2111 2503 1986 11983 24322 28886

[3] E. Kalligeros, et al., "On-the-Fly Reseeding: A New Reseeding Technique for Test-Per-Clock BIST," JETTA, 2002.[4] Y. Si, et al., "Multiple test set generation method for LFSR-based BIST," ASP-DAC, 2003.

Page 18: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

1818Asia Test Symposium 2012Asia Test Symposium 2012

CircuitName

#Storage Bits #TP (BIST) TP Reduction %

Ours [5] [6] [7] Ours [5] [6] [7] [5] [6] [7]

s420 175 455 315 NA 393 1378 22365 NA 71.48 98.24 NA

s641 324 594 324 NA 582 1793 35316 NA 67.54 98.35 NA

s713 270 648 432 NA 505 1956 47088 NA 74.18 98.93 NA

s820 253 414 253 NA 1279 1260 11891 NA -1.51 89.24 NA

s838 804 2144 2077 1205 833 6464 280395 101080 87.11 99.70 99.18

s953 450 855 360 351 914 2584 32760 23660 64.63 97.21 96.14

s1423 364 455 NA 824 500 1370 NA 67527 63.50 NA 99.26

s5378 1498 NA 3852 3655 2482 NA 1652508 1031316 NA 99.85 99.76

s9234 4199 NA 12350 9173 2218 NA 6113250 3459060 NA 99.96 99.94

s13207 4200 NA 1400 6707 3418 NA 1961400 1805889 NA 99.83 99.81

s15850 4277 NA 6721 3529 2822 NA 8219783 3174908 NA 99.97 99.91

s38417 13312 NA 31616 30978 3939 NA 105249664 36216182 NA 99.996 NA

s38584 7320 NA 32208 8769 4292 NA 94337232 8936379 NA 99.995 99.95

Avg. 60.99 96.95 99.24 [5] K. Chakrabarty, et al., "Built-in Test Generation For High-Performance Circuits Using Twisted-Ring Counters," VTS, 1999.[6] S. Swaminathan, et al., "On Using Twisted-Ring Counters for Test Set Embedding in BIST," JETTA, 2001.[7] B. Zhou, et al., "Simultaneous reduction in test data volume and test time for TRC-reseeding," GL-VLSI, 2007.

Comparisons – TRC-Based Reseeding Methods

Page 19: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

1919Asia Test Symposium 2012Asia Test Symposium 2012

Conclusions This paper proposes a new test-per-clock

LFSR reseeding algorithm that can simultaneously minimize both the storage data volume and the test sequence length.

Experimental results show that comparing with previous LFSR-based reseeding

methods, our method can reduce more than 70% test sequence length with a much smaller number of seeds.

comparing with previous mapping-logic-based BIST methods, our method can save over 50% of test sequence length with comparable area overhead.

comparing with previous TRC-based reseeding methods, 60~99% test sequence length can be reduced by using our method with smaller storage data volume.

Page 20: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

2020Asia Test Symposium 2012Asia Test Symposium 2012

Thank You Very Much

for Your Attention.

Page 21: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

2121Asia Test Symposium 2012Asia Test Symposium 2012

Experimental Results – IWLS industrial circuits

CircuitName

#IN |FT||FHD|/|FT|

%#TP

(ATPG)

Proposed LFSR Reseeding

|S|#TP

(BIST)RD %

tv80 542 17645 6.15 418 21 8476 94.98

mem_ctrl 1589 21493 8.74 233 47 7930 79.83

ac97_ctrl 2487 30479 0.38 40 2 3432 95.00

usb_funct 2898 36776 5.10 88 5 7863 94.32

pci_bridge32 3955 41217 7.23 138 7 13277 94.93

wb_conmax 2524 123279 0.76 234 2 3054 99.15

des_perf 14393 231556 0.00 129 1 8921 99.22

Avg. 93.92

The results on IWLS industrial circuits are even better than those on ISCAS benchmark circuits because less number of redundant faults

100% stuck-at fault coverage is targeted and the input parameter LCS (limit on the number of consecutive redundant patterns) is set to 60.

Page 22: Wei-Cheng Lien 1 , Kuen-Jong Lee 1  and Tong-Yu Hsieh 2

2222Asia Test Symposium 2012Asia Test Symposium 2012

Experimental Results – Different LCS values

LCS 60 100 200 300 400

s838

(857 faults)

|S| 12 8 7 7 4

#TP (BIST) 833 1190 1375 2340 2597

s9234

(6475 faults)

|S| 17 14 13 12 12

#TP (BIST) 2218 2013 4279 8190 8368

s38584

(34797 faults)

|S| 5 5 4 3 3

#TP (BIST) 4292 5517 7444 9822 15739

LCS value increases → storage test data volume decreasestest sequence length increases.

100 stuck-at fault coverage is targeted.LCS: limit on the maximum number of consecutive redundant patterns