survey of the algorithms in the column-matching bist method survey of the algorithms in the...

4
Survey of the Algorithms Survey of the Algorithms in the Column-Matching in the Column-Matching BIST Method BIST Method Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University Karlovo nam. 13, 121 35 Prague 2 e-mail: fi[email protected], [email protected] Mixed-Mode BIST for combinational circuits Main algorithms are described here Mixed-Mode Structure Two separate test phases: Pseudorandom – cover the easy-to-detect faults by pseudorandom patterns produced by LFSR (unmodified) Deterministic – generate deterministic patterns computed by ATPG. These are produced by a transformation of the LFSR vectors LFSR D ecoder Sw itch CUT MISR TPG m ode Mixed-Mode BIST Design Phases 1. Simulate first n LFSR patterns 2. Determine undetected faults 3. Compute a test for them (APTG) 4. Make a decoder producing test from LFSR patterns following those n 10100 01010 00101 10110 01011 10001 11100 01110 00111 10111 Pseudo-random sequence } Simulate Non-covered faults ATPG Test Vectors 1X000 1010X 11011 0001 X 10100 11011 01011 00001 10000 (non-det) Determ inistic sequence } } x-x 0 4 y -y 0 4 LFSR 10100 01010 00101 10110 01011 10100 11011 01011 00001 10000 Fina ltestsequence LFSR C UT 1 x 0 x 1 x 2 x 3 x 4 y 0 y 1 y 2 y 3 y 4 Determ inistic m ode y = x 0 0 y = x y = x y = x y = x+x 1 1 2 2 3 1 4 0 1 +

Upload: edwin-butler

Post on 18-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Survey of the Algorithms in the Column-Matching BIST Method Survey of the Algorithms in the Column-Matching BIST Method Petr Fišer, Hana Kubátová Department

Survey of the Algorithms in the Survey of the Algorithms in the Column-Matching BIST MethodColumn-Matching BIST Method

Petr Fišer, Hana KubátováDepartment of Computer Science and Engineering

Czech Technical UniversityKarlovo nam. 13, 121 35 Prague 2

e-mail: [email protected], [email protected]

Mixed-Mode BIST for combinational circuits

Main algorithms are described here

Mixed-Mode Structure

Two separate test phases:

Pseudorandom – cover the easy-to-detect faultsby pseudorandom patternsproduced by LFSR (unmodified)

Deterministic – generate deterministic patternscomputed by ATPG. These are producedby a transformation of the LFSR vectors

LFSR

Decoder

Switch

CUT

MISR

TPG

mode

Mixed-Mode BIST Design Phases

1. Simulate first n LFSR patterns

2. Determine undetected faults

3. Compute a test for them (APTG)

4. Make a decoder producing test from LFSR patterns following those n

10100010100010110110010111000111100011100011110111

Pseudo-randomsequence }Simulate Non-covered

faultsATPG Test

Vectors

1X0001010X110110001X

101001101101011 0000110000

(non-det)Deterministicsequence

} }

x-x0 4 y-y0 4

LFSR

10100010100010110110010111010011011010110000110000

Final test sequence LFSR

CUT

1

x0 x1 x2 x3 x4

y0 y1 y2 y3 y4

Deterministicmode

y = x0 0

y = xy = xy = xy = x +x

1 1

2 2

3 1

4 0 1+

Page 2: Survey of the Algorithms in the Column-Matching BIST Method Survey of the Algorithms in the Column-Matching BIST Method Petr Fišer, Hana Kubátová Department

Column - MatchingColumn - Matching

The Decoder = purely combinational circuit

It is being designed using the Column-Matching Algorithm

Input:

• The C-Matrix = the LFSR code words

• The T-Matrix = the deterministic test patterns

Output:

The Decoder logic transforming some of the C-Matrix rows to all T-Matrix rows – makes an assignment of rows

Principles of the Method

We try to implement as many Decoder outputs as simple wires - without any combinational logic

If we reorder the T-matrix vectors so that some test columns are equal to the LFSR columns, the outputs of the decoder described by these columns will be implemented as wires (we call it matches)

No output decoder is needed for matched columns

Remaining outputs must be synthesized by some Boolean minimizer (ESPRESSO, BOOM)

Direct MatchesIf i-th C-Matrix column is matched with j-th T-Matrix column, no decoder logic is

needed, however, the MUX has to be present in the SwitchBut - if i-th C-Matrix column is matched with i-th T-Matrix column, no MUX is

needed – really just a wire! – we call it a direct match

Negative MatchesIf i-th C-Matrix column is matched with j-th T-Matrix column, but having opposite

values, no decoder is needed, switch = MUX+NOTIf i-th C-Matrix column is matched with i-th T-Matrix column, but having opposite

values, no decoder is needed, switch = XOR

Negative (direct) matches

Page 3: Survey of the Algorithms in the Column-Matching BIST Method Survey of the Algorithms in the Column-Matching BIST Method Petr Fišer, Hana Kubátová Department

How to select the columns to be matched?

It is of a key importance. But NP-hard some heuristic needed

In fact – when # of C-Matrix columns >> # of T-matrix columns, almost any match is possible, until some threshold we do it at random

How to Do It?How to Do It?

What to do after a match is found?

The possible assignments of the rows have to be restricted. Two methods:

1. Decomposition into Set Systems

Initially, each of the test vectors might be assigned to any of the LFSR vectors. When an i th T-matrix column is matched with j-th C-matrix column, all the values in these columns have to be equal. Thus, both sets of the test and LFSR vectors have to be divided into halves – the halves with the “1” and “0” values in the matched columns. Vectors belonging to the sets with equal values can be matched with each other, the others not each match = one division, until one set is empty. Then the matching ends.

The final assignment of rows is easy – to each T-matrix row select one at random.

2. Blocking Matrix

Set system approach is not suitable for tests with don’t cares – the divided matrices must be repeatedly duplicated here – slow

- Blocking matrix B = binary matrix, B[r, s] = 1 when r-th C-Matrix row can be assigned to the s-th T-Matrix row

- Initially, all cells contain “1”s

- After each match, the B matrix is “pruned”

- The final assignment is not easy – NP-hard.

t1 t2 t3 t4 t5 t1 – c1

t2 – c2 or c3

t3 – c4

t4 – c6

t5 – c5

c1 1 0 0 1 0

c2 0 1 0 0 0

c3 0 1 0 0 0

c4 0 0 1 0 0

c5 0 0 1 0 1

c6 0 0 0 1 1

If c1 is assigned to t1

– OK

But if c1 is assigned to t4 – no solution

Page 4: Survey of the Algorithms in the Column-Matching BIST Method Survey of the Algorithms in the Column-Matching BIST Method Petr Fišer, Hana Kubátová Department

B-Matrix Assignment AlgorithmsB-Matrix Assignment Algorithms

Note: All the T-Matrix rows have to be assigned to some C-Matrix rows all B-Matrix columns have to be covered by rows

Not a standard CP! One row covers only one column!

Methods

Random

Randomly select one column, then randomly select one row – just for comparison

LCLR (Least Column - Least Row) heuristic

Select column with the least number of “1”s (i.e., with a small chance to be covered) and select an appropriate row with a least number of 1s to it (i.e., for other columns the most “useless” one)

Scoring matrix based heuristic

Like LCLR, however more sophisticated – computes scoring matrix based on those two frequencies of 1s. Good, but slow.

algorithm successfulness runtime

LCLR 97.3% 0.28 ns

scoring matrix 97.6% 2.94 ns

random 57.2% 0.09 ns

Comparison with Other MethodsComparison with Other MethodsCol.-matching Bit-fixing Row-matching

Bench TL GEs TL GEs TL GEs

c880 1 K 10.5 1 K 27 1 K 21

c1355 2 K 15 3 K 11 2 K 0

c1908 3 K 7.5 4 K 12 4.5 K 8

c2670 5 K 172 5 K 121 5 K 119

c3540 5.5 K 1.5 4.5 K 13 4.5 K 4

c7552 8 K 586 10 K 186 8 K 297

Col.-matching Bit-fixing Row-matching

Bench TL GEs TL GEs TL GEs

s420 1 K 24.5 1 K 28 - -

s641 4 K 15 10 K 12 10 K 6

s713 5 K 16.5 - - 5 K 4

s838 6 K 130 10 K 37 - -

s1196 10 K 6 - - 10 K 36

Acknowledgement

This research was supported by a grant GA 102/03/0672 and MSM 212300014