A Static Test Compaction Technique for Combinational Circuits Based on Independent Fault Clustering Yahya E. Osais & Aiman H. El-Maleh King Fahd University of Petroleum & Minerals, Computer Engineering Department, Dhahran 31261, Saudi Arabia
2 Outline Motivation Research problem & contribution Taxonomy of static compaction algorithms Test vector decomposition Independent fault clustering Experimental results Conclusion
3 Motivation Rapid advancement in VLSI led to SoC. Testing SoCs requires large amount of data. Impact on testing time & memory requirements of test equipment. Challenges: –Reduce amount of test data. –Reduce time a defective chip spends on a tester.
4 Research Problem & Contribution Static compaction for combinational circuits.Static compaction for combinational circuits. –Reduce the size of a test set as much as possible. ContributionsContributions –Test vector decomposition. Test vector can be eliminated if its components can be moved to other test vectors. –Efficient static compaction algorithm. Independent fault clustering.
5 Taxonomy of Static Compaction Algorithms Static Compaction Algorithms for Combinational Circuits Redundant Vector Elimination Test Vector Addition & Removal Test Vector Modification Set Covering Test Vector Reordering Essential Fault Pruning Based on ATPG Essential Fault Pruning Based on ATPG Merging Based on Relaxation Based on Raising Test Vector Decomposition IFC CBCGraph Coloring
6 Test Vector Decomposition Decompose a test vector into its atomic components. Employ relaxation per a fault. t p = & F p = {f 1,f 2,f 3 } –(f 1,01xxxx) –(f 2,0x01xx) –(f 3,x1xx10) Compaction modeled as graph coloring.
7 Independent Fault Clustering Preliminaries Two faults are independent if they cannot be detected by a single test vector. Two faults are compatible if their components are compatible. A set of faults is independent (IFS) if no two faults can be detected by the same test vector. A set of faults is compatible (CFS) if all faults can be detected by the same test vector.
8 Independent Fault Clustering Algorithm Description Fault simulate T without fault dropping. Match essential faults: –Extract atomic component c f from t. –Map to c f CFS. Find IFSs. Match remaining faults: –Extract atomic component c f from t T f. –Map c f to CFS.
9 Independent Fault Clustering Illustrative Example Fault ComponentFault DetectedTest Vector xxx1xx0xxxf1f1 0xx11x0x10v1v1 0xxx1xxxx0f2f2 0xxxxx0x10fe3fe3 x0x1xxxxxxf1f1 10x1xxxx00v2v2 1xxxxxxx00fe4fe4 10x1xxxxxxfe5fe5 0xx0xxxxxxfe6fe6 0xx0xxx00xv3v3 xxxxxxx00xfe7fe7 x11xxxxxx0f2f2 111xxxx0x0v4v4 11xxxxx0xxfe8fe8 xx000xxxxxf9f9 xx000x11x1v5v5 xx0xxx11x1f e 10 xxx0xxxx1xf9f9 x0x01xxx1xv6v6 x0x01xxxxxf e 11
10 Independent Fault Clustering Illustrative Example After Merging Components After Mapping IFSsAfter Mapping Essential Faults Cluster Test VectorFault Component FaultFault Component Fault 00x01x0x100xxxxx0x10f3f3 f3f3 1 0xx0xxxxxxf6f6 f6f6 x0x01xxxxxf 11 x0x01xxxxxf 11 0xxx1xxxx0f2f2 10x1xx00001xxxxxxx00f4f4 f4f4 2 10x1xxxxxxf5f5 f5f5 xxxxxxx00xf7f7 f7f7 xxx1xx0xxxf1f xx0xx11xxxxx0xxf8f8 f8f8 3 xx000xxxxxf9f9 xx0xxx11x1 f 10 xx0xxx11x1f 10 4 IFS 1 ={f 1,f 9 } IFS 2 ={f 2 }
11 FC# DFs# CFs# TVs# Gates# Outputs# InputsCct c c c s f s f s208.1f s3271f s3330f s3384f s38417f s38584f s4863f s5378f s6669f s9234.1f Experimental Results Benchmark Circuits
12 Experimental Results Results by RM, GC, and IFC IFCGCRMROFCct Time (sec.)# TVsTime (sec.)# TVs# Comp# TVs c c c s f s f s208.1f s3271f s3330f s3384f s38417f s38584f s4863f s5378f s6669f s9234.1f
13 Experimental Results Results by Iterative IFC Iterative IFCIFCCct Time (sec.)# Iterations# TVs c c c s f s f s208.1f s3271f s3330f s3384f s38417f s38584f s4863f s5378f s6669f s9234.1f
14 Experimental Results Summary of Results GC computes smaller test sets. –As much as 11.9% smaller compared to RM. –1% for c2670; 9.5% for s38584f; 11.9% for s4863f. Results by IFC are better compared to RM & GC. –Improvement over RM: 3% for s208.1f – 37.5% for s38584f –Improvement over GC: 1.4% for s3384f – 31% for s38584f –Runtime of IFC is better than that of GC. Iterative IFC improves over RM: 3% %e.g. 35.8% for s38417f Iterative IFC improves over IFC: 1.6% %e.g. 14.5% for s38584f
15 Conclusion Static compaction based on Independent Fault Clustering (IFC) has been proposed. IFC is based on test vector decomposition. IFC has achieved an improvement of as much as 37.5% over random merging. Iterative IFC has achieved an improvement of as much as 46.6% over random merging and 17.2% over IFC.