One of the highest-traffic articles I’ve written for this blog is Scan Test Basics. It seems fitting to review that article and add a few more thoughts on this topic.

Re-ordering patterns for efficiency

I pointed out in the original article that every scan pattern is independent, but that doesn’t mean that the sequence of patterns could not use some scrutiny. In fact, a little thought reveals that resequencing the patterns is a good idea, in that you can put the most efficient patterns first and cover more faults with fewer patterns. This can be a real issue since ATPG programs generally target specific faults from a list of faults that is very difficult to prioritize. Recall that the ATPG program targets a fault, then (almost as an afterthought) checks to see what other faults are caught by the same pattern. It would require a sophisticated program indeed to check for covered faults that have already been covered, and eliminate on the fly patterns that have already been composed; this task is usually done after the fact. Notice also that even if you meet your fault coverage goal with fewer patterns than you planned, it still pays to put the most efficient patterns first so that production parts that fail the scan test will do so earlier in the test and so take less time on the tester.

Scan wrapping memories, etc.

Another topic not covered in the original article is the idea of using scan test structures to isolate portions of the system not amenable to scan testing. The most notable example would be memories. A common practice in composing scan chains is to ensure that inputs and outputs of memories are registered, and these registers are scan-connected contiguously (even after scan chain re-ordering) so that these portions of the scan chain can be separated with muxes to create a memory test mode.

More reconfiguring of scan chains

Another possibility for using muxes to reconfigure scan chains and create multiple scan test modes is in scan compression. The many short scan chains can be temporarily reconfigured into a smaller number of longer scan chains that bypass the input decoder and output signature generation. In this mode, specific faults can be targeted just as they are in a non-compressed scan test and ATPG.