Fault Collapsing and Fault Dominance in DFT

Introduction


Fault Collapsing: Reduce Test Vectors in Digital Circuit Testing


Testing digital circuits presents one of the most significant challenges in modern hardware design. As integrated circuits grow increasingly complex, the number of potential faults that must be identified expands exponentially, creating a testing bottleneck that can consume substantial time and resources. Each node within a circuit presents two possible fault conditions—stuck-at-zero and stuck-at-one—leading to an overwhelming number of test vectors required for comprehensive fault detection.


This article examines fault collapsing, a systematic methodology for reducing the test vector count necessary to identify all possible faults in digital circuits. By leveraging two fundamental concepts—fault equivalence and fault dominance—designers can dramatically streamline the testing process without compromising fault coverage. Readers will gain an understanding of how these techniques optimize automatic test pattern generation (ATPG) and contribute to more efficient manufacturing test flows.


(toc) #title=(Table of Content)



Understanding the Fault Testing Challenge


In any combinational circuit, each node represents a potential fault location. A node refers to any interconnection point within the circuit—including gate inputs, gate outputs, and fanout branches. For a circuit containing N nodes, there exist 2N possible single stuck-at faults: each node can be either stuck at logic 0 or stuck at logic 1.


Example of Fault Collapsing

Consider a simple circuit with 16 fault sites. Through manual enumeration, designers might identify 32 distinct fault locations requiring individual test patterns. Without optimization, each fault would necessitate a separate test vector, leading to prohibitively long test sequences that increase manufacturing cost and time.


Fault collapsing addresses this inefficiency by identifying relationships between faults that allow multiple faults to be detected using a single test vector. This approach reduces the overall test set size while maintaining complete fault coverage.



Fault Equivalence: The First Collapsing Technique


Definition and Principle


Two faults, F1 and F2, are considered equivalent when every test vector that detects F1 also detects F2, and vice versa. When equivalence holds, all faults within the equivalence class can be represented by a single fault, eliminating redundant test vectors.


Applying Equivalence to Logic Gates


Applying Equivalence to Logic Gates

The behavior of fault equivalence depends on the gate type and the specific stuck-at condition. For an AND gate, stuck-at-zero faults at any input are equivalent to a stuck-at-zero fault at the output. If one input becomes permanently tied to logic 0, the output will remain logic 0 regardless of other input values—producing the same effect as an output stuck-at-zero condition.


Conversely, for a NAND gate, stuck-at-zero faults at inputs are equivalent to a stuck-at-one fault at the output. This inversion relationship reflects the gate's inherent logic function.


The equivalence patterns for common gates are:


  • AND Gate: Input stuck-at-0 ≡ Output stuck-at-0
  • OR Gate: Input stuck-at-1 ≡ Output stuck-at-1
  • NAND Gate: Input stuck-at-0 ≡ Output stuck-at-1
  • NOR Gate: Input stuck-at-1 ≡ Output stuck-at-0
  • Inverter: Input stuck-at-0 ≡ Output stuck-at-1, Input stuck-at-1 ≡ Output stuck-at-0

Practical Example


AND Gate Fault Collapsing

Consider an AND gate with two inputs and one output. The circuit has three nodes and six possible faults. Through fault equivalence, the three stuck-at-zero faults (two inputs and one output) collapse into a single representative fault. This reduces the test vector requirement from six to four for this single gate.



Fault Dominance: Advanced Fault Reduction


Understanding Dominance Relationships


Fault dominance occurs when one fault "dominates" another—meaning any test vector that detects the dominated fault will also detect the dominating fault. The dominated fault can be removed from consideration, as detecting the dominating fault inherently covers both.


AND Gate Dominance Example


AND Gate Dominance Example


For an AND gate, examine the relationship between:


  • F1: Stuck-at-one fault at one input
  • F2: Stuck-at-one fault at the output

The input stuck-at-one fault is detected only when all other inputs are logic 1 and the faulty input is driven to logic 0, producing an output of 0 instead of the expected 1. The output stuck-at-one fault is detected by any input combination that would normally produce a 0 output, including the specific vector that detects F1.


Because the test vector for F1 also detects F2, but not all test vectors for F2 detect F1, F2 dominates F1. Therefore, F2 can be eliminated from the fault list.


For an OR gate, the relationship reverses: stuck-at-zero faults at inputs are dominated by the output stuck-at-zero fault.


Comparing Equivalence and Dominance


Aspect Fault Equivalence Fault Dominance
Relationship Bidirectional detection Unidirectional detection
Fault Removal Remove all but one representative Remove dominated fault only
Test Vector Impact Reduces test set size Further reduces test set size
Application Order Applied first Applied after equivalence


The Checkpoint Theorem


The Checkpoint Theorem

The checkpoint theorem provides a powerful optimization principle for combinational circuits. It states that a test vector set capable of detecting all single stuck-at faults on the checkpoints of a circuit will also detect all possible stuck-at faults within the circuit.


What Are Checkpoints?


Checkpoints consist of two types of nodes:


  1. Primary input nodes
  2. Fanout branches

The theorem demonstrates that faults located at non-checkpoint nodes—such as gate outputs that do not fan out—are automatically covered by tests targeting checkpoints. This property significantly simplifies the fault collapsing process by focusing test generation efforts on critical circuit locations.



Implementation in ATPG Tools


Practical Application


Automatic Test Pattern Generation (ATPG) tools leverage fault collapsing to produce optimized test sets. The workflow follows a structured approach:


  1. Fault enumeration: Identify all possible fault locations in the circuit
  2. Equivalence collapsing: Remove equivalent faults, retaining one representative per equivalence class
  3. Dominance collapsing: Remove dominated faults from consideration
  4. Checkpoint optimization: Further reduce the fault list to checkpoint-based faults
  5. Test generation: Create test vectors for the collapsed fault set

Benefits of Collapsed Test Sets


The reduction in test vector count yields several advantages:


  • Reduced test application time
  • Lower manufacturing test costs
  • Smaller test data volumes
  • Faster ATPG runtime
  • Improved test coverage efficiency


Types of Test Vectors


Exhaustive Testing


Exhaustive testing applies every possible input combination to the circuit. For a circuit with n inputs, this requires 2^n test vectors. While comprehensive, this approach becomes impractical for circuits with more than 20-25 inputs.


Functional Testing


Functional testing applies only input combinations that correspond to valid states or operations of the circuit. Invalid or unused input combinations are omitted, reducing the test set size compared to exhaustive testing.


Fault Model Based Testing


Fault model based test vectors are generated specifically to target the collapsed fault list. This represents the optimal approach, combining the efficiency of fault collapsing with targeted test generation. The test set covers all detectable faults while minimizing vector count.



Conclusion


Fault collapsing stands as an essential methodology in digital circuit testing, enabling efficient fault detection through systematic reduction of test vectors. By applying fault equivalence and dominance principles, designers can transform a potentially unmanageable test set into a compact, comprehensive suite of test patterns.


The integration of these techniques into ATPG tools has revolutionized manufacturing test flows, allowing for thorough fault coverage without prohibitive test time or cost. As circuit complexity continues to increase with each generation of semiconductor technology, the importance of efficient test generation will only grow.


Future developments in test automation will likely build upon these foundational concepts, incorporating machine learning and statistical methods to further optimize test generation while maintaining the rigor of deterministic fault models.



FAQs


What is the difference between fault equivalence and fault dominance?

Fault equivalence means faults are detectable by the same test vectors, while dominance means one fault's test vectors also detect another fault.



How many test vectors can fault collapsing typically reduce?

Fault collapsing can reduce test vectors by 30-50% depending on circuit complexity and structure.



What is a stuck-at fault?

A stuck-at fault occurs when a circuit node is permanently fixed at either logic 0 or logic 1 regardless of input stimuli.



What is ATPG?

ATPG stands for Automatic Test Pattern Generation, software that automatically creates test vectors for digital circuits.



Why is the checkpoint theorem important?

The checkpoint theorem states that testing primary inputs and fanout branches covers all other circuit faults.



#buttons=(Ok, Go it!) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Ok, Go it!