Logic testing
What Is Logic Testing?
Logic testing is the process of verifying that a digital logic circuit or hardware system behaves correctly by applying input patterns and checking the resulting outputs against expected values. It is a core discipline within digital design verification, concerned with detecting manufacturing defects, design errors, and parametric variations before a device reaches deployment. Logic testing draws from combinatorial and sequential circuit theory, fault modeling, and test pattern generation algorithms, placing it at the intersection of computer engineering, electrical engineering, and formal verification.
The need for systematic logic testing became acute as integrated circuit complexity grew through the 1970s and 1980s. Early hand-crafted test patterns were quickly rendered inadequate by chips containing tens of thousands of transistors. Researchers at companies such as IBM and AT&T Bell Laboratories developed theoretical fault models and automatic test pattern generation (ATPG) tools to scale with this complexity, and the IEEE established standards for test interfaces to enable structured test across the full manufacturing flow.
Fault Models and Test Coverage
The stuck-at fault model is the foundational abstraction in logic testing. It assumes that a defective signal line is permanently held at a logical 0 (stuck-at-0) or logical 1 (stuck-at-1), regardless of the driving logic. Because the stuck-at model correlates well with many physical defects and is computationally tractable, ATPG tools built around it remain the dominant approach to generating test pattern sets for production testing. Fault coverage, the fraction of modeled faults that a given test set detects, is the primary metric for assessing test quality. The IEEE publication Testing Logic Networks and Designing for Testability provides foundational analysis of fault coverage requirements and test generation methods that remain relevant to modern practice.
Design for Testability
Design for testability (DFT) encompasses a collection of structural and architectural techniques applied during the design phase to make a circuit easier and less expensive to test after fabrication. The most widely deployed DFT technique is scan design, in which the flip-flops in a sequential circuit are connected into one or more shift registers called scan chains. This allows test equipment to load arbitrary input states into the circuit and read out the resulting states without needing to cycle through the circuit's normal input sequence. Built-in self-test (BIST) goes further, embedding test pattern generation and output response evaluation hardware on the chip itself. The IEEE review of design for testability and built-in self test provides a comprehensive treatment of scan insertion and BIST architectures for VLSI devices.
Boundary Scan and IEEE 1149.1
As boards grew to contain many densely packed integrated circuits, conventional bed-of-nails test fixtures became impractical for accessing individual component pins. The Joint Test Action Group (JTAG) developed a serial access mechanism, standardized as IEEE 1149.1, that connects test circuitry on each chip into a board-level scan chain accessible through a four-wire interface. Boundary scan, as this technique is called, allows test engineers to check interconnect faults between chips, program non-volatile devices, and debug logic behavior using the same interface. The standard has been extended through subsequent IEEE revisions to address multi-die packages, embedded cores, and high-speed I/O testing, making it a long-lived infrastructure element in electronics manufacturing.
Applications
Logic testing has applications in a range of fields, including:
- Semiconductor manufacturing test and outgoing quality screening
- Printed circuit board assembly and interconnect verification
- Embedded processor and SoC functional validation
- Automotive and aerospace electronics qualification
- Field diagnostics and maintenance of deployed hardware systems