M. Venkatasubramanian, V. Agrawal, James J. Janaher
{"title":"Quest for a quantum search algorithm for testing stuck-at faults in digital circuits","authors":"M. Venkatasubramanian, V. Agrawal, James J. Janaher","doi":"10.1109/DFT.2015.7315149","DOIUrl":null,"url":null,"abstract":"It is colloquially known that searching for test vectors to test the last few hard to detect stuck-at faults is computationally most expensive and mathematically NP-complete. Due to the complex nature of this problem, attempts made to successfully test a digital circuit for all faults in computational linear time start becoming exponential with an increase in circuit size and complexity. Various algorithms have been proposed where new vectors are generated by using previous successful vectors with similar properties. However, this leads to a bottleneck when trying to find hard to detect stuck-at faults which have only one or two unique tests and their properties may not match other previously successful tests. We propose a new unique algorithm that attempts to vastly improve the test search time for these few hard to detect faults by classifying all test vectors in the vector space in three categories: Category I vectors that activate the desired stuck-at fault but may not propagate it to the primary outputs (POs), Category II vectors that propagate the fault site value to the POs, and Category III vectors that neither activate nor propagate the fault. By bounding our search to vectors in categories I and II, and avoiding category III vectors, it is easier to arrive at the solution faster than other algorithmic implementations. The final solution itself lies in the intersection of categories I and II vectors, and it is easier to search for a test vector in a smaller subset of the large vector space. We have demonstrated the proof of concept and detailed working of our algorithm by comparing it with a random test generator.","PeriodicalId":383972,"journal":{"name":"2015 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFTS)","volume":"51 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFTS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/DFT.2015.7315149","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8
Abstract
It is colloquially known that searching for test vectors to test the last few hard to detect stuck-at faults is computationally most expensive and mathematically NP-complete. Due to the complex nature of this problem, attempts made to successfully test a digital circuit for all faults in computational linear time start becoming exponential with an increase in circuit size and complexity. Various algorithms have been proposed where new vectors are generated by using previous successful vectors with similar properties. However, this leads to a bottleneck when trying to find hard to detect stuck-at faults which have only one or two unique tests and their properties may not match other previously successful tests. We propose a new unique algorithm that attempts to vastly improve the test search time for these few hard to detect faults by classifying all test vectors in the vector space in three categories: Category I vectors that activate the desired stuck-at fault but may not propagate it to the primary outputs (POs), Category II vectors that propagate the fault site value to the POs, and Category III vectors that neither activate nor propagate the fault. By bounding our search to vectors in categories I and II, and avoiding category III vectors, it is easier to arrive at the solution faster than other algorithmic implementations. The final solution itself lies in the intersection of categories I and II vectors, and it is easier to search for a test vector in a smaller subset of the large vector space. We have demonstrated the proof of concept and detailed working of our algorithm by comparing it with a random test generator.