Overview
Automatic Test Pattern Generation (ATPG) refers to the automated construction of input stimulus sequences (test patterns) that, when applied to a device under test, exercise specific faults and produce distinguishable responses. ATPG is a foundational activity in manufacturing test and design verification: as modern integrated circuits grow in complexity, the volume of patterns required to achieve fault coverage has grown accordingly, and a large share of generated patterns is typically concentrated on a small subset of hard-to-detect (HTD) faults.
Classical IC ATPG and the DEFT Approach
Recent research has reformulated the discrete ATPG problem as a continuous optimization task. DEFT (Differentiable Automatic Test Pattern Generation) introduces a mathematically grounded reparameterization that aligns a continuous objective with discrete fault-detection semantics, enabling reliable gradient-based pattern generation. To remain scalable and stable on deep circuit graphs, DEFT integrates a custom CUDA kernel for forward-backward propagation and applies gradient normalization to mitigate vanishing gradients. On a wide range of benchmarks, DEFT reduced pattern count by 27.3% on average and up to 75.9% compared with a leading commercial tool. It also supports practical ATPG settings such as partial assignment pattern generation, producing patterns with 19.3% fewer 0/1 bits while still detecting 35% more faults, positioning it as a complement to existing heuristic engines.
Quantum Circuit ATPG
ATPG has been extended to the testing of logical quantum circuits, where the testing process itself must contend with the inexactness and unreliability of quantum operations. A robust quantum ATPG framework introduces the stabilizer projector decomposition (SPD) for representing quantum test patterns, and constructs test application (state preparation and measurement) using Clifford-only circuits that are efficient and robust for fault-tolerant quantum computation. Because the number of stabilizer projectors grows exponentially in general, an SPD generation algorithm is paired with acceleration techniques that exploit locality and sparsity. The approach is validated through theoretical guarantees under reasonable conditions and through experiments on benchmarks such as Quantum Fourier Transform (QFT), Quantum Volume (QV), and Bernstein–Vazirani (BV) implemented in IBM Qiskit.
ATPG in SoC Verification and Coverage Closure
In system-on-chip verification flows, automated test pattern generation is used to drive random stimulus toward functional coverage closure. Practical SoC environments combine randomized stimulus generation (with weighted control over transaction counts, sizes, masters, read/write/snoopable types, and inter-transaction delays), protocol-specific drivers derived from a generic stimulus base class (for example, AXI), and parameter files such as parameters.txt that supply slave weightage, read/write weightage, and maximum transaction size. Coverage monitors, system-level scenarios, and integrated exclude lists with coverage dumping are used to track progress, while dynamically changing transaction parameters allows each master's stimulus to be regenerated automatically and improves the likelihood of reaching uncovered functional points. Targeted bug-hunting scenarios for SoCs include multi-master access to a single slave (to validate arbitration and response ordering), single-master access to multiple slaves with randomized AXI IDs (to validate out-of-order and ordered transaction handling via reflected BID/RID values), and similar stress configurations.
Outlook
ATPG research continues to broaden along two axes: improving classical ATPG engines for HTD faults at industrial scale through differentiable and gradient-based methods, and adapting the ATPG abstraction to quantum hardware using stabilizer-based representations and Clifford-only test application. Both directions emphasize scalability, stability on deep graph structures, and alignment between the underlying mathematical formulation and the discrete semantics of fault detection.