Design for testability

What Is Design for Testability?

Design for testability (DfT) is an engineering discipline concerned with incorporating specific structures and logic into electronic circuits and systems during the design phase to make post-manufacturing testing thorough and economical. The motivating constraint is economic: as integrated circuits grow more complex, the internal nodes of a chip become increasingly inaccessible to external test probes, and a test strategy built entirely on external stimulus and observation quickly becomes infeasible. DfT addresses this by modifying the circuit architecture to improve controllability (the ability to set internal nodes to known states) and observability (the ability to read the values of internal nodes), the two fundamental properties that determine whether a fault can be detected.

The discipline draws on digital logic design, fault modeling, and combinatorial mathematics. It became a systematic engineering practice in the 1970s with the development of scan-based methods, and its scope has expanded to include system-on-chip (SoC) architectures, memory arrays, and embedded analog circuits.

Scan Chain Design

Scan design is the most widely adopted DfT technique. In a conventional sequential circuit, flip-flops hold state that is difficult to set or observe from the chip's primary inputs and outputs. Scan design connects these flip-flops into one or more serial chains, so that during a test mode the entire internal state of the circuit can be shifted in from a scan input, the circuit clocked once, and the resulting state shifted out for comparison against an expected pattern. This converts the sequential test problem into a combinational one, which is far simpler to handle algorithmically. Automatic test pattern generation (ATPG) tools exploit the scan structure to generate compact test sets that achieve high stuck-at fault coverage: JPL's ASIC design guide on DFT describes how stuck-at fault testing, combined with scan synthesis, achieves thorough coverage in large VLSI designs with manageable computational effort. The Synopsys glossary on design for test surveys the full set of scan-based techniques and their trade-offs.

Built-In Self-Test

Built-in self-test (BIST) takes the testability principle further by embedding the test stimulus generation and response analysis logic directly inside the chip. Rather than relying on an external automated test equipment (ATE) platform to supply test patterns and check results, a BIST circuit generates its own patterns, applies them to the circuit under test, and compresses the output responses into a signature that can be compared to a known good value. Memory BIST (MBIST) is particularly widespread because embedded RAM arrays require exhaustive address and data pattern coverage that external testing is slow to provide. Logic BIST (LBIST) applies a similar self-test approach to the combinational and sequential logic sections of a chip. BIST reduces test time on ATE, enables at-speed testing in the field, and is essential for safety-critical applications where periodic self-test during operation is required.

Logic Testing

Logic testing encompasses the broader methods used to verify that a fabricated circuit performs its intended function without manufacturing-introduced faults. Combinatorial testing, which covers all combinations of input values to detect logic errors, is practical only for small circuits; at scale, fault models such as stuck-at, transition, and bridging faults allow test engineers to design targeted tests that achieve high defect coverage without exhaustive enumeration. Boundary scan, standardized in IEEE 1149.1 (commonly called JTAG), extends the scan principle to the board level, connecting the I/O cells of multiple chips into a serial chain that allows inter-chip connections to be tested without physical probing. The IEEE 1149.1 boundary-scan standard defines the TAP (Test Access Port) controller and instruction set that enable in-system testing of assembled printed circuit boards.

Applications

Design for testability has applications in a wide range of disciplines, including:

  • Semiconductor IC manufacturing yield monitoring and failure analysis
  • Automotive electronics requiring ISO 26262 functional safety compliance
  • Aerospace avionics with in-flight self-test requirements
  • Consumer electronics where ATE test time directly affects production cost
  • Network and communications SoC testing at volume
Loading…