πŸ”§ DFT Blog

Part 7 of 11

Scan Compression

Reducing test time from hours to minutes

By Praveen Kumar Vagala

1,145 views

The Problem

Modern chips have millions of flip-flops. Testing without compression is impractical.

Example:
  Chip has:       10,000,000 flip-flops
  Shift in:       10M bits
  Shift out:      10M bits
  At 100MHz:      0.1 seconds per pattern
  With 10,000 patterns: 1000 seconds = 17 minutes per chip!
  
  At $0.01/second tester cost:
  17 minutes Γ— $0.01/sec Γ— 1M chips = $10M in test costs!

The Solution: Compression

Reduce the data volume between tester and chip.

Without Compression: ATE ──[10M bits]──► Chip ──[10M bits]──► ATE With 100:1 Compression: ATE ──[100K bits]──► Chip ──[100K bits]──► ATE 17 minutes β†’ 10 seconds!

Compression Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ ATE Chip ATE β”‚ β”‚ (10 ch) (10 ch)β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ ───►│ │────►│ │────►│ │───► β”‚ β”‚ ───►│ DEC │────►│ 1000 Scan │────►│ COMP │───► β”‚ β”‚ ───►│ OMP │────►│ Chains │────►│ ACT │───► β”‚ β”‚ ───►│ │────►│ │────►│ OR │───► β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ (expand) (compact) β”‚ β”‚ β”‚ β”‚ 10 channels β†’ 1000 chains 1000 chains β†’ 10 channels β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

How Decompression Works

The decompressor expands few ATE channels to many internal scan chains using XOR networks.

ATE Input Channels:
  CH0, CH1, CH2, CH3, ... CH9 (10 channels)

Each scan chain gets a unique XOR combination:
  Chain[0]   = CH0 βŠ• CH2 βŠ• CH5
  Chain[1]   = CH1 βŠ• CH3 βŠ• CH7
  Chain[2]   = CH0 βŠ• CH4 βŠ• CH9
  Chain[3]   = CH2 βŠ• CH5 βŠ• CH8
  ...
  Chain[999] = CH1 βŠ• CH6 βŠ• CH7

Visual Representation

CH0 ─────────┬────────────┬──────────────► Chain 0 β”‚ β”‚ CH1 ────┬────┼────────XOR─┼──────────────► Chain 1 β”‚ β”‚ β”‚ β”‚ CH2 ────┼────┼──XORβ”€β”€β”€β”˜ └───XOR────────► Chain 2 β”‚ β”‚ β”‚ β”‚ β”‚ └───┼─────────────┴─────────► Chain 3 β”‚ β”‚ └────────┴──XOR──────────────────► Chain 4

ATPG tool calculates what values to put on each ATE channel to achieve desired values on all chains.

How Compaction Works

The compactor compresses many scan chain outputs into few ATE channels using XOR trees.

Chain[0] ──────┬─────────────────────────────┐ β”‚ β”‚ Chain[1] ──XOR─┼───────────────┬─────────────┼──► CH0 β”‚ β”‚ β”‚ Chain[2] ──────┴──XOR──────────┼───────────XOR──► CH1 β”‚ β”‚ Chain[3] ────────────┴─────────┼───────────────► CH2 β”‚ Chain[4] ──────────────────────┴───────────────► CH3

Key insight: Any fault effect on any chain will propagate to at least one output.

Compression Trade-offs

X-Masking

Unknown values (X) in scan chains can corrupt compressed output.

Compression without X handling:
  Chain[0] = 1
  Chain[1] = X (unknown)
  Chain[2] = 0
  
  Compressed = 1 βŠ• X βŠ• 0 = X  ← Lost all information!

Solutions:

Masking

Some faults may "mask" each other through XOR.

If Chain[0] has fault effect = 1
And Chain[1] has fault effect = 1

Compressed = 1 βŠ• 1 = 0  ← Fault masked!

ATPG tools handle this by generating patterns carefully.

Compression Ratio

Compression Ratio = Internal Chains / ATE Channels

Example:
  1000 internal chains
  10 ATE channels
  Ratio = 100:1

Higher ratio = Faster testing, but harder ATPG
Lower ratio  = Easier ATPG, but slower testing

Typical: 50:1 to 200:1

Industry Compression Schemes

VendorTechnology
SynopsysDFTMAX, DFTMAX Ultra
CadenceModus
Mentor/SiemensTessent

All use similar principles: LFSR-based decompression, XOR compaction.

Benefits Summary

MetricWithout CompressionWith 100:1 Compression
Test Data Volume10 GB100 MB
Test Time17 min/chip10 sec/chip
ATE MemoryNeed huge memoryFits in ATE
Cost per chip$10$0.10

Summary

ConceptKey Point
ProblemToo much data for millions of FFs
DecompressorExpands few inputs to many chains (XOR)
CompactorReduces many outputs to few (XOR tree)
RatioTypically 50:1 to 200:1
Trade-offX-handling, fault masking