A chip that works in simulation but cannot be tested in production is worthless. DFT engineers the design to make every gate observable and controllable, enabling high-coverage testing of billions of manufactured devices.
A fabricated chip can fail not because of design errors, but because of manufacturing defects: tiny particles of contamination, variations in oxide thickness, or etch imperfections that create unintended shorts (bridging faults), opens, or incorrect logic levels. These are random and unpredictable — they cannot be simulated before fabrication.
Without DFT, only the primary inputs and outputs of the chip are accessible to an external tester. The internal state of millions of flip-flops is invisible, and the vast majority of gates cannot be exercised to detect defects. Industry targets for test coverage:
| Fault model | Industry target | Risk if under-target |
|---|---|---|
| Stuck-at (SA0/SA1) | > 98% fault coverage | Defective chips shipped to customers |
| Transition fault (slow-to-rise/fall) | > 95% fault coverage | Marginal chips fail in field under temperature/voltage stress |
| Path delay fault | > 85% for critical paths | At-speed failures; chips pass at low speed but fail at rated frequency |
Scan insertion replaces standard D flip-flops with scan flip-flops (SFF), which add two ports: SI (scan input) and SE (scan enable). When SE = 1, the FF's D input is disconnected and replaced by SI, forming a shift register. When SE = 0, the FF operates normally.
All SFFs are chained together into one or more scan chains. During test:
A fault model is an abstraction of a physical defect. ATPG generates patterns to detect faults defined by the model:
| Fault model | Description | Physical cause |
|---|---|---|
| Stuck-at-0 (SA0) | Net permanently at logic 0 regardless of inputs | Short to GND, broken driver |
| Stuck-at-1 (SA1) | Net permanently at logic 1 | Short to VDD, open pull-up |
| Slow-to-rise (STR) | Net rises more slowly than specified | Weak driver, increased resistance |
| Slow-to-fall (STF) | Net falls more slowly than specified | Weak pull-down, excess capacitance |
| Bridging fault | Two nets shorted together | Lithography defect, metal shorting |
| Open fault | A connection is broken | Via open, metal crack |
ATPG automatically generates the minimum set of test patterns that maximizes fault coverage. The two core operations for any ATPG algorithm are:
# Define DFT scan signals (Synopsys DC / Fusion Compiler) set_dft_signal -view existing_dft \ -type ScanEnable \ -port SE set_dft_signal -view existing_dft \ -type ScanDataIn \ -port scan_in[*] # Preview DFT insertion (dry run) preview_dft -show scan_summary # Insert DFT (replaces FFs with scan FFs) insert_dft # Write scan definition file for ATPG tool write_scan_def -output scan.def # In Synopsys TetraMAX / Mentor FastScan: run ATPG run_atpg \ -fault_type stuck \ -effort high \ -target_coverage 98
LBIST embeds a pseudo-random pattern generator (PRPG) and a multiple-input signature register (MISR) on-chip. The PRPG generates many random patterns (typically 100,000–1,000,000) and feeds them into the scan chains. The MISR compresses all captured responses into a single signature. After the test completes, the signature is compared to the expected golden value. A mismatch means at least one fault was detected.
SRAMs require dedicated MBIST because standard ATPG cannot access internal memory cells. MBIST runs march algorithms — systematic sequences of read/write operations that detect stuck-at, coupling, transition, and address decoder faults:
JTAG (Joint Test Action Group) defines a standardized serial test interface present on almost every modern chip. Four mandatory signals: TCK (test clock), TMS (test mode select), TDI (test data in), TDO (test data out), plus optional TRST (reset).
The Test Access Port (TAP) controller is a 16-state state machine driven by TCK and TMS. Key states: Test-Logic-Reset, Run-Test/Idle, Shift-DR, Shift-IR, Update-DR, Update-IR. The controller manages routing TDI/TDO to either the instruction register (IR) or data registers (DR).
Each chip I/O pin has a boundary scan cell (BSC) — a small register that can capture the pin's logic value or force it to a specific value. The BSCs form the Boundary Scan Register (BSR), chained from TDI to TDO. JTAG instructions: