Combinatorial Group Testing Methods for the BIST Diagnosis Problem Andrew B. KahngSherief Reda CSE & ECE Departments University of CA, San Diego La Jolla, CA CSE Department University of CA, San Diego La Jolla, CA Presented by Prof. C. K. Cheng CSE Department University of CA, San Diego La Jolla, CA UCSD VLSI CAD Laboratory,
Outline → Diagnosis in BIST Environments → Combinatorial Group Testing (CGT) → New Diagnosis Techniques: ─ Digging ─ Multi-Stage Batching ─ Doubling and Jumping ─ Hybrid Techniques: Batched Binary Search → Experimental Results and Conclusions
Diagnosis in BIST Environments Scan Chain Circuit Under Test Compactor Generator Signature A test session applies a number of test patterns
Scan Chain Circuit Under Test Compactor Generator fault 0 1 Signature A test session applies a number of test patterns Diagnosis in BIST Environments
Problem: Given a faulty BIST environment, identify faulty scan cells (= subset of scan cells receiving faulty responses) in the minimum amount of time. Abstractly: Given a set of items (scan cells), some of which are faulty (faulty scan cells), identify the subset of faulty items using a tester (compactor) that gives only a Yes/No response. Diagnosis in BIST Environments
→ Combinatorial Group Testing (CGT) → New Diagnosis Techniques: ─ Digging ─ Multi-Stage Batching ─ Doubling and Jumping ─ Hybrid Techniques: Batched Binary Search → Experimental Results and Conclusions Outline
Combinatorial Group Testing (CGT) CGT tests groups of items instead of individual items. A group tests positive (faulty) when at least one item in the group tests positive. CGT = Generic class of algorithms applied when many individuals or items are subjected to same test. A CGT experiment consists of (1) defining the groups, and (2) a diagnosis or decoding procedure to infer the status of items from the status of groups. We use CGT methods to improve existing diagnosis techniques, and as the basis of new techniques.
Diagnosis in BIST Environments Combinatorial Group Testing (CGT) → New Diagnosis Techniques: ─ Digging ─ Multi-Stage Batching ─ Doubling and Jumping ─ Hybrid Techniques: Batched Binary Search → Experimental Results and Conclusions Outline
New Diagnosis Techniques: Digging Saves lots of diagnosis time with small number of faulty cells Binary SearchDigging Example: Digging saves one test session over Binary Search Faulty Signature Fault-Free Signature
New Diagnosis Techniques: Multi-Stage Batching STAGE STAGE STAGE STAGE 4 Cell status undetermined Faulty Cell Fault-Free cell Saves lots of diagnosis time with large number of faulty cells Divide scan cells under test into groups of size = square root of total.
New Diagnosis Techniques: Doubling The number of faults is unknown Cell status undetermined Faulty cell Fault-Free cell ` 4567 ` 4567 ` ` ` ` Identify faulty cells using binary search 1113
New Diagnosis Techniques: Hybrid Techniques Phase 2: Binary Search or Digging Phase 1: Batching
Diagnosis in BIST Environments Combinatorial Group Testing (CGT) New Diagnosis Techniques: ─ Digging ─ Multi-Stage Batching ─ Doubling and Jumping ─ Hybrid Techniques: Batched Binary Search → Experimental Results and Conclusions Outline
Experimental Results FaultsDiagnosis LiteratureProposed from CGT Newly Proposed ABCDEFGHI A Rajski’s Random Partitioning B Bayraktaroglu’s deterministic partitioning C Touba’s binary search D Touba’s linear partitioning E Digging F Multi-Stage Batching G Doubling H Hybrid: Batched-BS I Hybrid: Batched Dig Diagnosis time for scan chain of length 961
Experimental Results Batched Digging Binary Search Doubling Multi-Stage Batching Techniques that excel for small values of faults perform poorly for large values of faults and vice versa
Conclusions We show that the BIST diagnosis problem corresponds to the established field of Combinatorial Group Testing (CGT) We improve on existing techniques in CGT literature We propose and adapt a number of algorithms from CGT to the BIST diagnosis problem Future Work Competitive CGT techniques for theoretical benchmarking of various diagnosis techniques Non-adaptive diagnosis techniques using binary superimposed codes Diagnosis in the presence of unreliable tests, e.g., aliasing effects in compactors like Multiple-Input Shift Registers (MISR)