切割診斷(cid)—提高成品率陡升工藝的產量的方法
2023-05-11 15:32:16
切割診斷(cid)—提高成品率陡升工藝的產量的方法
【專利摘要】公開了用於產生集成電路(IC)中的候選者故障電路系統的方法。方法包括從集成電路的至少一個失敗輸出向後跟蹤,以使用從IC的設計的無故障模擬獲得的模擬值來確定每個失敗輸出的對應的扇入錐。方法進一步包括,確定每個失敗輸出的懷疑故障候選者的第一集合,其中每個懷疑故障候選者潛在與IC中有故障的元件相對應。方法接下來包括從第一集合中的每個懷疑故障候選者向前跟蹤,以確定懷疑故障候選者的第二集合,其是第一集合的窄子集。最後,方法包括從IC設計識別失敗塊,其中失敗塊包括來自第二集合的懷疑故障候選者,並且可以獨立於整個設計來模擬失敗塊。
【專利說明】切割診斷(CID) —提高成品率陡升工藝的產量的方法
【技術領域】
[0001]根據本發明的實施例總體上涉及半導體電路(IC)生產,更具體地涉及用於在IC生產期間提高成品率陸升(yield ramp up)工藝的速度的方法和系統。
【背景技術】
[0002]半導體IC生產本身是一個複雜的流程,開始於新的晶片的設計、通過嚴格的製造工藝並結束於產品測試和分布。監控和增加成品率所需的數據分析是巨大的挑戰,特別是由於伴隨採用不斷縮小的技術節點的同時數據量變大和多樣化。特定產品設計工藝測試方法論具有更複雜的根本原因診斷的路徑,使得工程師對於成品率限制的本質的清晰理解更加困難,從而降低了成品率陡升工藝的速度。
[0003]在半導體行業中,成品率陡升工藝的速度對於上市時間指標至關重要。確定IC中的失敗的行為的根本原因是成品率陡升工藝中至關重要的任務。基於根本原因方法論的常規軟體對於大多數設計例如中央處理器單元(CPU)或者圖像處理單元(GPU)往往非常慢並且是資源密集型的。舉例來說,可能用兩天時間在具有256千兆字節(GB)存儲器的系統上來為一個失敗的GPU晶片確定失敗的根本原因。因此,如果包括100個晶片的晶片具有50個失敗的晶片,那麼可能用100天的時間來為所有晶片確定失敗的根本原因。這種級別的延遲是不可接受的。
[0004]採購數個高容量的測試器系統並且將其並行運行並沒提供勝任的解決方案。具有高於256GB存儲器的高容量的機器是昂貴的,並且獲得數個這樣的機器使其並行運行所需的資本經費是顯著的。另外,因為基於根本原因過程的軟體使用由可測試性設計(DFT)工程師所提供的測試圖案來在這些測試器系統上模擬晶片的整個設計,所以是非常慢的。慢的一個原因在於,當造成失敗的缺陷可能只構成整個晶片的極小一部分時對於整個設計的不必要的模擬。舉例來說,在包括1.5億個單元的GPU中,可能只有一個單元影響到缺陷。或者,舉例來說具體缺陷可能僅影響晶片區域的大約I微米平方,而整個晶片可能大於500毫米平方。常規模擬軟體為了實施缺陷位置的根本原因分析,將模擬整個設計甚至不顧診斷和模擬可以只需要針對單元的較小集。
【發明內容】
[0005]因此,所需要的是用於實施失敗的晶片的根本原因分析的有效的、快速的和便宜的系統和方法,其在如果造成失敗的缺陷位於晶片的相對小的面積上時,省卻對整個晶片的設計進行模擬的需要。
[0006]本發明的實施例提供對於加速成品率陡升工藝中的固有挑戰的解決方案。在本發明的一個實施例從晶片的整個設計中智能地確定並切割出由缺陷所影響的邏輯,並且創建更小的設計。隨後,基於模擬的軟體在更小的設計上運行以提供在對缺陷位置進行隔離所使用的候選電路系統。由本發明教導的該方法可以稱為「切割診斷(cutter indiagnosis),,(CID)0
[0007]在一個實施例中,公開了用於產生集成電路(IC)中的候選者故障電路系統的方法。方法包括從集成電路的至少一個失敗輸出向後跟蹤,以使用從IC的設計的無故障模擬獲得的模擬值來確定每個失敗輸出的對應的扇入錐(fan-1n cone)。方法進一步包括,確定每個失敗輸出的懷疑故障候選者的第一集合,其中每個懷疑故障候選者潛在與IC中有故障的元件相對應。方法接下來包括從第一集合中的每個懷疑故障候選者向前跟蹤,以確定懷疑故障候選者的第二集合,其是第一集合的窄子集。最後方法包括從IC設計識別失敗塊,其中失敗塊包括來自第二集合的懷疑故障候選者,並且可以獨立於整個設計來模擬失敗塊。
[0008]在另一個實施例中,公開了一種計算機可執行指令存儲於其上的計算機可讀存儲介質,如果指令由計算機系統執行,使得計算機系統實施用於產生集成電路中的候選者故障電路系統的方法。方法包括從IC的至少一個失敗輸出向後跟蹤,以使用從IC的設計的無故障模擬獲得的模擬值來確定每個失敗輸出的對應的扇入錐。進一步,方法包括確定每個失敗輸出的懷疑故障候選者的第一集合,其中每個懷疑故障候選者潛在與IC中的有缺陷的元件相對應。接下來,方法包括從第一集合中的每個懷疑故障候選者向前跟蹤,以確定懷疑故障候選者的第二集合,其是第一集合的窄子集。最後,方法包括從IC設計識別失敗塊,其中失敗塊包括來自第二集合的懷疑故障候選者,並且可以獨立於整個設計來模擬失敗塊。
[0009]在不同的實施例中,公開了用於測試器系統。存儲器系統包括用於在測試記錄中讀取的輸入接口,其中測試記錄包括與在硬體測試和裸片(die)的探查期間所記錄的、多個失敗輸出處的所觀察的響應相關的信息。系統還包括存儲器,用於存儲與裸片相對應的集成電路的設計和從集成電路的設計的模擬所生成的模擬值。進一步還包括處理器,器配置為:(a)從與集成電路的設計相關聯的多個失敗輸出向後跟蹤,以使用從集成電路的設計的無故障模擬獲得的模擬值來確定每個失敗輸出的對應的扇入錐;(b)確定每個失敗輸出的懷疑故障候選者的第一集合,其中每個懷疑故障候選者潛在與對於在對應的失敗輸出處產生失敗結果負有責任的集成電路中的缺陷相對應;(C)從第一集合中的每個懷疑故障候選者向前跟蹤,以確定懷疑故障候選者的第二集合,其中第二集合是第一集合的窄子集,並且其中與第一集合中的每個懷疑故障候選者相比,第二集合中的每個懷疑故障候選者具有更高的可能性與集成電路中的缺陷相對應;(d)從集成電路的設計識別失敗塊,其中失敗塊包括來自第二集合的懷疑故障候選者,並且其中可以獨立於設計來模擬失敗塊。
[0010]以下結合附圖更詳細的描述將提供對本發明的本質和優點的更好的理解。
【專利附圖】
【附圖說明】
[0011]在附圖的圖中以示例而非限制的方式對本發明的實施例進行說明,其中同樣的參考數字指代類似元件。
[0012]圖1是能夠實現本公開的實施例的、計算系統的示例的框圖。
[0013]圖2是用於測試半導體IC晶片的自動化測試設備裝置的示意框圖。
[0014]圖3示出了顯示金屬上的示例性開口缺陷的電子顯微鏡圖像。
[0015]圖4示出了根據本發明一個實施例的、包括可以使用CID工具切割出的由缺陷所影響的邏輯的晶片設計中的示例性失敗塊。
[0016]圖5A是示出了根據本發明一個實施例的、用於用來挑選懷疑故障列表以確定晶片設計中的失敗塊的通用診斷過程的示例性過程的框圖。
[0017]圖5B是示出了根據本發明的一個實施例的、用於確定與失敗輸出比特相關聯的失敗塊的診斷的分區的框圖。
[0018]圖6是示出了根據本發明一個實施例的、用於使用CID工具來檢修缺陷的1C、確定失敗的根本原因以及提高成品率的示例性處理流程的框圖。
[0019]圖7描繪了根據本發明一個實施例的、使用CID過程識別候選者故障電路系統的示例性過程的流程圖640。
【具體實施方式】
[0020]現在將對本公開的各實施例加以詳細參考,其示例在附圖中示出。在結合這些實施例進行描述的同時,應理解它們並不意圖將本公開限定於這些實施例。相反,本公開意在涵蓋可以被包括在由所附權利要求所定義的本公開的精神和範圍內的替代、修改或等同物。此外,在下面本公開的詳細描述中,將闡述大量具體細節以提供對本公開更徹底的理解。然而,應理解本公開可以在沒有這些具體細節的情況下被實施。在其他示例中,未詳細描述公知的方法、算法、部件和電路以避免對本公開的各方面內容造成不必要的混淆。
[0021]接下來的部分詳細描述以算法、邏輯框、處理以及對計算機存儲器內數據比特進行操作其他象徵性表示來提出。這些描述和表示是由數據處理領域技術人員所使用的手段,以向本領域的其他技術人員最有效地傳達他們工作的實質。在本應用中,算法、邏輯框、處理等等,被設想為得出期望結果的步驟或指令的自洽序列。步驟利用物理量的物理操縱。通常,儘管不是必要地,這些量採用能在計算機系統中被存儲、轉移、組合、對比和另外操縱的電或磁信號的形式。已經證明,主要是出於共同使用的原因,將這些信號稱為事務處理、比特、值、元素、符號、字符、樣本、像素等等有時是方便的。
[0022]然而應該牢記,所有這些類似的術語是與合適的物理量相關聯的,並且僅僅是附屬於這些量的方便的標籤。除非特別的聲明否則如從以下所述所明確的,應該理解,貫穿本公開利用諸如「確定」、「模擬」、「跟蹤」、「提取」等等術語的描述,是指計算機系統,或類似電子計算設備,或處理器(例如圖1的系統110)的動作和過程(例如圖640的流程圖7)。計算機系統或類似電子計算設備對計算機系統存儲器、寄存器或其他這樣的信息存儲、傳送或顯示設備中的表示物理量(電的)的數據進行操作和變化。
[0023]本文描述的實施例可一般圍繞著存在於某一形式的計算機可讀存儲介質上的計算機可執行指令加以討論,諸如由一臺或多臺計算機或其他設備執行的程序模塊。以示例的方式但非限制,計算機可讀存儲介質可以包括非暫時性計算機可讀存儲介質和通信介質;非暫時性計算機可讀介質包括除了暫時性傳播信號之外所有的計算機可讀介質。通常,程序模塊包括例程、程序、對象、部件、數據結構等等,其執行特定任務或實現特定的抽象數據類型。程序模塊的功能可以在各種實施例按照期望加以組合或分配。
[0024]計算機存儲介質包括易失性和非易失性、可移動的和不可移動的以任何方法或技術實現的介質,用於存儲信息諸如計算機可讀指令、數據結構、程序模塊或其他數據。計算機存儲介質包括但不限於,隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦可編程ROM(EEPR0M)、閃速存儲器或其他存儲器技術、壓縮光碟ROM (⑶-ROM)、數字多用盤(DVD)或其他光學存儲、盒式磁帶、磁帶、磁碟存儲或其他磁性存儲設備、或任何其他可用來存儲期望信息並可訪問以重新得到這些信息的介質。
[0025]通信介質可體現計算機可執行指令、數據結構及程序模塊,並包括任何信息遞送介質。以示例的方式但非限制於,通信介質包括有線介質諸如有線網絡或直接有線連接,以及無線介質諸如聲頻、射頻(RF)、紅外線及其他無線介質。以上的任意組合也可包括在計算機可讀介質範圍內。
[0026]圖1是能夠實現本公開的切割診斷工具的、計算系統110的示例的框圖。計算系統110寬泛地代表任何能夠執行計算機可讀指令的單或者多處理器計算設備或系統。計算機系統110的示例包括但不限於,工作檯、筆記本電腦、客戶側終端、伺服器、分布式計算系統、手持設備或任何其他計算系統或設備。在其大多數基本配置中,計算系統110可以包括至少一個處理器114和系統存儲器116。
[0027]處理器114通常代表任何類型或形式的、能處理數據或解釋並執行指令的處理單元。在某些實施例中,處理器114可以從軟體應用或模塊接收指令。這些指令可以使處理器114實施一個或多個本文描述和/或示出的示範性實施例的功能。
[0028]系統存儲器116通常代表任何類型或形式的、能存儲數據和/或其他計算機可讀指令的易失性或非易失性存儲設備或介質。系統存儲器116的示例包括但不限於,RAM、ROM、閃速存儲器或任何其他適合的存儲器設備。雖然不加以要求,但在某些實施例中計算系統110可以包括易失性存儲器單元(諸如,系統存儲器116)和非易失性存儲設備(諸如,主存儲設備132)這兩者。
[0029]計算系統110除處理器114和系統存儲器116外還可以包括一個或多個部件或元件。例如,在圖1的實施例中,計算系統I1包括存儲器控制器118、輸入/輸出(I/O)控制器120以及通信接口 122,它們每個都可以經由通信基礎設施112互相連接。通信基礎設施112通常代表任何類型或形式的、能促進計算設備中一個或多個組件之間通信的基礎設施。通信基礎設施112的示例包括但不限於,通信總線(諸如工業標準架構(ISA)、外圍部件互連(PCI)、PCI Express (PCIe)或類似總線)和網絡。
[0030]存儲器控制器118通常代表任何類型或形式的、能處理存儲器或數據或者能控制計算系統110的一個或多個部件間通信的設備。舉例來說,存儲器控制器118可以經由通信基礎設施112來控制處理器114、系統存儲器116及I/O控制器120之間的通信。
[0031 ] I/O控制器120通常代表任何類型或形式的、能協調和/或控制計算設備的輸入輸出功能的模塊。舉例來說,I/o控制器120可以控制或促進計算系統110的一個或多個元件之間的數據的轉移,諸如處理器114、系統存儲器116、通信接口 122、顯示適配器126、輸入接口 130以及存儲接口 134。
[0032]通信接口 122寬泛地代表任何類型或形式的、能促進示範性計算系統110和一個或多個附加設備之間通信的通信設備或適配器。舉例來說,通信接口 122可以促進計算系統110和包括附加計算系統的私人或公共網絡之間的通信。通信接口 122的示例包括但不限於,有線網絡接口(諸如網絡接口卡)、無線網絡接口(諸如無線網絡接口卡)、數據機以及任何其他適合的接口。在一個實施例中,通信接口 122經由至諸如網際網路的網絡的直接鏈路提供了到遠程伺服器的直接連接。通信接口 122也可以通過任何其他適合的連接來間接提供這種連接。
[0033]通信接口 122也可以代表主機適配器,配置為經由外部總線或通信通道來促進計算系統110與一個或多個附加網絡或存儲設備之間的通信。主機適配器的示例包括但不限於,小型計算機系統接口(SCSI)主機適配器、通用串行總線(USB)主機適配器、IEEE (電氣與電子工程師協會)1394主機適配器、串行高級技術附件(SATA)和外部SATA (eSATA)主機適配器、高級技術附件(ATA)和並行ATA (PATA)主機適配器、光纖通道接口適配器、乙太網適配器等等。通信接口 122也可以允許計算系統110參與分布式或遠程計算。例如,通信接口 122可以從遠程設備接收指令,或向遠程設備發送指令用於執行。
[0034]如圖1所示,計算系統110還可以包括至少一個經由顯示適配器126耦合到通信基礎設施112的顯示設備124。顯示設備124通常代表任何類型或形式的、能視覺顯示由顯示適配器126所轉發的信息的設備。類似地,顯示適配器126通常代表任何類型或形式的、配置為轉發圖形、文本和其他數據用於在顯示設備124上顯示的設備。
[0035]如圖1所示,計算系統110也可包括至少一個經由輸入接口 130耦合到通信基礎設施112的輸入設備128。輸入設備128通常代表任何類型或形式的、能向計算系統110提供計算機生成或人工生成的輸入的輸入設備。輸入設備128的示例包括但不限於,鍵盤、定位設備、語音識別設備、控制杆、觸控螢幕、擴音器或任何其他輸入設備。
[0036]如圖1所示,計算系統110也可包括主存儲設備132和經由存儲接口 134耦合到通信基礎設施112的可選備用存儲設備133。存儲設備132和133通常代表任何類型或形式的、能存儲數據和/或其他計算機可讀指令的存儲設備或介質。舉例來說,存儲設備132和133可以是磁碟驅動器(例如,所謂的硬碟驅動器)、軟盤驅動器、磁帶驅動器、光碟驅動器、閃盤驅動器等等。存儲接口 134通常代表任何類型或形式的、用來在存儲設備132和133與計算系統110的其他部件之間轉移數據的接口或設備。
[0037]在一個示例中,資料庫140可存儲在主存儲設備132內。資料庫140可代表單個資料庫或計算設備的一部分,或者它可代表多個資料庫或計算設備。舉例來說,資料庫140可代表(存儲於)計算系統110的一部分,和/或圖2 (下文)中示範性網絡架構200的一部分。或者,資料庫140可代表(存儲於)一個或多個能被諸如計算系統110和/或部分網絡架構200所訪問的物理上單獨的設備。
[0038]繼續參考圖1,存儲設備132和133可配置為,對配置為存儲計算機軟體、數據或其他計算機可讀信息的可移動存儲單元進行讀取和/或寫入。適合的可移動存儲單元的示例包括但不限於,軟盤、盒式磁帶、光碟、閃速存儲器設備等等。存儲設備132和133還可包括其他類似結構或設備,以允許計算機軟體、數據或其他計算機可讀指令載入計算系統110。舉例來說,存儲設備132和133可配置為讀取和寫入軟體、數據或其他計算機可讀信息。存儲設備132和133還可以是計算系統110的一部分,或可以是通過其他接口系統訪問的單獨的設備。
[0039]許多其他設備或者子系統可以連接到計算系統110。相反,無需提供圖1所示出的所有部件和設備以施行本文所述的實施例。以上所引用的設備和子系統還可以按照不同於圖1所示的方式來互連。計算系統110還可以採用任何數目的軟體、固件和/或硬體配置。以舉例來說,本文公開的示範性實施例可在計算機可讀介質上編碼為電腦程式(也稱作計算機軟體、軟體應用、計算機可讀指令或計算機控制邏輯)。
[0040]包含電腦程式的計算機可讀介質可載入計算系統110。存儲於計算機可讀介質上的全部或部分電腦程式隨後可存儲於系統存儲器116和/或存儲設備132和133的各部分中。當由處理器114執行時,載入計算系統110中的電腦程式可使處理器114實施和/或作為實施本文描述和/或示出的示範性實施例的功能的手段。附加地或替代地,本文描述和/或示出的示範性實施例可在固件和/或硬體中實現。
[0041]舉例來說,用於實現CID解決方案的電腦程式可以存儲在計算機可讀介質上並且隨後存儲在系統存儲器116和/或存儲設備132和133的不同部分。當電腦程式由處理器114執行時,使得處理器114執行和/或是用於實施實行以下進一步詳細描述的CID過程所需的功能的手段。
[0042]切割診斷(CID) —提高成品率陸升工藝的產量(throughput)的方法
[0043]失敗的IC器件的診斷對於提供有關製造工藝期間發生在IC中的缺陷的位置和類型的有價值的信息是至關重要的。使用診斷數據來實行統計成品率分析,以高效識別IC中的主導缺陷圖案並因此提高成品率陡升工藝。
[0044]如上所述,在半導體行業中成品率陡升工藝的速度對於上市時間標準至關重要。確定IC中的失敗的行為的根本原因是成品率陡升工藝中的關鍵任務。然而,基於根本原因方法論的常規軟體對於大規模設計往往非常慢並且是資源密集型的。舉例來說,對於具有數百萬門的大規模設計,診斷工具可能要求達數百千兆比的存儲器。
[0045]此外,隨著每晶片門數的繼續增加,常規根本原因方法論由於模擬具有高的門數的大規模設計所需的顯著處理和存儲器資源因此變得越來越不切實際。舉例來說,在諸如鑄造車間的任何製造環境中,存在需要在幾天內採用有限的計算資源來診斷的數千個失敗的器件。假設計算和時間有限,常規的根本原因技術越來越不能支持這樣高容量失敗的器件的診斷。實際上由於當前運行時間限制,IC開發者典型僅通過基於根本原因診斷過程的軟體運行挑選的晶片。這增加了在一些缺陷分布上遺漏的可能性。
[0046]因此本發明的實施例提供對加速成品率陡升工藝中的固有挑戰的解決方案。本發明的一個實施例從晶片的整個設計智能確定和切割由缺陷所影響的邏輯(本文稱之為「失敗塊」)並且創建較小的設計。隨後,基於模擬的軟體在更小的設計上運行以隔離缺陷位置。由本發明教導的該方法可以稱為「切割診斷」(CID)。CID過程通過增加在給定時間期間可以測試的有缺陷的裸片的數目,來增加診斷的產量。此外,CID過程相對於常規根本原因方法使用明顯較少的處理和存儲器資源。因此,CID工具通過使用非常少的資源實施有缺陷的裸片的模擬和診斷來加速成品率陡升工藝。
[0047]圖2是用於測試半導體IC晶片的自動化測試設備(ATE)裝置的示意框圖。ATE裝置200可以用於例如在鑄造車間的製造工藝期間最初確定哪個器件是失敗的。在一個實施例中,系統控制器201包括一個或多個連結的計算機。在其他實施例中,計算系統控制器可以只包括單個計算機。計算系統控制器201是總體系統控制單元,並且運行ATE的軟體,其負責完成所有用戶級測試任務,包括運行用戶的主測試程序。測試程序可以包括驗證所連接的被測器件(DUT)所需的功能和其他必要的測試。在一個實施例中,DUT可以是半導體IC器件。
[0048]通信器總線215提供系統控制器和測試器硬體之間的高速電子通信信道。通訊器總線還可以稱為背板、模塊連接使能器或者系統總線。物理上,通信器總線215是可能是電的或光的等高速、高帶寬多路連接總線。系統控制器201通過經通信器總線215發送命令來編程測試器硬體,以設置用於測試DUT211-214的條件。
[0049]測試器硬體202包括提供測試刺激源(測試矢量)給被測器件(DUT) 211-214並測量DUT對刺激源的反應,並且將其與預計反應進行比較所需的電子和電氣部件和連接器的複雜集。
[0050]在由ATE裝置200實施探查測試之後,所測試的IC的失敗輸出被確定。隨後可以在軟體中運行診斷過程以查找失敗的行為的根本原因。
[0051]圖3示出了顯示金屬上的示例性開口缺陷的電子顯微鏡圖像。開口缺陷是導致失敗的行為的一種製造缺陷類型的示例,其可以在使用本發明的CID過程軟體中查找根本原因。由於在製造過程期間線310意外破裂,因此如圖3所示存在線310上的開口缺陷。除開口電路(破裂)之外的可能導致失敗的行為的其他類型的製造缺陷是短路(橋)或通孔堵塞(via-block)。在本發明的一個實施例中,使用CID工具將包括由任何這樣的缺陷所影響的邏輯門和網的關鍵區域或失敗塊從整個設計中切割出,並且在所切割出的設計部分上而非整個設計上運行診斷過程,以嘗試隔離缺陷位置。
[0052]圖4示出了根據本發明一個實施例的、包括可以使用CID工具切割出的由缺陷所影響的邏輯的、晶片設計中的示例性失敗塊。舉例來說,如圖4所示,晶片設計400可以包括ARM核心模塊450、兩個處理器數據路徑模塊430和440、數字邏輯塊模塊420、I/O模塊470、視頻DAC模塊497、WiFi模塊495、音頻模塊496、USB模塊460、PLL模塊480和DDRSDRM接口模塊490。
[0053]在本發明的一個實施例中,代替模擬整個晶片設計400,在診斷過程期間CID過程用作映射器並提取與軟體中的缺陷相關聯的失敗塊410。隨後其模擬與失敗的410相關聯的較小的設計。然而,在失敗塊410的提取之前,CID工具首先需要確定與包括失敗塊410的缺陷相關聯的懷疑故障候選者集。換言之,在從設計中將失敗塊提取並將其模擬為分立的模塊之前,CID工具首先需要確定包括失敗塊的邏輯門和網。
[0054]圖5A是示出了根據本發明一個實施例的、用於用來挑選候選懷疑者列表以確定晶片設計中的失敗塊的通用診斷過程的示例性過程的框圖。開始於製造過程之後通過探查IC晶片的輸出所觀察的失敗的主輸出,在框501CID過程貫穿在軟體中所表示的電路來使用關鍵路徑跟蹤或者「向後跟蹤」,以識別可能潛在導致所觀察到的IC的有故障的行為的懷疑故障候選者集。如果其變化造成任何失敗的觀察點的輸出改變的路徑被認為是關鍵的。在框502,關鍵路徑跟蹤包括模擬無故障電路並且使用計算的信號值來跟蹤從所觀察到的失敗的主輸出向供應那些輸出的主要輸入的路徑,以確定用於所檢測的故障的懷疑故障候選者的主要列表。
[0055]在框503,使用向前路徑跟蹤來更進一步挑選懷疑者列表並縮小由CID工具所使用的失敗塊的大小。在一個實施例中,在框502出所確定的最初的懷疑候選者可以注入各種輸入刺激源並且向前跟蹤到輸出,以確定在失敗的觀察點處的行為是否複製在IC的探查期間所觀察到的行為。舉例來說,可以將已知在失敗的主輸出處產生失敗結果的輸入圖案注入懷疑候選者。將在模擬期間的失敗輸出的響應與在有缺陷的裸片的探查期間所觀察到的在失敗輸出處的響應進行匹配。如果響應不匹配,那麼懷疑候選者可以從所懷疑的故障候選者列表中移除。類似,可以將已知在失敗的主輸出處產生通過結果的輸入圖案注入懷疑候選者。如果懷疑候選者在用於該輸入圖案的模擬期間產生失敗結果,那麼也可以將其從懷疑候選者列表中挑選出。這樣在框504,向前跟蹤可以用於確定較窄的第二 (次級)懷疑錯誤列表,從而使得CID工具能夠獲得較好的準確度和結果。關鍵路徑或者向後跟蹤和向前跟蹤一起減小了搜索空間並且使得CID工具能夠提取比原始設計更小的設計空間來模擬。
[0056]第二懷疑故障列表隨後用於對失敗塊進行模擬以確定與缺陷對應的候選者故障電路系統。候選者故障電路系統可以隨後發送到鍛造車間,在此與IC設計相關聯的物理裸片可以在與候選者故障電路對應的位置處進行物理檢查,以隔離缺陷的根本原因。一旦缺陷被隔離,隨後在製造工藝中付諸工藝改變以解決缺陷。通過能夠快速提供針對缺陷的候選者列表,發現缺陷的時間減少並且在所分配的時間周期內可以檢測到的缺陷的數目增力口。因此,成品率提高並且成品率陡升工藝的速度顯著增加。
[0057]最初實施上述非故障電路的初始模擬並實行向後和向前跟蹤的處理和存儲器需求可能是高的。然而,本發明的CID工具的優點在於,其沒有與在診斷期間模擬整個電路或者保存諸如與失敗的根本原因無關的電路中的所有節點的模擬狀態相關聯的大量處理或存儲器需求。因為模擬和診斷整個設計要求在存儲器中同時維護數百萬個門和網的狀態,所以根本原因的常規方法相對地非常慢。
[0058]因此,使用CID工具極大增強用於診斷較大規模設計的產量。舉例來說,在某些情況,使用CID工具可以導致基於根本原因技術的軟體的周轉時間提高超過70,000倍(70,OOOx)。此外,隨著器件尺寸保持增大,提高的幅度將只會增加。由顆粒缺陷所影響的區域的數目保持恆定,但由於縮小技術節點因此由顆粒所影響的單元的數目可能增加。但是該增加預計非常小。因此,CID需要切割出的邏輯的數量將緩慢增加,典型地將不超過整個設計大小的1%。因此,相對常規根本原因軟體(其模擬整個設計),甚至對於將來的設計大小使用CID工具導致巨大的性能提升。
[0059]本發明的較快的模擬時間和小的設計的另一個優點在於,之前被認為由於設計大小而難以運行的其他數個基於根本原因方法的軟體可以結合本發明來使用。如果有更有效的可用的缺陷隔離,那麼成品率陡升工藝將因此更準確。
[0060]最後,由於常規診斷方法的處理和存儲器限制,只有選擇的晶片通過基於根本原因過程的軟體來運行。這增加了忽略一些缺陷機制的可能性。採用本發明的CID方法,晶片開發者或製造者將可以通過根本原因軟體運行所有失敗的晶片,並在啟動階段和規模生產兩者中攔截更多的失敗的機制。
[0061]圖5B是示出了根據本發明的一個實施例的、用於確定與失敗輸出相關聯的失敗塊的診斷分區的框圖。IC500包括輸入540A-540N和輸出530A-530E。在製造工藝之後開始進行的探查過程期間,可能已經發現IC500包括兩個失敗輸出530B和530C。
[0062]在通過探查識別失敗輸出530B和530C之後,本發明的基於根本原因方法的軟體可以用於向後跟蹤,以識別包括可能潛在導致所觀察到的IC的有故障的行為的門和網的懷疑故障候選者集。懷疑故障候選者集最終包括由本發明的CID工具操作的失敗塊。
[0063]使用向後跟蹤,每個失敗輸出530B和530C的第一扇入錐可以被確定。典型,任何給定失敗輸出的扇入錐包括可以結構上到達失敗輸出的邏輯路徑。用於失敗輸出530B的扇入錐由區域580代表,並且用於失敗輸出530C的扇入錐由區域590代表。確定扇入錐的向後跟蹤使得本發明的CID過程能夠確定故障候選者的初始列表。可以預計缺陷位於由扇入錐580和590的組合聯合所覆蓋的區域範圍內的某處。
[0064]接下來的向前跟蹤用於進一步縮小可能的懷疑者的列表。在一個實施例中,扇入錐580和590中的一個或多個懷疑候選者可以首先注入已知在失敗的主輸出530B或者530C的一個處產生失敗結果的輸入圖案。如果導致的響應與所觀察的響應不匹配,那麼如上所述可以從懷疑者列表移除懷疑候選者。隨後,一個或多個懷疑候選者還可以注入已知在失敗的主輸出的一個處產生通過結果的輸入圖案。如果在針對該輸入圖案的模擬期間懷疑候選者產生失敗結果,那麼其可以從懷疑候選者列表中挑選出。在一個實施例中,在向前跟蹤過程期間可以在失敗的輸入圖案之前運行合格的輸入圖案。
[0065]向後和向前跟蹤的結果是一個或多個失敗塊505和510,其可以由CID根據提取並獨立於整個晶片的設計來進行模擬。
[0066]如上所述,失敗塊可以被模擬以確定與缺陷對應的候選者故障電路系統。候選者故障電路系統隨後可以發送到鑄造車間,在此與IC設計相關聯的物理裸片可以在與候選者電路系統對應的位置處進行物理檢查以隔離缺陷的根本原因。
[0067]在一個實施例中,通過還在附加的通過主輸出處觀察,可以提高CID工具的解析度。舉例來說,如果僅觀察輸出530B和530C,那麼扇入錐580中的懷疑者可以通過向前跟蹤過程的合格的輸入圖案測試和失敗的輸入圖案測試兩者。然而,相同的懷疑者可能產生在輸出530A處的失敗結果。因此,在一個實施例中在分析中還可以包括通過主輸出530A的扇入錐以進一步減小懷疑者列表,從而提高解析度。然而,這將增加失敗塊的大小並且因此要求更多個的處理和存儲器資源。因此存在用於確定懷疑者列表的觀察的節點的數目和導致的失敗塊的大小之間的權衡。
[0068]在另一個實施例中,可以設定獨立於更廣泛的電路來模擬的失敗塊的大小。舉例來說,CID工具可以設定失敗塊的上線為原始電路的總體門的10%。如果使用向後和向前跟蹤技術所確定的失敗塊的大小最終會是10%以上,那麼CID工具將降低與主通過輸出相關聯的扇入錐直到失敗塊的大小下降到10%以下。類似,如果失敗塊的大小最終會遠低於10%,那麼CID工具可以添加附加的觀察點到分區以提高解析度。
[0069]圖6是示出了根據本發明一個實施例的、用於使用CID工具來檢修缺陷的1C、確定失敗的根本原因以及提高成品率的示例性處理流程的框圖。
[0070]框610表示在鑄造車間的製造工藝之後將被測試的裸片。在框620,類似於圖2的測試器200的測試器可以用於探查裸片以確定失敗的主輸出。在框630生成測試邏輯,其包括關於所預計的輸出和測試裸片610導致的實際的輸出的信息。在一個實施例中,只有失敗的比特記錄在測試記錄文件中,使得可以容易地確定失敗的比特(或失敗輸出)。測試記錄可以由晶片的設計者使用以使用根本原因軟體方法論來檢修晶片中的錯誤。
[0071]在框640,包括本發明的CID工具的診斷程序如上述用於識別針對裸片中的缺陷的懷疑故障候選者。
[0072]如上所述,首先使用向後和向前跟蹤,並且隨後與故障候選者相關聯的所懷疑的失敗塊被識別。該失敗塊明顯小於原始設計並且可以採用相當少的資源來模擬和診斷。失敗塊的模擬的結果提供造成器件失敗的所懷疑的邏輯單元。如圖6所示,在給定的批次中為包括相同的設計的所有裸片重複該過程。
[0073]將候選者故障電路系統提供回到器件610的製造者,使得可以檢查與所懷疑的邏輯單元對應的物理位置的任何材料缺陷,例如在框660處的橋故障。如圖所示,為所有的裸片開始進行物理檢查以確定裸片中的缺陷位置。
[0074]在一個實施例中,在框670可以使用故障直方圖以確定在製造工藝中的最常發生和有問題的缺陷。
[0075]在框680,可以調整製造工藝以消除缺陷。結果,在框690成品率可以提高。另外,由於模擬所識別的失敗塊所需的短的模擬時間,成品率陡升時間減小。
[0076]圖7描繪了根據本發明一個實施例的、使用CID過程識別候選者故障電路系統的示例性過程的流程圖640。流程圖640提供圖6的框640處的在軟體中如何識別造成失敗的所懷疑的邏輯單元的更詳細的描述。然而本發明不限於由流程圖640所提供的描述。當然,相關領域技術人員應該理解,從本文所提供的教導其他功能流程在本發明的範圍和精神內。將繼續參考上述示例性實施例來描述流程圖640,雖然方法不限於那些實施例。
[0077]在框702,從鑄造車間接收來自對物理裸片進行探查的失敗的主輸出。所上所述,從探查所生成的測試記錄文件包括實際的和預計的輸出的列表,其可以由本發明的根本原因軟體使用以在失敗的主輸出列表中讀取。
[0078]在塊704,包括CID工具的根本原因軟體可以預處理階段期間在軟體中模擬電路的無故障原始設計。在該預處理階段所提取的模擬值稍後用於由根據本發明的實施例的CID工具實施的向後和向前跟蹤。雖然該模擬可能是耗時和資源密集型的,但是與對可能與在成品率陡升工藝期間正模擬的設計相關聯的數千個或者更多個裸片進行診斷相比,成本是可忽略的。
[0079]在塊706,CID過程使用關鍵路徑跟蹤或者「向後跟蹤」,以使用從無故障電路模擬所確定的信號值來識別與每個失敗的主輸出相關聯的扇入錐。在框708,CID過程使用扇入錐可以隨後確定可能潛在導致所觀察的IC的有故障的行為的懷疑故障候選者的初始列表。
[0080]在框710,CID過程使用向前路徑跟蹤以甚至進一步挑選候選者列表。如上所述,向前路徑跟蹤可以涉及將合格的和失敗的輸入刺激源兩者注入懷疑候選者,並確定失敗輸出的行為是否與在探查過程期間所觀察到的相同的輸出一致。
[0081]在框712,一旦確定懷疑候選者的第二列表,則失敗塊通過使用CID過程被識別並且獨立於原始設計來模擬以確定潛在地與裸片中的缺陷相關聯的懷疑者的最終列表。這些是隨後發送回鑄造車間並用於診斷裸片中的缺陷位置的候選者。
[0082]同時,前述公開闡述了使用特定框圖、流程圖和示例的各種實施例,每個框圖部件、流程圖步驟、操作和/或本文描述和/或示出的部件均可單獨地和/或共同地,通過使用各種不同的硬體、軟體或固件(或其任意組合)配置來實現。另外,對包含在其他部件內的部件的任何公開均應視為示例,因為可實現許多其他架構來達到相同的功能。
[0083]本文描述和/或示出的工藝參數和步驟序列僅以示例方式給出。舉例來說,雖然本文示出和/或描述的步驟可能以特定的順序顯示或論述,但這些步驟不是必須按所示出或論述的順序來實施。本文描述和/或示出的各種示範性方法也可以省略一個或多個本文描述或示出的步驟,或包括附加步驟作為那些所公開步驟的補充。
[0084]雖然本文已圍繞全功能計算系統描述和/或示出了各種實施例,但這些示範性實施例中的一個或多個可分配為各種各樣的形式的程序產品,而與用來實際執行分配的計算機可讀介質的特定類型無關。本文公開的實施例也可以使用實施某些任務的軟體模塊來實現。這些軟體模塊可包括腳本、批處理或其他可被存儲在計算機可讀存儲介質上或計算系統內的可執行文件。這些軟體模塊可以配置計算系統來實施一個或多個本文公開的示範性實施例。本文公開的軟體模塊中的一個或多個可在雲計算環境中實現。雲計算環境可經由網際網路提供各種服務和應用。這些基於雲的服務(例如,軟體即服務、平臺即服務、基礎設施即服務等等)可通過Web瀏覽器或其他遠程接口訪問。本文描述的各種功能可通過遠程桌面環境或任何其他基於雲計算的環境提供。
[0085]前述的描述,出於解釋的目的,已參考特定實施例進行了描述。然而,上述說明性的論述不旨在窮舉或將本發明限制在所公開的明確形式上。鑑於以上教導,許多修改和變形是可能的。實施例被選擇和描述以最好地解釋本發明的原理及其實際應用,從而使其他的本領域技術人員採用各種適用於特定預期用途的修改來最好地利用本發明和各種實施例。
[0086]根據本發明的實施例因此被描述。雖然本公開已在特定實施例中加以描述,但應理解本發明不應被解釋為限於這些實施例,而應根據以下的權利要求來進行解釋。
【權利要求】
1.一種用於產生集成電路中的候選者故障電路系統的方法,所述方法包括: 從所述集成電路的至少一個失敗輸出向後跟蹤,以使用從所述集成電路的設計的無故障模擬獲得的模擬值來確定每個失敗輸出的對應的扇入錐; 確定所述每個失敗輸出的懷疑故障候選者的第一集合,其中每個懷疑故障候選者潛在地與所述集成電路中的對於在對應的失敗輸出處產生失敗結果負有責任的缺陷相對應; 從所述第一集合中的每個懷疑故障候選者向前跟蹤,以確定懷疑故障候選者的第二集合,其中所述第二集合是所述第一集合的窄子集,並且其中,與所述第一集合中的每個懷疑故障候選者相比,所述第二集合中的每個懷疑故障候選者具有更高的可能性與所述集成電路中的缺陷相對應;以及 從所述集成電路的所述設計識別失敗塊,其中所述失敗塊包括來自所述第二集合的懷疑故障候選者,並且其中可以獨立於所述設計來模擬所述失敗塊。
2.根據權利要求1所述的方法,進一步包括模擬所述失敗塊以確定懷疑故障候選者的第三集合,其中所述第三集合是所述第二集合的窄子集,其中,與所述第二集合中的每個懷疑故障候選者相比,所述第三集合中的每個懷疑對象候選者具有更高的可能性與所述集成電路中的缺陷相對應。
3.根據權利要求1所述的方法,其中所述集成電路中的缺陷的類型可以從包括橋、破裂和通孔堵塞的組中選擇。
4.根據權利要求1所述的方法,其中所述向前跟蹤進一步包括: 使輸入刺激源進入所述第一集合中的每個懷疑故障候選者並監控對所述刺激源的響應; 將所述響應和與所述集成電路相關聯的裸片對所述輸入刺激源的所觀察的響應進行比較,其中所述所觀察的響應在硬體測試和所述裸片的探查期間記錄;以及 響應於確定所述響應與來自所述硬體測試的所述所觀察的響應不匹配,從所述第二集合排除懷疑故障候選者。
5.根據權利要求4所述的方法,其中所述向前跟蹤進一步包括: 響應於確定所述響應與來自所述硬體測試的所述所觀察的響應匹配,將懷疑故障候選者包括在所述第二集合中。
6.根據權利要求4所述的方法,其中所述輸入刺激源是失敗的圖案,其中所述失敗的圖案在對應的失敗輸出處產生失敗的響應。
7.根據權利要求4所述的方法,其中所述輸入刺激源是合格的圖案,其中所述合格的圖案在對應的失敗輸出處產生合格的響應。
8.根據權利要求1所述的方法,其中所述識別進一步包括: 將來自合格的主輸出的扇入錐的懷疑故障候選者結合到所述失敗塊中。
9.根據權利要求1所述的方法,其中所述失敗塊受大小限制,其中所述大小限制表示為所述集成電路的所述設計的大小的百分比。
10.一種計算機可讀存儲介質,其具有存儲於其上的計算機可執行指令,當所述指令由計算機系統執行時,使得所述計算機系統實施用於產生集成電路中的候選者故障電路系統的方法,所述方法包括: 從所述集成電路的至少一個失敗輸出向後跟蹤,以使用從所述集成電路的設計的無故障模擬獲得的模擬值來確定每個失敗輸出的對應的扇入錐; 確定所述每個失敗輸出的懷疑故障候選者的第一集合,其中每個懷疑故障候選者潛在地與所述集成電路中的對於在對應的失敗輸出處產生失敗結果負有責任的缺陷相對應; 從所述第一集合中的每個懷疑故障候選者向前跟蹤,以確定懷疑故障候選者的第二集合,其中所述第二集合是所述第一集合的窄子集,並且其中,與所述第一集合中的每個懷疑故障候選者相比,所述第二集合中的每個懷疑故障候選者具有更高的可能性與所述集成電路中的缺陷相對應;以及 從所述集成電路的所述設計識別失敗塊,其中所述失敗塊包括來自所述第二集合的懷疑故障候選者,並且其中可以獨立於所述設計來模擬所述失敗塊。
11.根據權利要求10所述的計算機可讀介質,其中所述方法進一步包括,模擬所述失敗塊以確定懷疑故障候選者的第三集合,其中所述第三集合是所述第二集合的窄子集,其中,與所述第二集合中的每個懷疑故障候選者相比,所述第三集合中的每個懷疑對象候選者具有更高的可能性與所述集成電路中的缺陷相對應。
12.根據權利要求10所述的計算機可讀介質,其中所述集成電路中的缺陷的類型可以從包括橋、破裂和通孔堵塞的組中選擇。
13.根據權利要求10所述的計算機可讀介質,其中所述向前跟蹤進一步包括: 使輸入刺激源進入所述第一集合中的每個懷疑故障候選者並監控對所述刺激源的響應; 將所述響應和與所述集成電路相關聯的裸片對所述輸入刺激源的所觀察的響應進行比較,其中所述所觀察的響應在硬體測試和所述裸片的探查期間記錄;以及 響應於確定所述響應與來自所述硬體測試的所述所觀察的響應不匹配,從所述第二集合排除懷疑故障候選者。
14.根據權利要求13所述的計算機可讀介質,其中所述向前跟蹤進一步包括: 響應於確定所述響應與來自所述硬體測試的所述所觀察的響應匹配,將懷疑故障候選者包括在所述第二集合中。
15.根據權利要求13所述的計算機可讀介質,其中所述輸入刺激源是失敗的圖案,其中所述失敗的圖案在對應的失敗輸出處產生失敗的響應。
16.根據權利要求13所述的計算機可讀介質,其中所述輸入刺激源是合格的圖案,其中所述合格的圖案在對應的失敗輸出處產生合格的響應。
17.根據權利要求10所述的計算機可讀介質,其中所述識別進一步包括: 將來自合格的主輸出的扇入錐的懷疑故障候選者結合到所述失敗塊中。
18.根據權利要求10所述的計算機可讀介質,其中所述失敗塊受大小限制,其中所述大小限制表示為所述集成電路的所述設計的大小的百分比。
19.一種測試器系統,包括: 用於在測試記錄中讀取的輸入接口,其中所述測試記錄包括與在硬體測試和裸片的探查期間在多個失敗輸出處所記錄的所觀察的響應相關的信息; 存儲器,用於存儲與所述裸片相對應的集成電路的設計和從所述集成電路的所述設計的模擬所生成的模擬值;以及處理器,配置為:從與所述集成電路的所述設計相關聯的所述多個失敗輸出向後跟蹤,以使用從所述集成電路的所述設計的無故障模擬獲得的模擬值來確定每個失敗輸出的對應的扇入錐; 確定所述每個失敗輸出的懷疑故障候選者的第一集合,其中每個懷疑故障候選者潛在地與所述集成電路中的對於在對應的失敗輸出處產生失敗結果負有責任的缺陷相對應; 從所述第一集合中的每個懷疑故障候選者向前跟蹤,以確定懷疑故障候選者的第二集合,其中所述第二集合是所 述第一集合的窄子集,並且其中,與所述第一集合中的每個懷疑故障候選者相比,所述第二集合中的每個懷疑故障候選者具有更高的可能性與所述集成電路中的缺陷相對應;以及 從所述集成電路的所述設計識別失敗塊,其中所述失敗塊包括來自所述第二集合的懷疑故障候選者,並且其中,可以獨立於所述設計來模擬所述失敗塊。
20.根據權利要求19所述的測試器系統,其中所述處理器進一步配置為,模擬所述失敗塊以確定懷疑故障候選者的第三集合,其中所述第三集合是所述第二集合的窄子集,其中,與所述第二集合中的每個懷疑故障候選者相比,所述第三集合中的每個懷疑對象候選者具有更高的可能性與所述集成電路中的缺陷相對應。
【文檔編號】G06F17/50GK104050308SQ201310753176
【公開日】2014年9月17日 申請日期:2013年12月31日 優先權日:2013年3月14日
【發明者】維沙·梅塔, 布魯斯·科裡 申請人:輝達公司