Login or Signup
You must be logged in to perform this action.
Track your Progress
Login and use one of the options listed below.
Click the roadmap topics and use Update Progress dropdown to update your progress.
Use the keyboard shortcuts listed below.
- Right Mouse Click to mark as Done.
- Shift + Click to mark as in progress.
- Option / Alt + Click to mark as skipped.
Design for Test (DFT)
Ensure manufacturability: scan chains, ATPG, BIST, JTAG, and test compression for modern SoCs.
SEARCHABLE ROADMAP INDEX
Topics in this roadmap
Open any concept as a complete, shareable learning page with its own URL and related-topic navigation.- Analog Test Analog and mixed-signal (AMS) blocks, PLLs, ADCs, DACs, voltage regulators, SerDes/PHYs, and I/O drivers, cannot be tested with the digital stuck-at/scan methodology because their behavior is continuous and parametric rather than purely logical, so DFT for these blocks relies on different techniques. A common approach is to add digital test wrappers around analog cores that allow digital control of bias conditions, mode selection, and basic functional checks (e.g., putting a PLL into a divider/bypass mode so its output frequency can be measured digitally), bridging the analog block into the chip's digital test infrastructure via IEEE 1500-style wrappers or simple register interfaces.
- ATPG Automatic Test Pattern Generation (ATPG) is the process of algorithmically deriving input vectors that, when applied to a scan-based design, will detect specified faults by producing a different output response in a faulty circuit than in a fault-free one. Classical algorithms such as the D-algorithm, PODEM (Path-Oriented Decision Making), and FAN form the theoretical basis: each works by selecting a target fault, sensitizing it (forcing the faulty node to a value opposite its stuck value, called the D-frontier), and propagating the resulting discrepancy to an observable output while justifying the required input assignments back through the circuit. Modern commercial tools (Synopsys TestMAX, Siemens Tessent, Cadence Modus) implement highly optimized, structurally aware versions of these algorithms operating on million-gate designs.
- Compression Test compression addresses the mismatch between the number of internal scan chains a design can support (often thousands, for short chains and fast test time) and the limited number of pins/channels available on the tester (typically tens). On-chip decompressor and compactor logic sits between the tester channels and the internal scan chains: the decompressor (often implemented as an XOR/XNOR fan-out network or a ring of programmable broadcast logic) expands a small number of tester input channels into many internal scan chain inputs, while the compactor (typically an XOR tree or a more sophisticated selective compactor) compresses many chain outputs down to a small number of tester output channels.
- Debug Silicon debug and diagnosis is the process of taking a die that fails test (in the lab during bring-up, or on the tester during production) and determining the root cause, distinguishing between a design bug, a process-induced defect, a test program error, or a marginal/timing issue. DFT structures designed primarily for manufacturing test, scan chains, JTAG, MBIST, also serve as the primary access mechanisms for debug: scan dump (reading out the full state of all flip-flops via the scan chains after stopping the clock at a specific cycle) lets engineers reconstruct the internal state of the chip at the moment of failure, which is often the fastest way to localize a logic bug to a specific module.
- Defects A defect is a physical imperfection in a manufactured die, while a fault is the logical model used to represent that defect's electrical effect for test purposes; understanding the mapping between the two is essential for building effective DFT strategies. Common defect mechanisms include particle contamination causing shorts or opens, photolithography variations leading to thinning or bridging of metal lines, via voids, gate oxide breakdown, and process-induced threshold voltage shifts. Random defects scale roughly with die area and tend to dominate yield loss for mature processes, while systematic defects relate to specific layout patterns or process steps and require design-for-manufacturability (DFM) analysis to address.
- DFT Flow The DFT flow is the sequence of steps that transforms a functional RTL design into a testable netlist with scan chains, test logic, and patterns ready for tester use. It begins early in the design cycle with testability planning: defining test clocks, test modes, scan architecture (number of chains, compression ratio), and BIST insertion points, often captured in a test protocol or DFT specification. RTL is then checked with lint and design-rule checks (DRC) for testability violations such as combinational feedback loops, gated clocks without bypass, asynchronous reset domains, and tristate buses that could cause contention during scan shift.
- Economics DFT decisions are ultimately economic decisions: every scan flop, BIST controller, test point, and ATPG pattern adds area, routing congestion, and test time, all of which translate directly into cost per die. The central tradeoff is between test cost and test quality, usually expressed as defect coverage or DPPM (defective parts per million). Higher fault coverage requires more patterns, longer tester time, and often additional silicon area for compression logic or BIST, while lower coverage risks shipping defective parts that fail in the field or, worse, cause system-level returns that are far more expensive than a tester reject.
- Fault Models A fault model is an abstraction that lets ATPG tools and fault simulators represent physical defects as logical misbehaviors on a gate-level netlist, making test generation and quality measurement computationally tractable. The most fundamental and widely used model is the stuck-at fault model, which assumes a node is permanently fixed at logic 0 (stuck-at-0) or logic 1 (stuck-at-1), regardless of the inputs driving it. Stuck-at fault coverage remains the baseline metric reported for almost every digital test program, and a "single stuck-at" assumption (one fault at a time) keeps the fault list manageable even for designs with millions of gates.
- IEEE 1500 IEEE 1500 is the Standard for Embedded Core Test (SECT), created to address the test integration challenges of large SoCs assembled from many third-party and internally developed IP cores, each with its own DFT structures (scan chains, BIST, internal test ports) that need to be accessed and controlled through a common, modular interface at the chip level. Rather than mandating a specific test architecture inside each core, IEEE 1500 standardizes the wrapper that surrounds a core, defining how the chip-level test access mechanism (TAM) connects to the core's internal test logic.
- JTAG 1149.1 IEEE 1149.1, commonly called JTAG (Joint Test Action Group) or boundary scan, defines a standard four- or five-wire serial interface (TCK clock, TMS mode select, TDI/TDO serial data, and optional TRST reset) and an on-chip Test Access Port (TAP) controller for accessing test and debug logic without dedicated pins per function. The TAP controller is a 16-state finite state machine driven by TCK and TMS that moves between states for selecting instruction or data registers, shifting data in and out, and updating register contents, providing a uniform protocol regardless of the specific test logic behind it.
- Logic BIST Logic built-in self-test (LBIST) embeds pattern generation and response evaluation directly on-chip so that scan-based structural test can run with little or no tester involvement, using pseudo-random patterns generated by a linear feedback shift register (LFSR) or similar pseudo-random pattern generator (PRPG) instead of ATPG-derived deterministic vectors. Captured responses are compacted, typically by a multiple-input signature register (MISR), into a single signature that is compared against a known-good golden signature; any mismatch indicates a failure without needing to store or compare full response vectors.
- Mem BIST Memory built-in self-test (MBIST) is on-chip hardware that autonomously tests embedded SRAMs, register files, and other memory arrays without relying on external ATPG patterns shifted through scan chains, which would be impractically slow and ineffective for memories. An MBIST controller generates address sequences, write/read data patterns, and compares read-back data against expected values using a finite-state machine implemented in dedicated test logic adjacent to (or shared across) the memory instances. Because memory defects have failure mechanisms distinct from random logic (e.g., cell stuck bits, bit-line/word-line shorts and opens, coupling faults between adjacent cells, sense-amp offset issues, address decoder faults), MBIST uses specialized algorithms rather than stuck-at fault patterns.
- Scan Chains Scan design is the foundation of structural digital test: every (or nearly every) sequential element in a design is replaced with a scan flip-flop containing a multiplexer that selects between its normal data input and a scan-in input from the previous flop in the chain. When the design enters scan mode (controlled by a scan_enable signal), all flops are connected into one or more long shift registers, allowing arbitrary test patterns to be shifted in and captured responses to be shifted out through dedicated scan_in and scan_out pins. The most common implementation is the multiplexed-flip-flop (mux-D) scan cell, though level-sensitive scan design (LSSD) using dual-latch cells is still used in some high-reliability designs for its clean separation of shift and capture clocks.
- SoC Test SoC-level test integration is the discipline of orchestrating the many individual DFT structures, scan chains and compression for each core, memory BIST, logic BIST, JTAG/IEEE 1500 wrappers, analog/mixed-signal test, into a coherent chip-level test architecture that can be driven efficiently from the tester. The central element is the test access mechanism (TAM), the on-chip routing and multiplexing infrastructure that connects external test pins to internal test resources, typically organized hierarchically: a chip-level JTAG TAP controller provides the entry point, from which test instructions are decoded and routed to IEEE 1500-wrapped cores, MBIST controllers, and LBIST controllers, often through an internal test access bus or dedicated test network.
- Transition Transition fault testing, also called at-speed test or AC scan, targets timing-related defects that stuck-at patterns cannot catch because stuck-at ATPG runs at slow speed and only checks final logic values, not how quickly a signal arrives. The transition fault model assumes each gate output can exhibit either a slow-to-rise (stuck-at-0-like delay) or slow-to-fast (stuck-at-1-like delay) fault, and detecting it requires a two-pattern sequence: an initialization vector that sets the target node to the opposite value, followed by a launch pattern applied at functional clock speed and a capture that samples the response after exactly one clock period (or a small multiple of it).
- Yield Yield, the fraction of manufactured die that meet specification, is both a key business metric and a primary driver of DFT requirements, since test is the mechanism that separates good die from bad and feeds the data used to improve yield over time. Test escapes (defective die that pass test and ship) and yield loss from over-testing (good die failed by overly conservative test limits or guardbanding) are the two failure modes DFT must balance; both are quantified through metrics like DPPM (defective parts per million shipped) and test yield (percentage of die passing test), which together with fault coverage form the standard test quality scorecard.