150 likes | 272 Views
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 {yosais,aimane}@ccse.kfupm.edu.sa. Outline.
E N D
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 {yosais,aimane}@ccse.kfupm.edu.sa
Outline • Motivation • Research problem & contribution • Taxonomy of static compaction algorithms • Test vector decomposition • Independent fault clustering • Experimental results • Conclusion
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.
Research Problem & Contribution • Static compaction for combinational circuits. • Reduce the size of a test set as much as possible. • Contributions • 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.
Taxonomy of Static Compaction Algorithms Static Compaction Algorithms for Combinational Circuits Redundant Vector Elimination Test Vector Modification Test Vector Addition & Removal Essential Fault Pruning Set Covering Essential Fault Pruning Test Vector Reordering Merging Based on ATPG Test Vector Decomposition Based on ATPG Based on Raising Based on Relaxation IFC CBC Graph Coloring
Test Vector Decomposition • Decompose a test vector into its atomic components. • Employ relaxation per a fault. • tp = 010110 & Fp = {f1,f2,f3} • (f1,01xxxx) • (f2,0x01xx) • (f3,x1xx10) • Compaction modeled as graph coloring.
Independent Fault ClusteringPreliminaries • 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.
Independent Fault ClusteringAlgorithm Description • Fault simulate T without fault dropping. • Match essential faults: • Extract atomic component cf from t. • Map to cf CFS. • Find IFSs. • Match remaining faults: • Extract atomic component cf from t Tf. • Map cf to CFS.
Independent Fault ClusteringIllustrative Example IFS1={f1,f9} IFS2={f2}
Experimental ResultsSummary 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% - 46.6% e.g. 35.8% for s38417f • Iterative IFC improves over IFC: 1.6% - 17.2% e.g. 14.5% for s38584f
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.