πŸ”§ DFT Blog

Part 4 of 11

Introduction to DFT

Why we need Design for Testability

By Praveen Kumar Vagala

1,412 views

The Problem

You've designed a chip with millions of flip-flops. How do you know each one works?

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β” β”Œβ”€β”€β”€β” β”Œβ”€β”€β”€β” β”‚ β”‚ β”‚FF │────►│FF │────►│FF β”‚ β”‚ β”‚ β””β”€β”€β”€β”˜ β””β”€β”€β”€β”˜ β””β”€β”€β”€β”˜ β”‚ β”‚ ↑ Logic ↑ Logic ↑ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Buried deep inside - can't access! β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Without DFT:

The Solution: DFT

DFT = Design for Testability

Add special circuitry to make testing easy.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ SIβ”€β”€β–Ίβ”Œβ”€β”€β”€β”β”€β”€β”€β”€β–Ίβ”Œβ”€β”€β”€β”β”€β”€β”€β”€β–Ίβ”Œβ”€β”€β”€β”β”€β”€β–ΊSO β”‚ β”‚ β”‚SFFβ”‚ β”‚SFFβ”‚ β”‚SFFβ”‚ β”‚ β”‚ β””β”€β”€β”€β”˜ β””β”€β”€β”€β”˜ β””β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ All flip-flops connected in a chain! β”‚ β”‚ Can shift in any pattern, observe any β”‚ β”‚ value. β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

With DFT:

Key DFT Concepts

Controllability

How easy is it to set a node to 0 or 1?

Easy to control: Input Pin ──► Node (directly connected) Hard to control: A ──┬──AND──┬──AND──┬──AND── Deep_Node β”‚ β”‚ β”‚ B β”€β”€β”˜ C β”€β”€β”˜ D β”€β”€β”˜ Need A=B=C=D=1 just to set Deep_Node=1!

Observability

How easy is it to see a node's value at outputs?

Easy to observe: Node ──► Output Pin (directly connected) Hard to observe: Deep_Node ──AND──AND──AND── Output (many gates to propagate through)

Testability = Controllability + Observability

DFT improves both by adding scan chains and test points.

Types of DFT

TechniqueWhat It Does
ScanConnects all FFs into shift registers
ATPGAuto-generates test patterns
BISTChip tests itself
JTAGStandard debug/test interface
CompressionReduces test data volume

ASIC Design Flow with DFT

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Specification β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β”‚ β”‚ RTL Design (Verilog) β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β”‚ β”‚ Synthesis ──► Gate-Level Netlist β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ DFT Insertion β”‚ ← Scan chains added β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β”‚ β”‚ DFT Netlist + Scan Protocol β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ ATPG β”‚ ← Patterns created β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β”‚ β”‚ Test Patterns (.stil) β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β”‚ β”‚ Place & Route β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β”‚ β”‚ Fabrication β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ ATE Testing β”‚ ← Patterns applied β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Cost of Testing

Testing is expensive! Typically 30-50% of chip manufacturing cost.

FactorImpact
Test timeMore patterns = more time = more cost
ATE equipment$1M-10M per tester
Test escapesDefective chip reaches customer = $$$$

DFT pays for itself by:

Summary

  1. DFT makes chips testable by adding scan chains
  2. Controllability = ability to set values
  3. Observability = ability to see values
  4. ATPG generates patterns automatically
  5. Goal: >98% fault coverage