X-Blocking to Prevent X Propagation; X-Masking in Test Compression
Source: VLSI Test Principles and Architectures
X-blocking prevents unknown values from reaching the response compactor by intercepting them at their source. Rather than tolerating Xs during compression, this technique forces a known constant before propagation occurs. A multiplexer driven by a select signal routes a fixed zero instead of the unpredictable output from the X Source. This ensures clean data enters the compactor during test mode. While effective at eliminating Xs, blocking removes observability for faults that only propagate through the masked path. This tradeoff can reduce overall fault coverage. To mitigate this loss, observation points may be inserted upstream of the block. Careful placement is required to avoid adding observation logic between the source and the blocking point, which would defeat the purpose of the scheme.
X-masking suppresses unknown values immediately before response compaction, preserving fault observability that source-level X-blocking can forfeit. Because over 25% of scan cycles in complex designs may carry Xs, masking at the compactor input offers high X-tolerance without eliminating propagation paths through the X-source. The mask controller drives OR gates on each scan output, forcing a logic 1 to overwrite any X-bearing bit right before the compactor. Mask timing data can be stored compressed and decompressed on-chip via LFSR reseeding or run-length encoding. Unlike X-blocking, this approach avoids fault coverage loss from blocked observation paths, trading modest control logic for robust compaction.