Automatic test pattern generation
What Is Automatic Test Pattern Generation?
Automatic test pattern generation (ATPG) is an electronic design automation method that algorithmically produces sequences of input stimuli capable of detecting manufacturing defects in digital integrated circuits. When a test pattern is applied to a circuit under test, any deviation between the expected output and the observed output indicates the presence of a fault. ATPG tools compute these patterns without manual authorship by analyzing the circuit's netlist, identifying fault conditions, and searching for input assignments that propagate fault effects to observable outputs. The field draws from digital logic theory, computational complexity, and combinatorial optimization, and is an essential component of the physical verification flow for complementary metal-oxide-semiconductor (CMOS) integrated circuits.
ATPG became necessary as gate counts in integrated circuits grew beyond what manual test vector creation could handle. The first complete algorithmic approach was J. Paul Roth's D-algorithm, published in 1966, which introduced D-calculus notation to represent the propagation of a fault difference from its origin site to a circuit output.
Fault Models and Coverage Metrics
ATPG targets specific fault models that abstract the physical mechanisms by which manufacturing defects manifest as logical errors. The single stuck-at fault model assumes that any internal net in a circuit is either permanently stuck at logic 0 or stuck at logic 1, which models open circuits, short circuits, and gate-oxide defects with reasonable accuracy. Additional fault models used in modern ATPG include transition faults, which model delay defects that cause a signal to arrive late, and path delay faults, which target entire combinational paths. Fault coverage is the fraction of total modeled faults that at least one generated pattern detects, and it is the primary quality metric for an ATPG run. High-volume manufacturing targets fault coverage above 99% for stuck-at and above 95% for transition faults on critical product lines. Research in IEEE Xplore on combinational VLSI ATPG systems documents the evolution of algorithm efficiency for achieving high coverage on large netlists.
ATPG Algorithms and Design for Testability
ATPG algorithms operate in two phases: a random pattern phase uses pseudo-random input sequences and fault simulation to detect all easily-detectable faults quickly, and a deterministic phase applies targeted algorithms to detect the remaining hard-to-detect faults. The PODEM (Path-Oriented DEcision Making) and FAN (FANout-oriented) algorithms extend the original D-algorithm with backtracking heuristics that reduce search time on large circuits. Sequential ATPG is significantly more complex than combinational ATPG because it must account for the state of memory elements; scan design addresses this by inserting scan chains that shift register contents in and out serially, converting the sequential test problem to a combinational one. Design for testability (DFT) practices, closely linked to design automation, are applied during chip design to ensure adequate scan coverage and testability of on-chip analog blocks. The Semiconductor Engineering knowledge center on ATPG surveys the current state of industrial ATPG tools and DFT methodologies.
Integration with Design Automation Flows
ATPG tools receive a gate-level netlist from logic synthesis, together with scan-chain stitching information from the DFT insertion step, and produce a pattern set in a standard format such as IEEE 1450 STIL or ASCII WGL for delivery to automatic test equipment. The patterns are validated by fault simulation before tape-out to confirm that the claimed fault coverage is achieved. In advanced nodes below 10 nm, new defect mechanisms such as cell-aware faults, which model defects within individual standard cells, require ATPG to operate at sub-cell granularity. Pattern counts, which determine test time on ATE, are minimized through compaction algorithms that combine multiple single-fault patterns into multi-fault vectors without reducing coverage. The Cambridge Introduction to VLSI Design Flow on ATPG provides a systematic treatment of the full ATPG-to-ATE integration.
Applications
Automatic test pattern generation has applications in a range of fields, including:
- High-volume semiconductor manufacturing test for CMOS logic, memory, and SoC devices
- Automotive-grade IC qualification, where high fault coverage is a functional safety requirement
- Failure analysis and silicon debug for identifying root-cause of defective die
- Board-level JTAG boundary-scan testing using cell models derived from ATPG
- Aerospace and defense IC qualification under MIL-STD screening procedures