{"id":3249,"date":"2012-08-18T19:20:17","date_gmt":"2012-08-18T19:20:17","guid":{"rendered":"https:\/\/www.techdesignforums.com\/eda\/?p=3249"},"modified":"2012-10-19T20:20:29","modified_gmt":"2012-10-19T20:20:29","slug":"software-diagnosis-of-broken-scan-chains","status":"publish","type":"post","link":"https:\/\/www.techdesignforums.com\/practice\/technique\/software-diagnosis-of-broken-scan-chains\/","title":{"rendered":"When good DFT goes bad: debugging broken scan chains"},"content":{"rendered":"<p>The advent of on-chip compression, built-in self-test (BIST), and fault models targeted at leading-edge process nodes have cemented the position of scan-based testing as the most powerful design-for-test (DFT) method for digital semiconductor devices. Since chain elements are based on the sequential elements of a design, they can easily occupy 30% of a chip\u2019s area and can account for up to 50% of chip failures [1]. Since Murphy\u2019s law still prevails, and everything that can go wrong eventually will go wrong, having the ability to effectively debug broken scan chains is therefore crucial for test pattern bring-up, failure analysis, and yield learning.<\/p>\n<h2>Detecting scan-chain defects<\/h2>\n<p>The most effective way to test the scan chains, and to detect any broken scan chains, is using a dedicated \u2018chain test pattern\u2019 or \u2018chain flush\u2019 pattern. A chain test simply shifts a sequence, typically \u201800110011\u2019, through the entire scan chain without exercising the functional circuitry. The pattern that appears on the device output pins is expected to be exactly the same sequence that\u2019s shifted in, assuming there are no inverters along the chain. Any defect in the scan chain will be observed by the tester on the scan output pins, as shown in Figure 1.<\/p>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Figure 1. Using a scan chain test to observe failing scan chains (Source: Mentor Graphics)\" href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/08\/tdf-ment-aug12-fig1-lrg.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/08\/tdf-ment-aug12-fig1-med.jpg\" alt=\"\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Figure 1<\/span><br \/>\nUsing a scan chain test to observe failing scan chains (Source: Mentor Graphics \u2013 click image to enlarge)<\/p>\n<\/div>\n<p>The chain test results also help us understand the type of defect that haunts our scan chains. As shown in Figure 1 and for additional models in Table 1, different defect types will yield different chain test results. A single delay defect will, for instance, result in the correct sequence appearing at the output pins, but with a one-cycle offset.<\/p>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Table 1. Chain fault models determined by chain patterns (shift-in: 001100110011)\" href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/08\/tdf-ment-aug12-table1-lrg.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/08\/tdf-ment-aug12-table1-med.jpg\" alt=\"\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Table 1<\/span><br \/>\nChain fault models determined by chain patterns (shift-in: 001100110011) (Source: Mentor Graphics \u2013 click image to enlarge)<\/p>\n<\/div>\n<h2>Location, location, location<\/h2>\n<p>While detecting a scan chain defect is trivial, identifying the defect location is much more complex. Knowing the exact location of the defect is crucial for bring-up, failure analysis (FA), and debug applications. The chain test results will not give any indication of where in the chain the defect is located. Depending on the type of defect, it is also virtually impossible to determine how many defects exist on each failing chain.<\/p>\n<p>Since we cannot identify the defect location from the chain test results, we have to take a more sophisticated approach. There are four general ways of identifying scan chain defects. These are:<\/p>\n<ul>\n<li>Tester based techniques such as on-tester fault targeted patterns [2]<\/li>\n<li>Physical failure analysis based techniques such as laser modulation mapping [3]<\/li>\n<li>Modified scan architectures [1]<\/li>\n<li>Software based diagnosis [1]<\/li>\n<\/ul>\n<p>This article focuses on software-based diagnosis, which is based on production test results and does not require any additional test time or dedicated hardware equipment. Software-based diagnosis is offered by all commercial automatic test pattern generation (ATPG) tool vendors, and is loosely based on ATPG technology.<\/p>\n<p>A typical flow for scan-chain diagnosis is shown in Figure 2. An ATPG software tool is initially used to generate test patterns for a device. These patterns include chain patterns and the scan patterns that target faults in the functional circuitry of the design.<\/p>\n<p>When these patterns are executed on the tester (ATE), failures have to be collected for both the chain patterns and the scan patterns. Typically, failures from at least 32 scan patterns are required to achieve good diagnosis results. The diagnosis software then uses the gate-level representation of the design, test patterns, and the tester fail data to identify the location and type of scan-chain defects.<\/p>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Figure 2. Scan-chain diagnosis flow (Source: Mentor Graphics)\" href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/08\/tdf-ment-aug12-fig2-lrg.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/08\/tdf-ment-aug12-fig2-med.jpg\" alt=\"\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Figure 2<\/span><br \/>\nScan-chain diagnosis flow (Source: Mentor Graphics \u2013 click image to enlarge)<\/p>\n<\/div>\n<p>A typical diagnosis tool will use a collection of algorithms to provide the best possible results, but to get a basic understanding, we will take a closer look at the simulation technique, shown in Figure 3.<\/p>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Figure 3. Simulation of scan patterns to identify failing cell location (Source: Mentor Graphics)\" href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/08\/tdf-ment-aug12-fig3-lrg.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/08\/tdf-ment-aug12-fig3-med.jpg\" alt=\"\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Figure 3<\/span><br \/>\nSimulation of scan patterns to identify failing cell location (Source: Mentor Graphics \u2013 click image to enlarge)<\/p>\n<\/div>\n<p>In this example, there is a \u2018stuck-at\u2019 defect in one of the scan chains. When a scan pattern is shifted into the chains, all the cells on the input side of the defect (labeled B in Figure 3) are correctly loaded, but the defect corrupts the cells on the output side of the defect, so that these cells may have incorrect values. During the scan capture, the loaded values propagate through the functional circuitry and may be captured in other scan cells. Cells with fan-ins, including the incorrectly loaded scan cells (labeled C), may capture incorrect values, while cells with inputs fanning in from the correctly loaded scan cells (labeled D), capture the correct data. When data is shifted out of the chains, the cells on the input side of the chain defect (B) will be corrupted so that incorrect values may occur on the output pins, while the cells on the right side of the defect that are fed by data from good chains (E) will capture correct data.<\/p>\n<p>By now you may have noticed the use of the word \u201cmay\u201d in the previous sentences. Whether or not incorrect data is captured as a result of the defect depends on whether the faulty behavior differs from the expected behavior. For instance, if the expected value for all the \u2018B\u2019 cells is 1, then no failures will be observed when the pattern is shifted out. By analyzing the failures from multiple failing scan patterns, and tracing failures back to the origin, diagnosis tools can use this simulation approach to identify the failing locations.<\/p>\n<h2>Taking scan-chain diagnosis to the next level<\/h2>\n<p>The simulation approach alone may be insufficient to provide accurate results, especially in cases of multiple and intermittent defects. For large designs, simulation runtimes can be very high due to the amount of fail data that has to be simulated. New techniques have therefore emerged to help address these concerns. Profiling [4] and dictionary-[5] based approaches can help improve accuracy, resolution, and runtime. Technology has also been developed to ensure that diagnosis is compatible with on-chip compression [6]. These new approaches make scan-chain diagnosis a viable solution for even the largest designs for both low-volume applications such as failure analysis, and volume diagnosis applications for yield analysis [7-8].<\/p>\n<h2>Case Study<\/h2>\n<p>In a recent study, a semiconductor company suffered from lower than expected yields on certain wafers of several products on a relatively new 40nm process [9]. More than 50% of die with failures in the digital circuitry were caused by scan-chain defects. To increase the chance of successful physical failure analysis (PFA) results, fail data was collected from about 100 failing die. Of these, 61 devices had diagnosis results deemed good enough to be used as starting point for PFA. The requirements were set to a diagnosis score larger than 95, a diagnosed chain segment of less than three scan cells, and less than four faulty scan chains. Five devices with the best diagnosis results were selected for PFA, and defects correctly identified in all five cases, as indicated in<\/p>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Figure 4. Physical failure analysis images from locations identified by scan chain diagnosis (Source: Mentor Graphics)\" href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/08\/tdf-ment-aug12-fig4-lrg.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/08\/tdf-ment-aug12-fig4-med.jpg\" alt=\"\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Figure 4<\/span><br \/>\nPhysical failure analysis images from locations identified by scan chain diagnosis (Source: Mentor Graphics \u2013 click image to enlarge)<\/p>\n<\/div>\n<p>Of the five devices analyzed, poly residue was found in four. The last device had a defect at the closed-loop contact-etch stop layer (CESL).<\/p>\n<h2>Conclusion<\/h2>\n<p>Software-based scan-chain diagnosis is an effective and automatable tool for debugging broken scan chains as part of a device bring-up, failure analysis, and yield-analysis process. The technology has been proven by many industrial cases for a wide range of scenarios [10].<\/p>\n<h2>References<\/h2>\n<p>[1] Y. Huang, R. Guo, W.-T. Cheng, J. C.M. Li, \u201cSurvey of Scan Chain Diagnosis\u201d, IEEE Design and Test of Computers, May 2008, pp. 240-248.<br \/>\n[2] A. Crouch, \u201cDebugging and Diagnosing Scan Chains\u201d, Electronic Device Failure Analysis, January 2005, pp. 16-24<br \/>\n[3] S. Kasapi, W. Lo, J. Liao, B. Cory, H. Marks, \u201cAdvanced Scan Chain Failure Analysis Using Laser Modulation Mapping and Continuous Wave Probing\u201d, Proc. of International Symposium of Testing and Failure Analysis (ISTFA) 2011, pp. 12-17. www.asminternational.org.<br \/>\n[4] Y. Huang, W.-T. Cheng, R. Guo, T.-P. Tai, F.-M. Kuo, Y.-S. Chen, \u201cScan Chain Diagnosis by Adaptive Signal Profiling with Manufacturing ATPG Patterns\u201d, Asian Test Symoposium (ATS) 2009, pp. 35-40.<br \/>\n[5] R. Guo, Y. Huang, W.-T. Cheng, \u201cA complete test set to diagnose scan chain failures\u201d, Asian Test Symoposium (ATS) 2007, pp. 1-10.<br \/>\n[6] Y. Huang, W.-T. Cheng, J. Rajski, \u201cCompressed pattern diagnosis for scan chain failures\u201d, IEEE International Test Conference (ITC) 2005, pp. 744-751.<br \/>\n[7] C. Schuermyer, B. Benware, G. Rhodes, D. Appello, V. Tancorre, O. Riewer, \u201cDevice Selection for Failure Analysis of Chain Fails Using Diagnosis Driven Yield Analysis\u201d, Proc. of International Symposium of Testing and Failure Analysis (ISTFA) 2011, pp. 91-97. www.asminternational.org<br \/>\n[8] F.-M. Kuo, Y.-S. Chen, \u201cYield Ramp up by Scan Chain Diagnosis\u201d, Asian Test Symposium (ATS) 2009, pp. 94-95.<br \/>\n[9] Y. Huang, B. Benware, W.-T. Cheng, T.-P. Tai, F.-M. Kuo, Y.-S. Chen, \u201cCase Study of Scan Chain Diagnosis and PFA on a Low Yield Wafer\u201d, IEEE International Test Conference (ITC) 2010, poster.<br \/>\n[10] Y. Huang, \u201cYield Improvement by Scan Chain Defects Diagnosis\u201d, ASM International webinar, http:\/\/www.mentor.com\/products\/silicon-yield\/multimedia<\/p>\n<h2>About the Authors<\/h2>\n<p>Geir Eide earned an MS in electrical and computer engineering from the University of California at Santa Barbara and is a product marketing manager in the Silicon Test Solutions group at Mentor Graphics Corporation. He can be contacted at <a href=\"mailto:geir_eide@mentor.com\" target=\"_blank\">geir_eide@mentor.com<\/a>.<\/p>\n<p>Yu Huang earned a PhD in electrical and computer engineering from the University of Iowa and is a software developer in the Silicon Test Solutions group at Mentor Graphics Corporation. He can be contacted at <a href=\"mailto:yu_huang@mentor.com\" target=\"_blank\">yu_huang@mentor.com<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Scan chains help you test complex chip designs. But how do you test the scan chains themselves when they go wrong? <\/p>\n","protected":false},"author":329,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[997,1004,733,441,1067],"coauthors":[996],"class_list":["post-3249","post","type-post","status-publish","format-standard","hentry","category-test-design","tag-atpg","tag-bist","tag-dft","tag-jtag-debugging","tag-scan","workflow-technique","workflow-up-to-date","organization-mentor-graphics"],"_links":{"self":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/posts\/3249","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/users\/329"}],"replies":[{"embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/comments?post=3249"}],"version-history":[{"count":0,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/posts\/3249\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/media?parent=3249"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/categories?post=3249"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/tags?post=3249"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/coauthors?post=3249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}