1 fitting ate channels with scan chains: a comparison between a test data compression technique and...

Post on 12-Jan-2016

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Fitting ATE Channels with Scan Fitting ATE Channels with Scan Chains: a Comparison between a Test Chains: a Comparison between a Test

Data Compression Technique and Data Compression Technique and Serial Loading of Scan ChainsSerial Loading of Scan Chains

LIRMM LIRMM CNRS / University of Montpellier IICNRS / University of Montpellier II

FRANCEFRANCE

J. DALMASSO, M.L. FLOTTES , B. ROUZEYRE

2

Outline

• Introduction and motivation

• Serialization vs compression ?

• Compression technique

• Results

• Conclusion

3

Needs for Test Data Compression

Integration density

• Number of transistors • Number of faults to test

• Test data volume • Test time => Multiple scan chains

ATE limits:• Memory depth• # ATE channels

4

Issue

N scan chains,M ATE channels, N > M

How to fit M with N ?CUT

ATE

N

M

5

1) Serialization of test data

1 Test slice

1 Pattern

Short test sequences (No X's)

1 test pattern = L test slices

1 test slice = divided into N/M slices of M bits in ATE

6

2) Horizontal (de)compression

7

Test pattern compression

Virtual scan chains (VTS'00)

Illinois scan architecture (DATE'02)

Ring generator+phase shifter (ITC'02)

Circular scan (DATE'04)

Test data mutation encoding (DATE'02)

Xor network (DAC'01)

Reconfigurable Switch (ITC'01)

Dictionnary based methods (TDAES'03 / & ITC'04)

Netlist dependent

Test data dependent

Specific tool dependent

Long test sequences (due to X's, low fill rate)

8

Issues

Given: M ATE channels, N scan chains, N > M

Fitting M with N ?– Serialization : short test sequences (No X's)– Compression: long test sequences (X's)

What is the best solution ?

9

Proposed horizontal compression method

FeaturesCircuit netlist independent (suitable for IPs)Test data independent (additional test patterns)Specific tools independentLow cost hardware decompressor

Input: test data sequence actually applied to CUTNo impact on fault coverage

Take advantage of X's in test sequence

10

Decompressor architecture

N

0 0 0 0Add Cells

OutputShift Register

To scan chains

From ATEM

11

aN-1…………………………………..…...…….a0

Decompression principle

Let Si = aN-1………………..…...…….a0

Let Si+1 = bN-1…………………..………b0

1/ it exists Sci = cM-1……c0 / Si+1 = Si + Sci

0 0 0 0c0c1

12

c0c1

bN-1…………………………………………..…b0

Decompression principle

Let Si = aN-1………………..…...…….a0

Let Si+1 = bN-1…………………..………b0

1/ it exists Sci = cM-1……c0 / Si+1 = Si + Sci

1 slice on N bits (Si+1) => 1 slice of M bits (Sci) in ATE

0 0 0 0

Remark : P(cj: aibi) = 1/ 2dist => uniform distribution of inputs over adders

dist

13

Decompression principle

Let Si = aN-1………………..…...…….a0 Let Si+1 = bN-1…………………..………b0

2/ it does not exist Sci = cM-1……c0 => serial loading of Si+1

b2M

bM

b0

b2M+1

bM+1

b1

A slice on N bits (Si+1) => N/M slices of M bits in ATE

14

Compression

• Case 1 : it exists Sci on M bits => 1 slice of M bits

• Case 2 : it does not exist Sci => N/M slices of M bits

• Compression – Maximize case 1 occurrences– Presence of X's

• Columns ordering• X's assignment• Pattern ordering

15

S1: 0 X 1 X

S2: 1 1 X X

S3: X 1 X 0

S4: 1 X X X

S1: 1 X X 0

S2: X 1 X 1

S3: X 1 0 X

S4: X X X 1

Scan Chains Scan Chains

ATE Channels ATE Channels

Compression algorithm: columns ordering

P(cj: aibi) = 1/ 2dist

16

Compression algorithm: X's assignment

I = 1

If SCi

Initialization of Si

Si+1 = Si + SCi

i++

i++

NO

YES

SCi coded

on M bits

shift mode

add mode

Si coded

on N bits

SCi assignment

END

while i< #Slices

17

Initialization and assignment

SC1: 0 1 0

SC2: 0 1 0

SC3 : 1 1 0

SC4 : - - -

S1: 1 X X 0 X 1 X X 0S2: X X 1 X X 0 X 0 X

S3: X 0 X X X 1 X X X

S4: X 1 X X 0 0 0 X X

S5: X X 0 1 X 0 1 X X

S1: 1 0 1 0 0 1 0 0 0

S2: 1 0 1 0 1 0 0 0 0

S3: 1 0 1 0 1 1 0 0 0

S4: 1 1 0 1 0 0 0 0 0

S5: X X 0 1 X 0 1 X X

Init =>

Init =>

ATE Channels

Scan chains

18

Compression algorithm: X's assignment

I = 1

If SCi

Initialization of Si

Si+1 = Si + SCi

i++

i++

NO

YES

SCi coded

on M bits

shift mode

add mode

Si coded

on N bits

SCi assignment

END

while i< #Slices

19

Compressed Slice assignment

000100101S1X0X0XX1XXS2XXX1XXX0XS3XX000XX1XS4XX10X10XXS5

?

a b c

S1

S2 S2

S4

S3 S3

S4

S5

0 1 1

0 1 1

1 1 1

0 0 1

0 1 0

0 1 0

1 1 0

a b c

S5

20

Example

SC1 : 0 1 1

SC2 : 0 1 1

SC3 : 1 1 1

SC4 : 0 0 1

S1: 1 X X 0 X 1 X X 0S2: X X 1 X X 0 X 0 X

S3: X 0 X X X 1 X X X

S4: X 1 X X 0 0 0 X X

S5: X X 0 1 X 0 1 X X

S1: 1 0 1 0 0 1 0 0 0

S2: 1 0 1 0 1 0 0 0 1

S3: 1 0 1 0 1 1 0 1 0

S4: 1 1 0 1 0 0 0 1 1

S5: 1 1 0 1 0 0 1 0 0

Init =>

21

Pattern ordering

V0

V1V1 V2V2 V3V3 V4V4

V1V1 V2V2 V4V4

V2V2 V4V4

V2V2

• Pattern order has an influence on the number of compressed slices Comparison of Pattern

Ordering Algorithm: Greedy algorithm Simulated Annealing

22

Decompression synchronization

0 0

Scan enable Control

CLK

S1 1 0 0 0

S2 1 0 0 1

S3 1 1 1 0

S4 0 1 1 0

S1 -> S2 : 0 1

S2 -> S3 : 1 1

S3 -> S4 : - -

X X X X

XXXX

X X X X

1 0

X 1 X 0

1 1

X X X X

XXXX

X X X X

0 0

1 0 0 0

1 1

1 0 0 0

XXXX

X X X X

0 1

1 0 0 1

1 0

1 0 0 1

0001

X X X X

1 1

1 1 1 0

1 0

1 1 1 0

1001

1 0 0 0

0 1

1 0 0 1

1 1

1 1 1 0

1001

1 0 0 0

1 0

0 1 1 0

1 1

0 1 1 0

0111

1 0 0 1

0 1

0 1 1 1

1 0

Original test Sequence

Compressed test Sequence

FSM

Sc1 1 0Sc2 0 0Sc3 0 1Sc4 1 1Sc5 0 1Sc6 1 0

23

Compression vs serialization

CC SS NT

1M

NNT

NCNC SS

2SS PL1M

NNNT

NCC

MNVCC SS M

M

NVV

NCNC SS

M

NNNMV

NCC SS

Test Time (loading) = Depth

Data Volume

With Compression Serialization

11 PL1M

NLPT

1PM

NLMV

1slice

24

Experiments: Compression vs Serialization

• Test data sequences– Compression : X's needed

• type 1 : no compaction – long test sequences (very low fill rate)

• type 2 : compaction during ATPG – medium size test sequences

– Serialization : No X's, • type 3 : all ATPG optimizations enabled (fault

dropping, random filling, compaction …)– short test sequences (fully specified)

– ATPG

25

Experimental results

S5378 circuit (214 flip-flops)

26

Experimental results

s5378 214 7 217 83,19 1519 48608 21992 54.76 1109 3383 160 1120 35840 5767 38,64 41,34

s9234 247 8 215 77,3 1720 55040 30176 45.17 1036 4679 186 1488 47616 7634 36,63 38,71

s13207 699 22 272 93 5984 191488 65296 65.9 5258 9182 250 5500 176000 27772 62,9 66,94

s15850 611 20 142 84 2840 90880 42520 53.21 2015 6302 126 2520 80640 12746 47,27 50,56

s35932 1763 56 26 50 1456 46592 28256 39.35 764 4306 25 1400 44800 7081 36,93 39,19

s38417 1664 52 440 93,83 22880 732160 244192 66.65 20332 33564 145 7540 241280 37897 -1,2 11,43

s38580 1464 46 189 85,49 8694 278208 119448 57.07 6615 17245 142 6532 209024 32848 42,85 47,5

Gain

Volume %

Time %

#comp. Slices

Time (cycles)

serial loading

#Pat #SlicesVolume

(bits)Time

(cycles)% X #Slices

compression

Circuit FF L#Pat

original volume (bits)

comp. volume (bits)

comp ratio %

N= 32 scan chains , M = 8 ATE channels

27

Comparison with Circular Scan [*]

[*] B. Arslan, A. Orailoglu, "CircularScan: a scan architecture for test cost reduction", DATE'04, pp: 1290-1295.

28

Post process for regular circuits (not for IPs):Fault simulation => Pattern Dropping

Pattern rejection algorithm

Compression & X’s Assignment

Test Sequence with X’s

Fully specified Test Sequence : T

1 XX1 0 X0 1

XX1 XX1 0 X

P1:

P2:

f1, f2

f3

11 0 1 0 0 0 1

10 1 1 0 1 0 1

P1:

P2:

f1, f2

f3, f1, f2

T T*P Pattern

P* Pattern

With P* ≤ P

29

Pattern Dropping Algorithm

30

Conclusion

• Simple horizontal compression techniqueCircuit netlist independent (suitable for IPs)Test data independentSpecific tool independent

• Effective alternative to serializationCompacted test sequences vs fully specified

sequences

31

Pattern Dropping Algorithm

For i=1 to #Pi in T

If fdi > fdi-1

Add Pi to T*

Fault simulation of T*

Number of detected faults: fdi

i++

i++

End For

NO

YES

Remove Pi from T*

New test sequence T*

32

Column Ordering

Pattern Ordering

Compression

Pattern Dropping standard circuits only

Compression process summary

33

Perspectives

Other sequential decompressor structuresCo-optimization test architecture / compression

test time: tam sizing / wrapper sizing / decompressor

34

State Of The Art

At the CUT inputs (when test vectors are applied)

At the CUT outputs (when the test responses are checked)

35

State of The ArtOutput Compression

• Time compaction (MISR based solutions)• Risk of aliasing

• Diagnosis difficult» Koenemann (IBM) ITC’01

• Spatial compaction (Xor trees based solutions)• Presence of unknown values

» Mitra ITC’02

• Mixed methodse.g. Convolutional compactors

» Rajski (MENTOR) ITC’04

top related