Built-in self-test

What Is Built-in Self-test?

Built-in self-test (BIST) is a design-for-testability technique in which test generation, application, and response evaluation logic are incorporated directly into an integrated circuit or system, allowing the device to test its own internal circuitry without external test equipment. A BIST-equipped circuit can execute a structured test sequence on command, compare the results against known-good patterns, and report a pass or fail status through a minimal interface. The technique reduces the cost and complexity of production testing and enables in-field testing during maintenance or power-up sequences.

BIST emerged as a practical necessity when advances in integration density made exhaustive testing by external automatic test equipment (ATE) increasingly time-consuming and expensive. Testing costs have been reported to account for 10 to 50 percent of total product cost for complex integrated circuits, and the economic pressure to reduce that figure drove the adoption of on-chip test infrastructure as a standard design practice.

Logic BIST

Logic BIST applies to the combinational and sequential logic blocks of a digital circuit. The canonical logic BIST architecture uses a pseudorandom pattern generator, typically a linear feedback shift register (LFSR), to apply test vectors to the circuit under test, and a multiple-input signature register (MISR) to compact the resulting output sequences into a signature word. If the signature matches a stored reference value, the test passes. The design-for-testability and built-in self-test survey published by IEEE established the foundational framework for classifying and evaluating these architectures, and the field has grown substantially since that 1990 review. Modern logic BIST implementations integrate deterministic patterns alongside pseudorandom sequences to improve fault coverage for hard-to-detect faults while keeping the area overhead of the on-chip logic manageable.

Memory BIST

Memory BIST addresses the testing of embedded SRAM, DRAM, ROM, and flash arrays, which are among the largest and most failure-prone structures on a contemporary system-on-chip. A memory BIST controller applies structured march algorithms, algorithmic patterns derived from fault models specific to array structures such as stuck-at faults, coupling faults, and neighborhood pattern sensitivity faults. Because embedded memories can occupy a significant fraction of a die's area on a complex SoC, memory BIST is often the highest-value testability investment available to a design team. Industry-standard design flows from EDA tool vendors provide memory BIST insertion as an automated step that can be applied to a complete design with minimal manual configuration, following practices described in the IEEE VLSI Test Symposium proceedings.

Design for Testability and Acceptance Testing

BIST is one element of a broader design for testability (DFT) strategy that also includes scan chain insertion, boundary scan (IEEE 1149.1, the JTAG standard), and test access port design. IEEE Standard 1149.1 defines a standardized test bus interface that allows BIST results and other diagnostic information to be routed off-chip through a four-wire interface, enabling board-level testing and in-system debugging without custom test connectors. Acceptance testing of finished products can invoke the on-chip BIST infrastructure through the JTAG port, reducing the time on ATE while maintaining the fault coverage needed to ship reliable product.

Applications

Built-in self-test has applications across a range of contexts, including:

  • High-volume consumer SoCs where ATE time must be minimized to control manufacturing cost
  • Avionics and defense electronics requiring continuous in-operation fault monitoring
  • Automotive ASICs subject to ISO 26262 functional safety requirements for hardware diagnostic coverage
  • Network processors and switching ASICs where field diagnostics must run without service interruption
  • Space electronics subject to radiation-induced transient faults requiring periodic self-verification
Loading…