column-matching based mixed‑mode bist technique
Post on 15-Mar-2016
29 Views
Preview:
DESCRIPTION
TRANSCRIPT
Column-Matching Based Column-Matching Based Mixed‑Mode BIST TechniqueMixed‑Mode BIST Technique
Petr FiPetr FišeršerCzech Technical UniversityCzech Technical University
Karlovo nám. 13, 121 35 Prague 2Karlovo nám. 13, 121 35 Prague 2e-mail: fiserp@fel.cvut.cze-mail: fiserp@fel.cvut.cz
22
OutlineOutlineThe aims of the DissertationThe aims of the Dissertation Introduction to BISTIntroduction to BISTProposed BIST design methodProposed BIST design methodBOOMBOOMExperimental resultsExperimental resultsConclusions & future workConclusions & future work
33
Ph.D. ThesisPh.D. Thesis
The main aim:The main aim:To develop a new BIST design method, as a To develop a new BIST design method, as a better alternative to other state-of-the-art better alternative to other state-of-the-art techniques, like bit-flipping, bit-fixing, etc.techniques, like bit-flipping, bit-fixing, etc.
Better alternative =Better alternative = Less area overheadLess area overhead More scalabilityMore scalability
44
Introduction to BISTIntroduction to BIST
Built-in Self-TestBuilt-in Self-Test Enables the device to test itselfEnables the device to test itself
Why (to) BIST?Why (to) BIST? With increasing integration density, the amount of With increasing integration density, the amount of manufacture faults is increasingmanufacture faults is increasing Thus, we have to test the chipThus, we have to test the chip With increasing complexity of the design, it becomes With increasing complexity of the design, it becomes impossible to test the chip externallyimpossible to test the chip externally Thus, we HAVE TO use BISTThus, we HAVE TO use BIST
55
Introduction to BISTIntroduction to BIST
Rule of TensRule of Tens
66
Introduction to BISTIntroduction to BIST
BIST Equipment StructureBIST Equipment Structure
[E.C. Stroud]
77
Introduction to BISTIntroduction to BIST
BIST Equipment StructureBIST Equipment Structure
[E.C. Stroud]
88
Introduction to BISTIntroduction to BIST
BIST Equipment StructureBIST Equipment Structure
[E.C. Stroud]
Test Vectors
99
Introduction to BISTIntroduction to BIST
BIST Equipment StructureBIST Equipment Structure
[E.C. Stroud]
Responses
1010
Introduction to BISTIntroduction to BIST
BIST Equipment StructureBIST Equipment Structure
[E.C. Stroud]
Pass/Fail
1111
Introduction to BISTIntroduction to BIST
The objective: the TPG designThe objective: the TPG design
[E.C. Stroud]
1212
Introduction to BISTIntroduction to BIST
Two General Approaches to BISTTwo General Approaches to BIST
Test-per-scanTest-per-scanConnect the CUT flip-flops into a scan chainConnect the CUT flip-flops into a scan chainTest the circuit seriallyTest the circuit serially
Test-per-clockTest-per-clockTests the circuit in parallelTests the circuit in parallel
1313
Scalability ProblemsScalability Problems
Aspects involved:Aspects involved:BISTE design timeBISTE design timeBISTE area overheadBISTE area overheadDuration of the BIST (number of clock cycles Duration of the BIST (number of clock cycles needed to test the circuit)needed to test the circuit)Fault coverageFault coverage
These cannot be satisfied at one time
1414
What Do Designers Want?What Do Designers Want?
Design the BIST equipment as fast as possible, regardless the area overhead and the fault coverage (no time to wait) (no time to wait)Design the BIST equipment to be as small as possible, regardless the time it takes (low (low power)power)High fault coverage is the most important aspect, the area overhead is next. The design time is not that important (common practice)(common practice)
1515
Naive MethodsNaive MethodsExhaustive TestingExhaustive Testing
Generates all the 2n patterns 100% fault coverage ensured Extremely slow – impossible to use in practice
Pseudo-Random TestingPseudo-Random Testing Apply several pseudo-random patterns to the CUT Fast 100% fault coverage is not achieved
ROM-based BISTROM-based BIST Test patterns are stored in ROM Fast, 100% fault coverage Big area overhead
1616
State-of-the-art MethodsState-of-the-art Methods
ReseedingReseedingThe pseudo-random test patterns are generated by
LFSRMore LFSR seeds are applied
Weighted Pattern BISTWeighted Pattern BISTChange the probability of occurrence of 1s and 0s in
the PR sequence
Bit-Fixing, Bit-Flipping, Row-matchingBit-Fixing, Bit-Flipping, Row-matchingModify the PR patterns by additional logic
1717
Proposed Mixed-Mode BISTProposed Mixed-Mode BIST
Combination of pseudo-random and Combination of pseudo-random and deterministic BISTdeterministic BIST
LFSR
Decoder
Switch
CUT
MISR
TPG
mode
Novel approach: the two phases are separated
Pseudo-random patterns are applied first
Then deterministic patterns are applied
1818
Proposed Mixed-Mode BISTProposed Mixed-Mode BIST
Combination of pseudo-random and Combination of pseudo-random and deterministic BISTdeterministic BIST
LFSR
Decoder
Switch
CUT
MISR
TPG
mode
Novel approach: the two phases are separated
Pseudo-random patterns are applied first
Then deterministic patterns are applied
PR patterns
0
1919
Proposed Mixed-Mode BISTProposed Mixed-Mode BIST
Combination of pseudo-random and Combination of pseudo-random and deterministic BISTdeterministic BIST
LFSR
Decoder
Switch
CUT
MISR
TPG
mode
Novel approach: the two phases are separated
Pseudo-random patterns are applied first
Then deterministic patterns are applied
PR patterns
1
2020
Proposed Mixed-Mode BISTProposed Mixed-Mode BIST
Combination of pseudo-random and Combination of pseudo-random and deterministic BISTdeterministic BIST
LFSR
Decoder
Switch
CUT
MISR
TPG
mode
Novel approach: the two phases are separated
Pseudo-random patterns are applied first
Then deterministic patterns are applied
Det. patterns
1
2121
Column-MatchingColumn-Matching
Newly proposed algorithm to synthesize the Newly proposed algorithm to synthesize the DecoderDecoder logic logic
Deterministic BIST:Deterministic BIST:LFSR produces pseudo-random code words(C-matrix)(C-matrix)These are then transformed into deterministic tests computed by ATPG(T-matrix)(T-matrix)
2222
Column-MatchingColumn-Matching
Basic PrincipleBasic PrincipleTry to reorder test patterns, so that most of the Decoder outputs will be implemented as wires – a MatchThis will be accomplished when two particular columns of the LFSR and test matrices will be equalCombinational logic – the order is insignificantUnmatched outputs have to by synthesized by a Boolean minimizer => BOOM
2323
Column-MatchingColumn-Matching
ExampleExample1 0 0 0 10 0 1 1 00 0 1 0 11 0 0 0 01 1 0 0 1
0 1 0 0 11 0 0 1 00 1 1 1 11 1 1 0 01 1 0 0 1
Output Decoder PLA
x - x y - y40 0 4
10001001101011100101111111000010011110111100110010
0100110010011111110011001
1000100110001011000011001
0100110010011111110011001
C-Matrix
T-Matrix Pruned C-Matrix
PRPG Patterns
Test Patterns Output Decoder PLA
s
n
r
p
y0 = x4’ + x1y1 = x3’y2 = x2 x3’ + x2’ x4’y3 = x0’y4 = x4
2424
Mixed-Mode CMMixed-Mode CM
1. Simulate first n LFSR patterns2. Determine undetected faults3. Compute a test for them (ATPG)4. Design a decoder generating vectors for
this test and following LFSR patterns
2525
Mixed-Mode CMMixed-Mode CM
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
ColumnMatching
2626
Mixed-Mode CMMixed-Mode CM
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+
Decoder
Switch
2727
Output Decoder DesignOutput Decoder Design
Recall:Recall:“Unmatched outputs have to by synthesized by
a Boolean minimizer => BOOM”
Why BOOM?Why BOOM?Output decoder = multiple-output function having many inputs and outputs Many = thousandsAvailable tools couldn’t handle such functions
2828
BOOMBOOMHeuristic two-level multi-output Boolean minimizerVery fast, low memory demandsEfficient especially for functions having a large number of both input and output variables (up to thousands) Advantageous for weakly specified functions (only few terms defined)Novel approach to implicant generation (see CD-Search)
2929
BOOMBOOM
Main Phases:
CD-SearchCD-SearchImplicant ExpansionImplicant ExpansionImplicant ReductionImplicant ReductionCP SolutionCP SolutionOutput reductionOutput reduction
3030
CD-SearchCD-Search
Most innovative partMost innovative partImplicants are generated top-down:Implicants are generated top-down:by reducing the universal hypercubeby reducing the universal hypercubeWe add literals to a term, until it becomes an We add literals to a term, until it becomes an implicantimplicantBased on a frequency of occurrence inBased on a frequency of occurrence inon-seton-set
3131
BOOM - IEBOOM - IE
Implicant Expansion
The implicants from CD-search are The implicants from CD-search are expanded into PIsexpanded into PIs
3232
BOOM - IRBOOM - IR
Implicant Reduction
Reduces PIs into group implicantsReduces PIs into group implicants
3333
BOOM - CPBOOM - CP
Covering problem solution
Selects an irredundant set of Selects an irredundant set of implicants implicants covering the on-setcovering the on-set
Greedy heuristic is usedGreedy heuristic is used
3434
Iterative minimizationIterative minimization
The result quality is improved by repeating the minimization and collecting implicants
Several speed-up techniques used (buffers)
3535
BOOM ExperimentsBOOM Experiments
MCNC benchmarks, comparison with ESPRESSO
139 benchmarks solved67 (48.2%) solved by BOOM in a shorter time for 52 (37.4%) BOOM gave the same result30 (57.7%) of these equal results were reached faster
3636
BOOM ExperimentsBOOM Experiments
Very large problems. Espresso unusable
Just two examples:200 inputs, 200 defined terms: in 0.06 s1000 inputs, 1000 defined terms: in 4 s
3737
And the Most Important And the Most Important ExperimentsExperiments
Output decoder design
37 output decoders37 output decodersfor 37 (100%) BOOM gave (sometimes much) better result27 (73%) solved in (a sometimes much) shorter time5 couldn’t be solved by Espresso at all
3838
And the Most Important And the Most Important ExperimentsExperiments
Output decoder design (some of them)BOOM ESPRESSO
Bench i/o/p GEs Time [s] GEs Time [s]
d_c2670 (3) 233/36/104 159.5 740.18 344.5 24 710.07
d_c7552 (1) 207/48/81 196.5 807.84 373.0 27 574.93
d_c7552 (2) 207/72/207 389.5 23 933.46 - > 24 h
d_s9234 (1) 247/77/216 655.0 18835.6 - > 24 h
d_s9234 (2) 247/38/99 186.5 266.78 252.5 17 298.0
d_s13207.1 (2) 700/58/197 293.5 1550.25 316.5 190 038
d_ s15850.1 (1) 611/96/313 197.5 3416.4 - > 24 h
d_ s15850.1 (2) 611/48/180 78.5 516.3 120.0 37 818.65
d_s38417 1664/1454/520 759.0 1923.0 - > 24 h
d_s38584.1 (1) 1664/464/307 158.0 321.9 - > 24 h
d_s38584.1 (2) 1664/464/45 11.0 46.6 31.0 20 361.71
3939
Scalability Once MoreScalability Once More
Four important BIST aspects:Four important BIST aspects:
BISTE design timeBISTE design timeFault coverageFault coverageBISTE area overheadBISTE area overheadBIST run lengthBIST run length
Cannot be satisfied at one time!
Every designer wants something else=> need for Scalability
4040
Scalability Once MoreScalability Once More
Four important BIST aspects:Four important BIST aspects:
BISTE design timeBISTE design timeFault coverage – given by ATPGBISTE area overheadBISTE area overheadBIST run lengthBIST run length
4141
Scalability Once MoreScalability Once More
Four important BIST aspectsFour important BIST aspectsWe can freely adjust the lengths of the phases
Longer PR phase Longer Det. phase
BIST design time decreased increased
Area overhead decreased decreased
BIST run length increased increased
4242
CM Experimental ResultsCM Experimental ResultsComparison with state-of-the-art methods. Equal Comparison with state-of-the-art methods. Equal
test lengths, the area overhead is comparedtest lengths, the area overhead is compared
Compared with:Compared with:Bit-Fixing[N.A. Touba, E.J. McCluskey: Bit-Fixing in Pseudorandom Sequences for Scan BIST, IEEE Transactions on CAD, Vol. 20, No. 4, April 2001, pp. 545-555]Weighted-pattern BIST[S. Wang: Low Hardware Overhead Scan Based 3-Weight Weighted Random BIST. Proc. 2001 IEEE International Test Conference]Row Matching[M. Chatterjee, D.K. Pradhan: A BIST Pattern Generator Design for Near-Perfect Fault Coverage, IEEE Transactions on Computers, vol. 52, no. 12, December 2003, pp. 1543-1558]
CM always better
CM better in 71%
CM better in 60%
4343
CM Experimental ResultsCM Experimental Results
BenchBench PRPR TLTL Time [s]Time [s] OverheadOverhead
c2670 4.5 M 5 K 437 15 %c7552 > 100 M 10 K 887 16 %s9234.1 10 M 200 K 3500 5 %s13207.1 100 K 50 K 13 0.6 %s15850.1 > 10 M 100 K 1200 5 %s38417 > 10 M 100 K 4600 14 %s35841.1 > 1 G 100 K 34 1 %b12 5 M 10 K 1080 7 %
b15 > 100 M 1 M 4800 17 %
Hard-to-test (and “big”) benchmarksHard-to-test (and “big”) benchmarks
4444
Conclusions & ContributionsConclusions & ContributionsThe Column-Matching principle proposedInfluence of the lengths of the phases is studiedVery scalable, many design parameters freely adjustableThe results obtained by CM are mostly better (wrt. the area overhead) than those obtained by state-of-the-art methodsThe method should serve as a basic guideline how to design more complex BIST designs, i.e., the multiple‑scan chain based BIST, the STUMPS architecture, etc.It can be very advantageously used to test SoCs, since the LFSR may be reused for more cores.
4545
Further WorkFurther Work
Use of different PRPGs instead of a LFSR (cellular automata)Scaling the PRPG sizeCombination with other methods (reseeding, weighted pattern testing)Decomposition of the CUTMore intense incorporation of BOOM into CM
4646
Further WorkFurther Work
Use of different PRPGs instead of a LFSR (cellular automata)Scaling the PRPG sizeCombination with other methods (reseeding, weighted pattern testing))Decomposition of the CUTMore intense incorporation of BOOM into CM
4747
BOOM ConclusionsBOOM Conclusions
Novel Boolean minimizer proposedNovel Boolean minimizer proposedDifferent approach to implicant generationDifferent approach to implicant generationFast for functions with many inputs and outputsFast for functions with many inputs and outputsOutperforms Espresso in most casesOutperforms Espresso in most casesEssential for CM Output Decoder synthesisEssential for CM Output Decoder synthesis
4848
Further WorkFurther Work
FC-Min (good for many outputs)FC-Min (good for many outputs)BOOM-II (combination of BOOM and FC-Min)BOOM-II (combination of BOOM and FC-Min)Decomposition (single-level partitioning)Decomposition (single-level partitioning)Output groupingOutput groupingESOP minimizationESOP minimizationSeveral minor enhancementsSeveral minor enhancementsMultiple-valued minimizationMultiple-valued minimization??????
4949
Further WorkFurther Work
FC-Min (good for many outputs)BOOM-II (combination of BOOM and FC-Min)Decomposition (single-level partitioning)Output groupingESOP minimizationESOP minimizationSeveral minor enhancementsSeveral minor enhancementsMultiple-valued minimizationMultiple-valued minimization??????
5050
PublicationsPublicationsBOOM
8 international conference publications1 journal publication1 research report4 citations
Extensions of BOOM5 international conference publications
Column-Matching9 international conference publications1 journal publication
Other8 international conference publications
5151
Q & AQ & A
Q: Q: Could you compare overheads of a decoder for transformation of pseudo-random patterns to deterministic patterns and the needed control unit with a BIST technique using RAM or ROM for deterministic patterns?
A: A: In fact, not yet. The ROM-based approach would definitely consume more space. Experiments on real HW are in progress.
5252
Q & AQ & A
Q:Q: What do you think about using column matching algorithms for a deterministic test set with more than one pattern for one fault in the context of complexity (time, memory size)?
A: A: Already done. It helps a lot. For a cost of a design time. See [DDECS’06].
5353
Q & AQ & A
Q:Q: Is it possible to use the developed BIST technique for delay faults?
A: A: Probably yes, after some modification of the CM algorithm. Here we have to keep two successive deterministic patterns together. A topic to think about…
5454
Q & AQ & A
Q:Q: What do you think about using your BIST for concurrent testing of more than one digital block in SoC with different number of deterministic patterns and/or the use of parallel test access mechanisms?
A: A: No problem. The LFSR may be shared among the blocks, the Decoder and MUX for each block have to be synthesized by CM. We are working on it now (and doing even more…).
5555
Bench inps 100% FC TL (PR + Det.) M SWGEs
ODGEs
TotalGEs
BIST Overhead Time [s]
s420 34 165 K 400 + 600 32 21 3.5 24.5 13 % 0.75
5 K + 1 K 34 18 0 18 9 % 5.01
s641 54 200 K 500 + 500 52 21 2 23 9 % 0.47
3 K + 1 K 54 15 0 15 6 % 0.21
s713 54 300 K 500 + 500 52 24 3 27 8 % 0.56
3 K + 1 K 54 18 0 18 5 % 0.32
s838 67 > 100 M 1 K + 1 K 37 81 45 126 32 % 26.20
10 K + 2 K 46 79.5 29 108.5 28 % 51.51
s1196 32 200 K 2 K + 1 K 28 13.5 23.5 37 7 % 1.20
9 K + 1 K 32 6 0 6 1 % 0.04
s9234 247 10 M 50 K + 1 K 208 163.5 156 319.5 8 % 350
200 K + 1 K 225 127.5 66 193.5 5 % 3500
s13207.1 700 100 K 1 K + 1 K 638 456 294 750 13 % 4000
50 K + 1 K 700 36 0 36 < 1 % 13
s15850.1 611 > 10 M 10 K + 1 K 478 397.5 187 584.5 9 % 812
100 K + 2 K 553 306 66.5 372.5 5 % 1244
s38417 1664 > 10 M 10 K + 1 K 1240 1365 1389.5 1389.5 17 % 24 K
100 K + 1 K 1000 1239 142 2284 14 % 4660
s38584.1 1464 > 1 G 10 K + 1 K 1435 379.5 57.5 437 3 % 650
100 K + 1 K 1464 165 0 165 1 % 34
b07 50 200 K 1 K + 1 K 45 33 8.5 42.5 11 % 4
10 K + 1 K 50 24 0 24 6 % 0.5
b12 126 5 M 1 K + 1 K 117 37.5 45 82.5 9 % 40
10 K + 1 K 118 33 34 67 7 % 1080
b14 277 > 100 M 1 M / 2 K 84 318 8017 8335 141 % 170 K
100 M / 1 K 90 328.5 2663.5 3319.5 56 % 100 K
b15 485 > 100 M 100 K / 1 K 241 558 4709 5267 67 % 50 K
1 M / 1 K 378 373.5 667 1355.5 17 % 4800
top related