VLSI Design Flow

Design for Testability

Techniques that make manufactured ICs testable for defects — scan chains, ATPG, BIST, and JTAG boundary scan. Industry standard: ≥95% stuck-at fault coverage before tapeout.

Scan Insertion ATPG Pattern Simulation Fault Coverage ≥95% SAFC
Gate Netlist from synthesis Scan Insertion DFF → Scan-DFF ATPG generate patterns Simulation fault coverage ≥95% SAFC DFT signoff ✓ → tapeout BIST (on-chip) JTAG Boundary Scan DFT flow: scan insertion → ATPG → fault simulation → sign-off
DFT flow: scan-inserted netlist → ATPG generates test patterns → fault simulation measures stuck-at fault coverage (SAFC) → ≥95% required for tapeout sign-off.
DFT Topics
Core Concepts & Deep Dives
🔗
Core DFT
Scan Chain Architecture
How scan flip-flops (MUX-DFF) chain into shift registers for controllability and observability. Scan shift mode vs capture mode, scan compression, OCC (On-Chip Clocking Control), and scan chain balancing.
Scan-DFFSI/SO/SEcompressionOCC
Read →
Test Patterns
ATPG & Fault Models
Automatic Test Pattern Generation: stuck-at (SA0/SA1), transition delay, bridge faults, cell-aware fault models. D-algorithm, PODEM, FAN algorithms. Fault coverage target ≥95% stuck-at.
SA0/SA1transitionD-algofault coverage
Read →
🧪
On-Chip Test
BIST — Built-In Self-Test
Logic BIST (PRPG + MISR) and Memory BIST (MBIST) for embedded SRAM/ROM. March algorithms (March C–, March X, March Y), repair algorithms, and BIST controller architecture.
PRPG/MISRMBISTMarch algoSRAM repair
Read →
🔌
Board Test
Boundary Scan (JTAG)
IEEE 1149.1 JTAG: TAP controller FSM (16 states), TDI/TDO/TMS/TCK/TRST pins, boundary scan register, instruction register, BYPASS/SAMPLE/EXTEST instructions, and board-level interconnect testing.
TAP controllerBSREXTESTIEEE 1149.1
Read →
≥95%
Stuck-at fault coverage (SAFC) — minimum for commercial ASIC tapeout
≥99%
SAFC for automotive (ISO 26262 ASIL-D) and safety-critical designs
≥80%
Transition (delay) fault coverage — detects speed-related defects
<1%
Acceptable ATPG abort rate — patterns that tool can't create test for