專利名稱:用于為集成電路設計形成基于掃描的測試設計的系統(tǒng)的制作方法
技術領域:
用于為集成電路設計形成基于掃描的測試設計的系統(tǒng)
技 術領域本實用新型涉及用于集成電路的掃描鏈測試架構,尤其涉及的是依賴于電路設計 的測試架構的優(yōu)化。
背景技術:
更大和更復雜的集成電路(IC)邏輯設計導致需要更復雜的測試來確保這些IC具 有可靠的性能。該測試可以代表關于IC的設計、制造和服務成本的重要部分。在一個簡單 的模型中,關于IC的測試可以包括將多個測試模式應用于電路輸入端,并且通過監(jiān)視其輸 出來檢測故障的發(fā)生。故障覆蓋率指的是測試模式檢測潛在故障范圍中的每個故障的效 能。因此,如果有一組模式能夠基本上檢測出每個潛在故障,則可以實現(xiàn)接近于100%的故 障覆蓋率。為了促成更好的故障覆蓋率以及將測試成本減至最小,人們使用DFT(設計測 試)。在一種DFT技術中,可以使用邏輯設計中的結構。特別地,在IC中實施的邏輯設計通 常包括多個狀態(tài)寄存器,例如觸發(fā)器或鎖存器之類的順序存儲元件。這些狀態(tài)寄存器可以 連接成具有計算得到的長度的掃描鏈,其中所述長度會依照設計而改變。在一個實施例中, 設計中的所有狀態(tài)寄存器是可以掃描的,也就是說,每一個狀態(tài)寄存器都處于掃描鏈中。掃 描鏈中的狀態(tài)寄存器通常也被稱為掃描單元。在DFT中,每個掃描鏈都包含了在掃描模式 中充當控制和觀察節(jié)點的掃描輸入引腳(在這里也被稱為掃描輸入端)以及掃描輸出引 腳。掃描鏈是通過對經(jīng)由掃描單元的預定邏輯信號定時而被加載測試模式的。因此, 如果每個掃描鏈包括500個掃描單元,則使用500個時鐘周期來完成加載過程。應該指出 的是,為了簡單起見,這里描述的某些實施例具有長度相等的掃描鏈。但在實際實施例中, DFT會嘗試創(chuàng)建這個目標,但卻很少能實現(xiàn)該目標。因此,在實際實施例中,軟件可以補償不 同的掃描鏈長度,從而確保對來自每個測試模式的輸出進行相應的識別和分析。對本領域 技術人員來說,這種方法是已知的,因此在這里不對其進行詳細說明。通常,設計越是復雜,設計中包含的觸發(fā)器也就越多。不幸的是,設計中可以用作 掃描鏈的終端的輸入和輸出相對較少,每個掃描鏈的觸發(fā)器的數(shù)量急劇增加。結果,操作掃 描鏈所需要的時間將會急劇增加,在這里將這個時間稱為測試應用時間。圖1示出的是用于順序電路的典型邏輯設計中的相關部分。該設計包括組合邏輯 110以及多個狀態(tài)寄存器112-0、112-1、112-2和112-3 (統(tǒng)稱為112)。這里使用的術語“組 合邏輯”包括直接連接,因此,經(jīng)由組合邏輯110的邏輯路徑可以包括某些僅僅是線路的路 徑,而不會對其傳送的邏輯信號進行中間變更。在圖1中只顯示了四個狀態(tài)寄存器,但是很 多設計都具有數(shù)千或數(shù)百萬個狀態(tài)寄存器。在這里為組合邏輯110提供了多個初級邏輯輸 入PI0、PI1以及PI2以及多個狀態(tài)寄存器輸出Q0、Q1、Q2和Q3。組合邏輯110的輸出包括 初級輸出P00、P01和P02,以及提供給狀態(tài)寄存器112的下一狀態(tài)輸入D0、D1、D2和D3。雖 然圖1的示例通常沒有指示組件在集成電路芯片上的物理位置,但是所有同步電路設計都可以采用所示方式來繪制。圖1的示例還將狀態(tài)寄存器112組織成了兩個掃描鏈114-0和114_1(統(tǒng)稱為 114)。掃描鏈114-0包括狀態(tài)寄存器112-0和112-1,而掃描鏈114-1則包括狀態(tài)寄存器 112-2和112-3。可以看出,在掃描鏈114-0中,狀態(tài)寄存器112-0具有與掃描鏈114-0的 掃描輸入SlO相連的獨立掃描輸入,并且狀態(tài)寄存器112-1具有與狀態(tài)寄存器112-0的輸 出QO相連的獨立掃描輸入。除了與組合邏輯110相連之外,狀態(tài)寄存器112-1的輸出Ql還被提供給了掃描鏈114-0的掃描輸出S00。同樣可以看出的是,在掃描鏈114-1中,狀態(tài) 寄存器112-2具有與掃描鏈114-1的掃描輸入SIl相連的獨立掃描輸入,并且狀態(tài)寄存器 112-3具有與狀態(tài)寄存器112-2的輸出Q2相連的獨立掃描輸入。除了與組合邏輯110相連 之外,狀態(tài)寄存器112-3的輸出Q3還被提供給掃描鏈114-1的掃描輸出S01。通常,在每個 掃描鏈中都包含了兩個以上的狀態(tài)寄存器,但是為使示例簡單,在圖1的每個掃描鏈中都 只顯示了兩個狀態(tài)寄存器。器件被設計成可選地在兩種模式中的任一模式中工作,并且這兩種模式有時也被 稱為工作模式和掃描模式。在工作模式中,用于狀態(tài)寄存器112的下一狀態(tài)數(shù)據(jù)是從組合 邏輯110的輸出D0-D3獲得的。在該模式中,掃描鏈是不激活的。在掃描模式中,狀態(tài)寄存 器112的下一狀態(tài)數(shù)據(jù)是從相應狀態(tài)寄存器的掃描輸入獲取的。圖2是圖1設計中的某一部分的另一個視圖,其中該視圖包含了兩個狀態(tài)寄存器 112-0和112-1,以及組合邏輯110的一部分。可以看出,在每一個狀態(tài)寄存器112內(nèi)部的 觸發(fā)器223的D輸入端都插入了復用器222,以便在來自組合組合邏輯110的相應D輸入 與來自SIO或來自掃描鏈中的在先狀態(tài)寄存器112的掃描輸入之間進行選擇。在圖2中, 從掃描鏈中在先元件的相應輸出到復用器222輸入的連接以及到SIO和SOO之類的掃描輸 入和輸出引腳的連接合在一起被指定為224。通過使用SCan_mode(即控制)信號,復用器 222可以被配置成允許將掃描輸入值移入觸發(fā)器223,而不經(jīng)過組合邏輯110。如果器件處 于工作模式,則施加于觸發(fā)器223的時鐘(CLK)端子的脈沖將會獲取從組合邏輯110輸出 的值,如果器件處于掃描模式,那么該脈沖會將來自掃描輸入SIO的值移入掃描鏈。在其將 來自掃描輸入SIO的值移入掃描鏈的同時,它還經(jīng)由掃描輸出SOO移出目前處于狀態(tài)寄存 器112中的值。關于“實施”掃描鏈的處理的一部分包括將D觸發(fā)器223之類的電路設計中 的寄存器替換成類似于掃描寄存器112的寄存器/復用器組合,并且添加掃描鏈互連224。圖3示出的是一個用于為特定被測器件處理單個掃描測試模式的標準流程300。 在流程300中,步驟310將器件設置為掃描模式。步驟302將掃描輸入值移入激活的掃描 鏈。步驟303退出掃描模式,由此將器件返回到工作模式。步驟304將附加激勵應用于測試 電路輸入PIO PI2。如這里使用的,激勵同時包含了應用于初級輸入PIO PI2的值以及 移入到掃描鏈中的值。在這里,用于特定測試迭代的激勵有時也被稱為測試模式或測試矢 量。步驟305通過對時鐘施以脈動(pulse)來獲取狀態(tài)寄存器112中被測器件的響應。步 驟306將器件再次設置成掃描模式,并且步驟307將掃描輸出值從激活的掃描鏈移出。步 驟308再次將器件設置成工作模式。器件對測試激勵作出的響應由外部設備進行處理,以 便檢測被測器件的故障,該響應可以包括步驟307中掃描輸出的值以及在初級輸出POO P02上監(jiān)視的值。很明顯,步驟301、303 306以及308只在測試器上耗費了一個時鐘周期。但是,諸如步驟302和307之類的每個移動操作都會耗費與最長掃描鏈一樣多的時鐘周期。在復 雜的設計中有可能包含超過百萬個的觸發(fā)器。如果只能提供10個掃描鏈,那么每個掃描鏈 將會具 有100,000(1, 000, 000/10)個觸發(fā)器,由此需要100,000個時鐘周期來處理單個掃 描測試模式。因此,無論通過相鄰測試模式的重疊掃描操作實現(xiàn)怎樣的優(yōu)化,測試應用時間 都是受控于掃描操作的。通過使用確定的自動測試模式生成(ATPG),可以產(chǎn)生一組測試模式,以便在測試 依照特定電路設計制造的器件中使用。ATPG通常是如下工作的分析電路設計,識別整套 “潛在”故障,然后嘗試產(chǎn)生測試最大潛在故障集合所需要的最小測試模式集合。理論上,故 障覆蓋率接近于100%,但對復雜的電路設計來說,這需要在測試應用設備中具有大量的存 儲空間,以便將其用于作為激勵施加的大量模式以及每個測試模式的預期響應值。ATPG軟 件通??梢允褂脝蝹€測試模式來組合多個故障的測試,但是所需要的測試模式數(shù)量仍舊是 非常龐大的。某些常規(guī)測試架構利用的是這樣的觀察,即通常只需要設置測試模式中有限數(shù)量 的位置,即能檢測出任何特定故障。對于典型的測試模式來說,只有2%的激勵值是所需的。 而對測試模式的剩余部分來說,所應用的值對檢測該故障的處理毫無影響。在標記速記法 中,當設計測試模式時,測試模式中不起作用的位置被稱為“不關心(donot care)”位置,并 且通常是用邏輯X而不是0或1表示的。在某些較新的測試架構中,每一個器件掃描輸入都與多個掃描鏈輸入相連。在具 有N個掃描鏈和m個器件掃描輸入的設計中,每一個掃描輸入值都被提供給N/m個掃描鏈。 由此,與傳統(tǒng)的掃描架構相比,共享的掃描輸入值顧及了很多較短的掃描鏈。這樣一來,器 件中的狀態(tài)寄存器可以組織成數(shù)量更多的并行掃描鏈(與可作為器件掃描輸入使用的器 件輸入的數(shù)量相比)。例如,借助四路共享,每個器件的測試時間可以減少近四倍。但是,在使用這種掃描架構時必須仔細選擇測試矢量,以免發(fā)生沖突。當測試矢量 規(guī)定將某個值施加給位于其中某個掃描鏈的某個位置的狀態(tài)寄存器,并且將相反的值施加 給位于一個共享相同器件掃描輸入的不同掃描鏈的相同位置的狀態(tài)寄存器時,這時將會發(fā) 生沖突。這種沖突通??梢酝ㄟ^已知方法避免,已知方法例如重新設計測試模式(由此,在 掃描中的每一個特定位置,在共享相同器件輸入的所有掃描鏈中都會出現(xiàn)相同值或“不關 心”值),或改變將掃描鏈指派給器件掃描輸入的方式,或改變掃描鏈內(nèi)部的狀態(tài)寄存器的 順序,或改變將狀態(tài)寄存器指派給掃描鏈的方式。但是,如果這其中沒有一個選項可用,則 需要不同的掃描架構或者必須接受不完全的故障覆蓋率。在這里通過參考引入的Kapur等人的美國授權前專利公開號 2005/0268190 ("Kapur等人”)中描述了一種技術,在該技術中可以動態(tài)地根據(jù)需要針對每 個測試模式的每個移動來重新配置掃描輸入測試架構。在器件掃描輸入與掃描鏈之間插入 了一個“解壓縮器”,其中所述解壓縮器可以在多種不同模式中工作,以便將器件掃描輸入 值(或是從中得出的值)遞送到掃描鏈。針對在測試模式內(nèi)部掃描鏈的每次移動,測試器 會將解壓縮器設置成測試矢量的特定位置所需要的恰當模式。添加為將器件掃描輸入與內(nèi)部掃描鏈對接的邏輯被稱為解壓縮器;這是因為它只 耗費了少量輸入值來提供很大的接收掃描鏈集合。添加為將內(nèi)部掃描鏈輸出對接到器件 掃描輸出的邏輯被稱為壓縮器,這是因為它耗費了來自掃描鏈的很多值,并且將其匯集在一個非常小的器件掃描輸 出集合中。有時,測試矢量會在作為不可預測的邏輯值的掃描輸 出位置產(chǎn)生響應。這些不可預測的邏輯值有可能來自未初始化的存儲器元件,或者源于與 總線競爭或不可預測的定時有關的問題。無論相關故障是否存在,這些掃描輸出位置都具 有未知值。這些未知值與測試矢量自身當中的“不關心值”相似,并且有時將其標記為邏輯 χ(未知)。它們有可能對在壓縮器中聚集的良好響應的可觀察性產(chǎn)生負面影響。通過識別X來源,以及隨后將其移除,或者通過插入附加DFT邏輯,以便通過添加 附加測試點來固定X來源,可以前瞻性地阻止那些在響應獲取過程中產(chǎn)生的X到達掃描單 元。另一種阻止X到達掃描單元的已知方法是仔細地生成測試模式,其中掃描輸入矢量中 的不關心比特可以被設置成控制值,以便阻止X到達掃描單元。在另一種解決方案中,可以 使用錯誤屏蔽和/或X屏蔽。錯誤屏蔽包括通過仔細設計壓縮器來使多個差錯相互抵消, 而X屏蔽則包括在掃描鏈輸出與壓縮器之間插入屏蔽邏輯,以免將X傳播至壓縮器輸出端。 圖4顯示了用于壓縮器的屏蔽邏輯的示例,其中在壓縮器XOR中具有冗余度。在該示例中, 屏蔽邏輯將會確保在被觀察的任何掃描鏈群組內(nèi)部,在任何掃描單元中所獲取的響應中的 邏輯X都不會干涉其他掃描鏈中的掃描單元的可觀察性。盡管如此,屏蔽處理依然會引入 其自身的問題,這是因為它降低了設計中的可觀察性。因此,在故障覆蓋率相同的情況下, 測試模式數(shù)往往會增加,由此與使用輸出壓縮器所實現(xiàn)的節(jié)約效果部分對立。就掃描鏈輸入端上的接口邏輯而言,目前業(yè)已形成了大量解決方案。在N. A. Touba 于 2006 年 7-8 月發(fā)表于 IEEE Design and Test ofComputers,第 294-303 頁的"Survey of Test Vector CompressionTechniques” 一文中,闡述了針對這其中的某些解決方案所進行 的調(diào)查,在這里通過參考并入該文獻。這些解決方案包括基于代碼的方案,基于線性解壓縮 器的方案,以及基于廣播掃描的方案。這些解決方案可以分成組合或順序性的。組合解決 方案既可以與至內(nèi)部掃描鏈的器件掃描輸入的直接(但是是共享的)連接一樣簡單,也可 以與那些用于將掃描數(shù)據(jù)拆散為“1”和“0”的序列的解碼邏輯一樣復雜。更常見的解決方 案在輸入端或MUX上使用X0R,以便將來自器件掃描輸入的值分配給接收掃描鏈。順序解決 方案包括為針對掃描壓縮定制的邏輯BIST結構的變種的解決方案。借助每隔一定時間或 者在每一次移動的時候流式輸入的種子(seed),用于故障檢測和觀察(屏蔽)的激勵需求 將被編碼,以便在測試數(shù)據(jù)容量和測試應用時間方面提供顯著增益。這些順序解決方案還 包括那些通過使用移位寄存器來臨時存儲使用多種擴展邏輯獲取的多個值的解決方案。大多數(shù)現(xiàn)代集成電路設計過程都使用了電子設計自動化(EDA)工具。不同的EDA 廠家通過自動地(1)將所提供的電路設計的狀態(tài)寄存器組織成掃描鏈以及(2)在掃描鏈前 后插入具有其自身風格的預定壓縮和解壓縮邏輯來提供自己的解決方案。在這里,有時將 狀態(tài)寄存器組織成掃描鏈的處理以及壓縮和解壓縮邏輯連同為了形成測試矢量而被提供 給ATPG系統(tǒng)的某些配置設置一起統(tǒng)稱為電路設計的“測試設計”。EDA軟件允許用戶在該 處理中做出某些選擇,例如在掃描輸入與掃描輸出功能之間分配器件1/0引腳,在解壓縮 器中實施的模式的數(shù)量,是否應該執(zhí)行輸出屏蔽等等。但是,由于用戶通常沒有足夠能力來 對這些問題作出有意義的回答,因此,用戶通常只接受軟件的默認設置,而所述默認設置通 常代表的是用于某些“平均”電路設計的最優(yōu)回答。結果,由于沒有現(xiàn)實的電路設計是“平 均的”,因此,無論在數(shù)據(jù)量方面、故障覆蓋率方面還是同時在這兩方面,為眾多電路設計所 實施的測試設計都是次最優(yōu)的。
實用新型內(nèi)容
概括地說,本實用新型涉及的是根據(jù)電路設計本身來為所提供的電路設計優(yōu)化基 于掃描的測試架構。在一個實施例中,形成了多種用于電路設計的候選測試設計。對于每 一個候選測試設計來說,根據(jù)電路設計和候選測試設計而產(chǎn)生了多個測試矢量,并且這些 測試矢量優(yōu)選是使用同一 ATPG算法產(chǎn)生的,其中所述算法會在下游使用,以便產(chǎn)生用于生 成集成電路器件的最終測試矢量。在這里為每一個候選測試設計都確定了故障覆蓋率之類 的測試協(xié)議品質(zhì)因數(shù),并且根據(jù)對這些測試協(xié)議品質(zhì)因數(shù)所進行的比較來選擇其中一個候 選測試設計,以便在集成電路器件中加以實施。優(yōu)選地,只有ATPG可以產(chǎn)生的完整測試矢 量集合中的抽樣才會被用于確定每一個特定候選測試設計會發(fā)現(xiàn)的潛在故障的數(shù)量。本實用新型的特定方面是在權利要求、說明書以及附圖中描述的。
針對本實用新型特定方面描述本實用新型,并且在這里將對附圖加以參考,其 中圖1示出的是用于順序電路的典型邏輯設計的一些部分。圖2是圖1設計中的一部分的另一個視圖。圖3示出的是用于為特定被測器件處理單個掃描測試模式的流程。圖4顯示的是用于壓縮器的屏蔽邏輯的示例。圖5顯示的是所示例的數(shù)字集成電路設計以及測試流程圖的簡化表示。圖6示出的是在這里描述的實施例中使用的測試架構。圖7是包括了本實用新型的特征的測試設計優(yōu)化器的實施例的流程圖。圖8是使用ATPG來產(chǎn)生測試協(xié)議的圖7步驟的流程圖。圖9是包括了本實用新型的特征的測試設計優(yōu)化器的實施例的流程圖。圖10是可以用于實施包括本實用新型的方面的軟件的計算機系統(tǒng)的簡化框圖。圖11是根據(jù)本實用新型的一個實施方式的用于為集成電路設計形成基于掃描的 測試設計的系統(tǒng)的簡化框圖。
具體實施方式
下文中詳細描述是參考附圖給出的。在這里將對優(yōu)選實施例進行描述,以便示例 本實用新型,但是這些優(yōu)選實施例并未限制本實用新型的范圍,并且本實用新型的范圍是 由權利要求限定的。本領域技術人員將會認識到針對后續(xù)描述所進行的各種等效變化。設計和測試流程綜述圖5顯示的是所示例的數(shù)字集成電路設計以及測試流程圖的簡化表示。應該理解 的是,與這里的所有流程圖一樣,在不影響所實現(xiàn)的功能的情況下,圖5的很多步驟可以組 合、并行執(zhí)行或以不同順序執(zhí)行。在某些情況下,如果重新排列步驟,則只有在施加了某些 其他改動的情況下才會實現(xiàn)相同的結果,而在其他情況下,如果重新排列步驟,則只有在滿 足了某些條件的情況下才會實現(xiàn)相同的結果。對讀者來說,這種重排列的可能性是顯而易 見的。[0038]在高的層次,圖5的處理從產(chǎn)品概念開始(步驟500),并且是在EDA(電子設計自 動化)軟件設計過程中實現(xiàn)的(步驟510)。在完成設計時將會執(zhí)行制造過程(步驟550) 以及封裝和裝配過程(步驟560),由此最終產(chǎn)生完成的集成電路芯片(步驟570)。在步驟 580,使用預定測試矢量和預期響應在測試器設備上將對某些或所有已完成的芯片進行檢 測。EDA軟件設計過程(步驟510)實際包括多個步驟512 530,為了簡單起見,這些 步驟都是以線性方式顯示的。在實際的集成電路設計過程中,特定的設計有可能退回某些 步驟 ,直至經(jīng)過某些測試。同樣,在實際的設計過程中,這些步驟有可能是按照不同的順序 和組合進行的。由此,該描述是作為上下文和一般性描述提供的,而不是作為用于特定集成 電路的具體或推薦設計流程提供的?,F(xiàn)在將要提供的是關于EDA軟件設計過程(步驟510)中的組成步驟的簡要描述。系統(tǒng)設計(步驟512)設計人員描述其希望實現(xiàn)的功能,他們可以執(zhí)行假設規(guī)劃 來精煉功能、檢查費用等等。在該階段中可以產(chǎn)生硬件-軟件架構劃分。在該步驟中可以使 用的來自Synopsys公司的示例EDA軟件產(chǎn)品包括Model Architect,Saber,System Studio 以及DesignWare 產(chǎn)品。邏輯設計和功能驗證(步驟514)在該階段中將會編寫用于系統(tǒng)中的模塊的VHDL 或Verilog代碼,并且會就功能的準確性而對設計進行檢查。更具體地說,檢查該設計,確 保它會響應于特定的輸入激勵而產(chǎn)生正確輸出。在該步驟中可以使用的來自Synopsys公 司的示例 EDA 軟件產(chǎn)品包括 VCS、VERA、DesignWare 、Magellan、Formality、ESP 以及 LEDA 產(chǎn)品。在這個形成階段,所述設計在這里有時被稱為“邏輯設計”或“電路設計”。雖然某些 設計在該階段有可能已經(jīng)包含了某些用于測試的設計特征,例如掃描鏈以及相關聯(lián)的掃描 壓縮或解壓縮電路,但是這些特征并未包含在這里使用的術語“邏輯設計”和“電路設計” 中。用于測試的合成和設計(DFT)(步驟516)在這里,VHDL/Verilog被轉換成網(wǎng) 表。該網(wǎng)表可以針對目標技術而進行優(yōu)化。此外,在這里還執(zhí)行測試架構實施過程,以 便允許檢查已完成的芯片。在該步驟中可以使用的來自Synopsys公司的示例EDA軟件 產(chǎn)品包括 DesignCompiler 、Physical Compiler、Test Compiler、Power Complier、 FPGACompiler、TetraMAX以及DesignWare 產(chǎn)品。用于結合如上所述的少量用戶指定配 置設置來實施測試架構的當前產(chǎn)品是DFT MAX。DFT MAX在Synopsys,DFT MAX Adaptive Scan CompressionSynthesis, Datasheet (2007)中描述,其中在這里通過參考并入該文獻。 在合成之后以及DFT之前,在該步驟中可以插入本實用新型的方面。網(wǎng)表驗證(步驟518)在該步驟會就與定時限度的相容性以及與VHDL/Verilog 源代碼的對應性而對網(wǎng)表進行檢查。在該步驟中可以使用的來自Synopsys公司的示例EDA 軟件產(chǎn)品包括Formality、PrimeTime以及VCS產(chǎn)品。設計規(guī)劃(步驟520)在這里將構造芯片的整個平面布置圖,并且將針對定時和 頂層路由而對其進行分析。在該步驟可以使用的來自Synopsys公司的示例EDA軟件產(chǎn)品 包括 Astro 和 IC Compiler 產(chǎn)品。物理實施(步驟522)放置(電路元件的定位)和路由(電路元件的連接)可以 在這個步驟中進行。在該步驟中可以使用的來自Synopsys公司的示例EDA軟件產(chǎn)品包括AstroRail和IC Compiler產(chǎn)品。最終的ATPG運行通常是在該步驟期間發(fā)生的,由此形成 關于在測試芯片的過程中使用的測試矢量(包括壓縮模式選擇比特)以及預期響應的數(shù)據(jù) 庫。對于可以與本實用新型的方面結合使用的ATPG軟件來說,其示例可以是在Synopsys 于 2002 年 5 月發(fā)布的 TetraMAX User Guide, Version 2002. 05 中描述的 TetraMAX , 其中該文獻在這里通過參考全部并入。分析和提取(步驟524)在該步驟會在晶體管級驗證電路功能,而這轉而將會 允許假設精煉。在該步驟中可以使用的來自Synopsys公司的示例EDA軟件產(chǎn)品包括 AstroRai 1 > PrimeRai 1 > Primetime \)XR Star RC/XT/^fn。物理驗證(步驟526)在該步驟中將會執(zhí)行各種檢查功能,以便確保下列各項的 正確性制造過程、電的問題、光刻問題以及電路。在該步驟可以使用的來自Synopsys公司 的示例EDA軟件產(chǎn)品包括Hercules產(chǎn)品。投片(tape-out)(步驟527)該步驟提供“投片”數(shù)據(jù)用于光刻用途的掩膜的生成 以便產(chǎn)生完成的芯片。在該步驟中可以使用的來自Synopsys公司的示例EDA軟件產(chǎn)品包 括CATS (R)產(chǎn)品族。分辨率增強(步驟528)該步驟包括對布局執(zhí)行幾何操作,以便提高設計的制 造能力。在該步驟中可以使用的來自Synopsys公司的示例EDA軟件產(chǎn)品包括ftOteus、 ProteusAF 以及 PSMGen 產(chǎn)品。掩膜預備(步驟530)該步驟包括掩膜數(shù)據(jù)預備以及掩膜自身的寫入。示例測試架構如所述,可以從不同的EDA廠家得到數(shù)種不同的測試架構。這其中的大多數(shù)或所 有架構都可以從本實用新型的方面的應用中獲益。為了簡化示例,在這里描述的實施例中 使用的是能夠從Mt. View, CA的Synopsys公司提供的工具中得到的架構。但是應該理解, 本實用新型同樣適用于那些可以從其他廠家得到的架構。這里使用的測試“架構”是可以在 特定軟件包中得到的全部類別的測試“設計”。測試“架構”是在確定了可以從測試“架構” 得到的各種設計選擇之后被定制成特定測試“設計”的結構。在本實施例的測試架構中,很 多參數(shù)是可以定制的。這里使用的“參數(shù)”只是數(shù)值的容器。因此,“測試架構”包含了未填 充的參數(shù),一旦用數(shù)值填充了這些參數(shù),則可以定義一個“測試設計”。圖6示出的是在這里描述的實施例中使用的測試架構??梢钥闯?,狀態(tài)寄存器610 被組織成N個掃描鏈611。在一個特定的測試設計中掃描鏈611未必具有相等的長度,但所 期望的是具有相等的長度。到掃描鏈611的掃描輸入由解壓縮器612驅(qū)動,其中所述解壓 縮器的輸入與器件的ml個器件掃描輸入相連。對于可供解壓縮器612形成提供給N個掃 描鏈輸入的數(shù)值的邏輯來說,該邏輯是受模式選擇輸入614影響的,其中所述模式選擇輸 入可以包括若干個比特。掃描鏈611的掃描輸出被提供給壓縮器616,該壓縮器從中導出數(shù) 量為m0的一組器件掃描輸出。壓縮器616包括XOR電路618,并且根據(jù)設計選擇,它可以包 括介于掃描鏈輸出與M)R電路618之間的X屏蔽邏輯620。解壓縮器612可以被配置成提供多種工作模式,其中所述多種工作模式可以經(jīng)由 模式輸入614來選擇。每一個模式都定義了信號從器件掃描輸入(或其邏輯配對物)到掃 描鏈輸入的特定路由。換言之,如果選擇了預定模式中的某種特定模式,則可以確定由哪 一個器件掃描輸入來饋送每一個掃描鏈輸入,以及是否應該首先對其進行補充。在本實施例中,解壓縮器612是用位于每一個掃描鏈輸入前方的復用器實施的。每一個復用器都具 有多個輸入。每一個復用器的第一個輸入,其在特定設計中,既可以是反向的,也可以是非 反向的,被連接成接收來自特定器件掃描輸入的數(shù)值,其中所述特定器件掃描輸入是相應 掃描鏈在第一工作模式中將要接收的輸入。同樣,每一個復用器的第二輸入,其在特定設計 中,既可以是反向的,也可以是非反向的,被連接成接收來自特定器件掃描輸入的數(shù)值,其 中該特定器件掃描輸入是相應掃描鏈在第二工作模式中將要接收的輸入;依此類推。應該 了解的是,在不同測試架構中,組合和/或順序的多種電路元件可用于在特定的測試設計 中使用。本實施例的測試架構提供了很多配置參數(shù)。這些參數(shù)包含那些可以分為基本參 數(shù)、宏參數(shù)或ATPG參數(shù)的參數(shù)。這里使用的基本參數(shù)是確定最終得到的器件上的相應特征 的參數(shù)。其示例包括 掃描鏈數(shù)量 將狀態(tài)寄存器指派給掃描鏈的方式·掃描鏈內(nèi)部的狀態(tài)寄存器的順序 為模式選擇分配的I/O引腳的數(shù)量 可用的解壓縮模式的數(shù)量(如果先前已經(jīng)確定了分配給模式選擇的引腳的數(shù) 量)眷將剩余可用I/O引腳分配給(a)掃描輸入和(b)掃描輸出的方式 是否在解壓縮器中包含反向,如果是的話,則所述反向在哪些掃描輸入上 將輸入(及其反向,如果有的話)指派給各個復用器輸入的方式 是否在壓縮電路中實施屏蔽 屏蔽配置,如果在壓縮電路中實施屏蔽這里使用的宏參數(shù)是自身不直接在器件上出現(xiàn)的參數(shù),與此相反,該參數(shù)暗指在 最終得到的器件上出現(xiàn)的一組一個或多個初級參數(shù)的值。其示例包括 可用解壓縮模式數(shù)量(如果分配給模式選擇的引腳數(shù)量改變)這個宏參數(shù)確定 的是分配給模式選擇的引腳數(shù)量,剩余的可用引腳可以作為掃描輸入和掃描輸出來分配。 最大目標壓縮這個宏參數(shù)確定的是內(nèi)部掃描鏈的數(shù)量。如果準許的壓縮較高,則內(nèi)部鏈較多。測 試時間和測試數(shù)據(jù)容量將會減小,但是無法探測故障的概率將會增大。 是否將響應X移動到在獨立屏蔽條件下觀察的獨立鏈路,以及分析百分比—種提升故障可觀察性的策略是移動到獨立的掃描鏈中,所有狀態(tài)寄存器最有可 能承載在設計測試矢量時未知的響應值。這是通過仿真電路設計隨機測試以及為獨立的掃 描鏈選擇承載在至少某個預定百分比的隨機測試中未知的響應值的所有狀態(tài)寄存器來完 成的,其中舉例來說,該預定百分比可以是25%。這個百分比是這個宏參數(shù)中的分析百分 比。這個宏參數(shù)至少會影響下列初級參數(shù)是否在壓縮電路中執(zhí)行屏蔽,屏蔽配置,以 及將狀態(tài)寄存器指派給掃描鏈的方式。· X容差程度另一種提升故障可觀察性的策略是提供從內(nèi)部掃描鏈到器件掃描輸出引腳的冗余路徑。這樣做減少了在針對破壞故障可觀察性的測試模式所作出的響應中的X的概率。 X容差程度確定的是所實施的冗余連接程度。這個宏參數(shù)影響的是在壓縮電路中是否執(zhí)行屏蔽,如果是的話,則屏蔽配置,以及 將狀態(tài)寄存器指派給掃描鏈的方式。這里使用的ATPG參數(shù)是用于在物理實施步驟522中配置ATPG軟件的參數(shù)。某些 ATPG參數(shù)是用于ATPG運行的配置參數(shù),其他參數(shù)則僅僅暗指用于ATPG的一個或多個其他 配置設置。ATPG參數(shù)不會影響器件自身的任何特征。其示例包括 是否干擾電路設計時鐘編組(在測試期間是否允許用脈沖調(diào)節(jié)交互時鐘域,用 于將狀態(tài)寄存器指派給用于定時的獨立域的電路設計)。^ATPG的異常中斷限制。該異常中斷限制控制的是允許ATPG為了發(fā)現(xiàn)用于測試 特定故障的測試模式所進行的嘗試次數(shù)?!?ATPG合并嘗試(merge effort)。該合并嘗試參數(shù)控制的是允許ATPG為了使用 單個測試模式測試一個以上的故障所進行的嘗試的次數(shù)。測試設計優(yōu)化器如所述,DFT和ATPG軟件可以為用戶提供眾多選項,以便管理測試設計的形成,但 是用戶通常無法明智選擇各種選項的值。結果,用戶通常僅僅接受軟件提供的默認設置,而 這些默認設置是由DFT和ATPG軟件廠家選擇以針對某些“一般”電路設計提供最優(yōu)結果。舉 個例子,壓縮和解壓縮是結合掃描終端預算來實施的,其中該預算有可能來源于很多來源, 例如使用多點測試中的封裝限制,測試器限制,設計限制以及制造限制。如果給定了總的掃 描終端預算,那么常規(guī)軟件允許用戶分配不同數(shù)量的器件掃描輸入和器件掃描輸出以供掃 描壓縮和解壓縮使用。通常,在輸入和輸出方面平衡使用掃描終端是工具或用戶的默認決 定。但是依照設計,可以實現(xiàn)的壓縮有可能受到解壓縮器或是壓縮器中未知容限所創(chuàng)建的 依存關系的限制。根據(jù)所考慮的電路設計,如果掃描壓縮受到輸入依存關系的限制,則測試 設計應該偏向的是,相比于器件掃描輸出,分配更多的器件I/O引腳作為器件掃描輸入。另 一方面,如果響應中的未知干擾故障的觀察,那么相比于器件掃描輸入,分配更多的器件I/ 0引腳作為器件掃描輸出。這里使用的術語“I/O引腳”指的是任何可以從外部訪問的電路 節(jié)點。它不必是物理引腳。對于將器件I/O引腳分配給掃描輸入還是掃描輸出之類的參數(shù)而言,要想知道如 何配置這些參數(shù)是非常困難的,并且如所述,用戶通常會接受那些假設適用于一般電路設 計的默認值。結果,對于所考慮的特定電路設計來說,最終得到的測試設計不可能是最優(yōu) 的。即使用戶為某些參數(shù)選擇了非默認值,該情況也是成立的,這是因為用戶不可能知道選 擇怎樣的值來優(yōu)化用于特定電路設計的測試設計。對于測試設計優(yōu)化器,例如這里描述的優(yōu)化器來說,通過創(chuàng)建虛擬環(huán)境以及評估 策略來回答這些問題,由此可以對測試架構的不同配置進行相互比較,以便允許選擇最優(yōu) 的測試設計。由于測試設計優(yōu)化器包含處于虛擬環(huán)境的被測電路設計,因此,其具有形成依 照所考慮的特定電路設計,而不是一些一般電路設計,而被優(yōu)化的測試設計的效果。測試設 計優(yōu)化器的結果是一組在構建實際測試設計時使用的測試設計值。在DFT步驟516中,使 用優(yōu)化器為初級參數(shù)和宏參數(shù)確定的數(shù)值來插入和連接掃描鏈(如果先前未確定),以及 插入壓縮和解壓縮電路。在步驟522 (圖幻,優(yōu)化器為ATPG參數(shù)確定的數(shù)值被應用于ATPG軟件,以便控制用于測試設計的測試矢量的生成,而在EDA流程中,此時已經(jīng)實施了所述流 程。在一個實施例中,ATPG參數(shù)是自動應用于ATPG的,而在另一個實施例中,它們代表的 是用戶可以根據(jù)需要應用或不應用的建議。圖7是包括本實用新型的特征的測試設計優(yōu)化器的實施例的流程圖。概略地說, 它包括一個迭代搜索過程,用于搜索為所考慮的電路設計產(chǎn)生最佳測試設計的測試參數(shù)值 集合。在步驟710,確定哪些參數(shù)將是固定的以及哪些參數(shù)將被改變。在某一大類的實施例 中,掃描鏈是固定的,其在搜索過程中是不允許改變的。也就是說,諸如掃描鏈數(shù)量、將狀態(tài) 寄存器指派給掃描鏈的方式以及掃描鏈內(nèi)部的狀態(tài)寄存器順序之類的參數(shù)都是預先確定 的,并且是不允許改變的。該實施例可以使用DFT MAX之類的已有產(chǎn)品來發(fā)展掃描鏈。在 另一個實施例中,這些參數(shù)不是固定的,并且是允許作為搜索的一部分而改變的。對于以上 列舉的示例參數(shù)來說,在不同實施例中,任何或所有這些參數(shù)以及其他參數(shù)在優(yōu)化搜索期 間均可改變。如果宏參數(shù)改變,則不必單獨改變所述宏參數(shù)暗指的初級參數(shù)(除非所述宏 參數(shù)暗指的只是對于初級參數(shù)值的限制,在這種情況下,在搜索期間,初級參數(shù)是可以在這 些限制以內(nèi)改變的)。在步驟712,將會確定那些在搜索期間保持固定的參數(shù)值,并且將會選擇那些允許 改變的參數(shù)的初始值。在一個實施例中,初始值選擇為在某些被視為“一般性”的電路設計 中最優(yōu)的數(shù)值。如所述,對很多參數(shù)來說,這些值已經(jīng)可用,并且是作為常規(guī)軟件提供給用 戶的默認值來供應的。應該指出的是,如果將ATPG參數(shù)取為ATPG軟件默認值并且該參數(shù) 不變,那么在步驟712中不發(fā)生用于設置這些數(shù)值的步驟,直到步驟716當實際使用ATPG 時。在步驟714中將會啟動一個用于搜索多個候選測試設計的循環(huán)。第一候選測試設 計是由步驟712中設置的參數(shù)值暗示的,后續(xù)候選設計則是根據(jù)所使用的特定搜索算法產(chǎn) 生的。有很多潛在搜索算法可用于不同實施例;在下文中參考圖8對其中一個特定示例算 法進行了論述。從某種意義上講,候選測試設計虛擬化了組合在一起的電路設計以及測試 設計電路,由此可以針對該組合的故障檢測能力對組合進行評估。在步驟716,組合的電路設計和測試設計電路被提供給ATPG,優(yōu)選提供給作為步 驟522(圖幻的一部分使用的相同ATPG軟件以便產(chǎn)生最終測試矢量。在一個實施例中,在 步驟716中使用的是名為“Tetra MAX”的軟件包。在該步驟716,用于當前候選測試設計 的ATPG配置參數(shù)值被提供給ATPG,并且在已知這些參數(shù)值以及指定了已知在當前候選測 試設計中建立的掃描電路以及壓縮和解壓縮電路結構的情況下,ATPG繼續(xù)以形成其最優(yōu)測 試矢量集合。所述ATPG將會產(chǎn)生一個測試協(xié)議,其中該協(xié)議包括一組測試矢量以及來自每 一個測試矢量的預期(即非故障)響應。概略地說,在Tetra MAX中使用的ATPG算法是如下工作的首先創(chuàng)建目標故障列 表,其中舉例來說,目標故障可以是連接或網(wǎng)絡固定在0或固定在1。然后,針對每個目標故 障,ATPG確定一組輸入值,其中該輸入值會在故障點產(chǎn)生“差異”(如果存在目標故障,則故 障點有一個邏輯值,如果不存在目標故障,則所述故障點存在相反邏輯值)。然后。ATPG“敏 化(sensitize)”從故障點到可觀察點(掃描寄存器或基本輸出)的路徑。所述“敏化” 包括識別至可觀察點的邏輯路徑中的所有邏輯門,以及沿著這些邏輯門的其他輸入反向行 進,以便確定在輸入端需要怎樣的值來使可觀察點出現(xiàn)差異。在故障點注入差異以及敏化至可觀察點的路徑所需要的輸入值集合是一個測試模式,并且在故障不存在時預期的可觀 察值的集合是來自該測試模式的預期響應。如果可以的話,ATPG還會嘗試將每一個新測試 模式與先前創(chuàng)建的模式相結合,這是因為如果兩個模式能成功地合并,那么所發(fā)覺的故障 數(shù)量會在模式數(shù)量未增長的情況下增加。如果允許將ATPG運行至結束,那么它會產(chǎn)生大量 測試模式,這些測試模式共同將會發(fā)現(xiàn)在ATPG算法開端識別的目標故障的很大一部分。在步驟718,由ATPG確定的測試協(xié)議的故障覆蓋率將被評估。這里使用的“故障 覆蓋率”被定義成是測試協(xié)議發(fā)覺的電路設計中的故障數(shù)量與電路設計中的故障總數(shù)的比 值。在其他實施例中,其他測試協(xié)議質(zhì)量量度也是可以使用的。這其中的一個其他示例質(zhì) 量量度是“測試覆蓋率”,它是由測試協(xié)議發(fā)覺的電路設計中的故障數(shù)量與電路設計中可檢 測故障總數(shù)的比值(例如排除了那些因為位于與任何其他邏輯都不具有電連接的輸出上 而無法檢測的故障,因為位于永久綁定于固定邏輯值的引腳上而無法檢測的故障,因為位 于屏蔽了故障效果的冗余邏輯路徑中而無法檢測的故障,以及因為冗余邏輯路徑阻礙了它 們的控制或可觀察性而無法檢測的故障)。另一個示例的質(zhì)量量度是“ATPG有效性”,它是 可以被ATPG解決的故障數(shù)量與電路設計中的故障總數(shù)的比值。對讀者來說,其他的質(zhì)量量 度也是顯而易見的。在步驟720,將會確定是否實現(xiàn)了最優(yōu)故障覆蓋率。在該步驟的一個實施例中,被 認為產(chǎn)生最優(yōu)故障覆蓋率的測試設計是當前的候選測試設計。也就是說,所述搜索可以將 選擇窄化至被認為最優(yōu)的測試設計。在另一個實施例中,被認為產(chǎn)生最優(yōu)故障覆蓋率的測 試設計可以是某個其他的候選測試設計。換言之,所述搜索評估處于最后被認為最優(yōu)的候 選測試設計之后的候選測試設計,因此,步驟720中的當前候選測試設計并不是被認為最 優(yōu)的測試設計;它只是最后一個被評估了質(zhì)量的測試設計。如果在步驟720,尚未實現(xiàn)最優(yōu)故障覆蓋率,則在步驟722中產(chǎn)生下一個候選測試 設計,并且該處理返回步驟714,以便據(jù)此產(chǎn)生新的測試協(xié)議。用于產(chǎn)生下一個候選測試設 計的算法取決于搜索算法。對于窮舉搜索而言,該步驟只包括增大其中一個測試參數(shù)的值。 對焦點更為集中的搜索來說,該步驟可以考慮一個或多個先前評估過的候選測試設計的質(zhì) 量量度,以便鎖定最優(yōu)。如果在步驟720,確定已經(jīng)實現(xiàn)了最優(yōu)故障覆蓋率,則在步驟724中,過程繼續(xù)以 實施最優(yōu)測試設計。依賴于在步驟712中哪些測試參數(shù)已經(jīng)確定,這可以包括在組合設計 中共同包括電路設計以及測試設計的結構方面。該處理可以包括將電路設計中的狀態(tài)寄存 器替換成依照最優(yōu)測試參數(shù)值暗指的掃描鏈組織的掃描寄存器,和/或它可以包括插入由 最優(yōu)測試設計參數(shù)值暗指的特定壓縮和/或解壓縮電路。無論哪一種情況,在被涌現(xiàn)在EDA 處理中的下一個步驟、例如網(wǎng)表驗證步驟518(圖5)的網(wǎng)表中都會反映該結果。此外,在提 供給ATPG的設計版本中也會反映該結果,以便在步驟522中用于其最后運行。此時將會產(chǎn) 生測試矢量和預期響應的完整集合,隨后則將其遞送到步驟580中使用的測試設備。實施 步驟7M所得到的結果最終會反映在步驟530創(chuàng)建的掩膜和芯片570中。最優(yōu)測試設計的 實施過程還可以包括依照針對最后ATPG運行確定為最優(yōu)的配置參數(shù)值,控制步驟522中的 最后ATPG運行。測試設計的這個部分并未反映在掩膜或芯片中,而是反映在了被遞送到用 于在步驟580中測試最終芯片的芯片測試設備的測試數(shù)據(jù)集合(包括測試矢量和預期響 應)中。[0094]可以看出,測試設計的很多方面都可以使用如圖7所示的流程來優(yōu)化,其中包括 掃描鏈結構,解壓縮器和壓縮器結構以及ATPG配置參數(shù),由此可以獲取用于最優(yōu)測試設計 的最優(yōu)測試矢量集合。用戶既不再需要猜測測試參數(shù)值,也不再需要接受對于所考慮的特 定電路設計而言未必最優(yōu)的默認值。此外還可以看出,根據(jù)所考慮電路設計的復雜性、在搜索期間允許改變的測試參 數(shù)的數(shù)量以及搜索算法的效率,圖7所示的迭代搜索有可能耗費過長時間。例如,ATPG有 可能耗費好幾個小時來為相對復雜的電路設計的單個測試設計形成測試協(xié)議。如果在大型 搜索空間中為每一個測試設計運行ATPG到完成,那么這將是不切實際的。因此,在一個實 施例中,使用ATPG來產(chǎn)生測試協(xié)議的步驟716優(yōu)選使用了模式采樣,更為優(yōu)選的則是同時 使用了模式采樣和故障采樣,以使如圖7所示的迭代搜索更加切實可行。圖8是使用ATPG來產(chǎn)生測試協(xié)議的步驟716的流程圖。在步驟810,ATPG首先識 別電路設計中的所有潛在故障。特別地,ATPG既識別每一個可能固定在0或固定在1的節(jié) 點,也識別每一個上升或下降速度慢的節(jié)點,還識別可以橋接在一起的任何相鄰節(jié)點配對。在步驟812,將會選擇在步驟810中識別的故障的采樣,其中舉例來說,所述故障 采樣可以是所識別的故障的10%。優(yōu)選地,所選擇的故障采樣在物理上是均勻分布在芯片 上的。在步驟814,ATPG將被用于產(chǎn)生只以故障采樣集為目標的測試矢量。但是,ATPG 會在僅僅產(chǎn)生了很少的測試矢量采樣之后終止。這里使用的測試矢量的“采樣”指的是比 允許將ATPG運行至結束時產(chǎn)生的測試矢量總數(shù)要少。優(yōu)選地,在一個實施例中,采樣包含 的矢量不超過256。更優(yōu)選的是,其包含的測試矢量不超過1 個,此外,更為優(yōu)選的則是其 包含的測試矢量不超過64個。優(yōu)選地,測試矢量的數(shù)量是在32個以上,其中對很多設計來 說,32個測試矢量都是不夠充足的。這一點可以與在允許ATPG運行至結束的情況下可能產(chǎn) 生的成千上萬的測試矢量相比較。對于在搜索中所有測試設計來說,測試矢量采樣大小應 該是恒定的,由此這些結果可以有效地相互比較。在ATPG產(chǎn)生測試矢量的同時,作為其處理的正常部分,它還會產(chǎn)生一個關于同一 測試矢量采樣集發(fā)現(xiàn)的目標故障的列表。然后,在步驟718中將會使用該列表中的故障數(shù) 量作為量度,以便評估測試協(xié)議的故障覆蓋率。雖然之前在工業(yè)中已經(jīng)使用了故障采樣,但模式采樣尚未使用。模式采樣依賴的 是這樣一種假設,其中通過前幾個模式看到的故障覆蓋率與可以通過完整的ATPG運行發(fā) 現(xiàn)的故障的總百分比單調(diào)關聯(lián),所述ATPG運行在由ATPG在步驟810識別的故障的完整集 合上進行。特別地,圖8的方法依賴于這樣一個假設,如果ATPG可以確定用于特定測試設 計的測試協(xié)議,并且其中該測試協(xié)議會在少量測試模式之后產(chǎn)生高故障覆蓋率,那么當隨 后在步驟522中以所識別的潛在故障的整個集合為目標而將ATPG運行至結束時,它所確定 的測試協(xié)議同樣會產(chǎn)生高故障覆蓋率(或是較少的測試矢量產(chǎn)生相同的故障覆蓋率)。該 假設被認為在一般情況下是精確的,在不同測試設計產(chǎn)生更好故障覆蓋率的少量情形中, 改進量并不是非常顯著。如所述,在步驟714,不同實施例可以使用多種不同的搜索算法。在一個實施例 中,所執(zhí)行的是窮舉搜索,由此為在搜索期間改變的測試參數(shù)嘗試了所有可能的數(shù)值組合。 窮舉搜索最有可能產(chǎn)生最優(yōu)測試設計,但是,除非只允許少量測試參數(shù)變化,否則它通常是不切實際的。如果允許大量測試參數(shù)改變、使用了故障采樣、并且尤其是使用了模式采樣, 那么它是切實可行的??墒褂玫钠渌纠阉魉惴ㄊ悄M退火和表面響應方法。模擬退 火在 S. Kirkpatrick ;C. D. Gelatt ;M. P. Vecchi 發(fā)表于 Science, New Series,第 220 卷第 4598 號(1983 年 5 月 13 日),671-680 頁的"Optimization by SimulatedAnnealing”中描 述,其中該文獻在這里通過參考并入。表面響應方法在Box,G.E.P.和Wilson,K. B.發(fā)表 于 Journal of the RoyalStatistical Society Series B13(l) :1-45. (1951)的“On the ExperimentalAttainment of Optimum Conditions (with discussion),,中描述,其中該文 獻在這里通過參考并入。圖9是一個實施例的流程圖,在該實施例中,所述搜索是通過首先優(yōu)化一個參數(shù) 以及隨后移動到下一個參數(shù)來工作的。在步驟910,確定哪些參數(shù)將是固定的以及哪些參數(shù) 將會改變。與圖7的實施例一樣,如果宏參數(shù)改變,則不必單獨改變所述宏參數(shù)暗指的初級 參數(shù)(除非所述宏參數(shù)暗指的只是對于初級參數(shù)值的限制,在這種情況下,在搜索期間,初 級參數(shù)是可以在這些限制以內(nèi)改變的)。在步驟912,確定在搜索期間將保持固定的那些參數(shù)的值,此外還要為允許改變的 參數(shù)選擇初始值。與圖7實施例一樣,在一個實施例中,初始值被選定為在被視為“一般”的 某個電路設計中為最優(yōu)的值。在步驟914中將會開始一個外部循環(huán),以便迭代通過那些將要改變的不同搜索參 數(shù)。舉個例子,如果有10個參數(shù)將要改變,則所述循環(huán)具有10次迭代,其中每個參數(shù)一次。在步驟915,從用于所有測試參數(shù)的當前值中產(chǎn)生候選測試設計。同樣,這包括用 于當前搜索參數(shù)的當前候選值,用于先前優(yōu)化過的搜索參數(shù)的最優(yōu)值(在循環(huán)914的先前 迭代中),用于還沒有優(yōu)化的搜索參數(shù)的默認值,以及用于不變參數(shù)的固定值。測試設計 包括掃描鏈結構、壓縮和解壓縮電路結構、以及ATPG配置參數(shù)值。該候選測試設計虛擬化 了組合在一起的電路設計以及測試設計電路,由此可以就故障檢測能力而對該組合進行評 估。在步驟916,組合電路設計和候選測試設計電路被提供給ATPG,并且優(yōu)選提供給 將會作為步驟522(圖幻的一部分使用的相同ATPG軟件,以便產(chǎn)生最終測試矢量。在步 驟916中,用于當前候選測試設計的ATPG配置參數(shù)值被提供給ATPG,并且在已知那些參數(shù) 值以及已知在當前候選測試設計中建立的掃描電路以及壓縮和解壓縮電路結構的情況下, ATPG繼續(xù)以形成其最優(yōu)測試矢量集合。優(yōu)選地,如圖8所示,在步驟916中使用了故障采 樣,而更優(yōu)選的則是使用模式采樣。ATPG產(chǎn)生一個測試協(xié)議,其中該協(xié)議包括一組測試矢量 以及來自每一個測試矢量的預期響應。在步驟918中將會評估ATPG確定的測試協(xié)議的故障覆蓋率。在另一個實施例中 可以使用另一個質(zhì)量量度,例如測試覆蓋率或ATPG效能。對讀者來說,其他的質(zhì)量量度是 顯而易見的。在步驟920,將會確定針對當前搜索參數(shù)實是否實現(xiàn)了最優(yōu)故障覆蓋率。與圖7 — 樣,在該步驟的一個實施例中,被認為產(chǎn)生最優(yōu)故障覆蓋率的測試設計是當前候選測試設 計。在另一個實施例中,被認為產(chǎn)生最優(yōu)故障覆蓋率的測試設計可以是一個其他候選測試 設計,其中該測試設計是通過對當前候選測試設計的評估來揭示為最優(yōu)的。如果在步驟920中,針對當前搜索參數(shù)沒有實現(xiàn)最優(yōu)故障覆蓋率,則在步驟922中為當前搜索參數(shù)產(chǎn)生下一個候選值,該處理則返回步驟915,以便據(jù)此產(chǎn)生新的候選測試設 計。如果在步驟920中,確定針對當前搜索參數(shù)實現(xiàn)了最優(yōu)故障覆蓋率,則在步驟923 中確定是否還有更多搜索參數(shù)需要優(yōu)化。如果是的話,則該處理返回到步驟914,以便優(yōu)化 下一個搜索參數(shù)的值。如果不是的話,則該處理在步驟924中繼續(xù)以實施最優(yōu)測試設計。與 圖7中一樣,根據(jù)在步驟912哪些測試參數(shù)已經(jīng)固定,如果這包括將電路設計中的狀態(tài)寄存 器替換成依照最優(yōu)測試設計參數(shù)值暗指的掃描鏈組織的掃描寄存器,和/或?qū)嵤┳顑?yōu)測試 設計參數(shù)值暗指的特定壓縮器和/或解壓縮器電路,那么其結果將會反映在被涌現(xiàn)在EDA 處理中的下一個步驟、例如網(wǎng)表驗證步驟518(圖5)的網(wǎng)表中。該結果最終會反映在步驟 530創(chuàng)建的掩膜和芯片570中。最優(yōu)測試設計的實施過程還可以包括將所確定的配置參數(shù) 值涌現(xiàn)到物理實施步驟522,其中所述配置參數(shù)值對于最終的ATPG運行而言是最優(yōu)的。測 試設計的這個部分并未反映在掩膜或芯片中,而是反映在了被遞送到用于在步驟580中測 試最終芯片的芯片測試設備的測試數(shù)據(jù)集合中。應該指出的是,對于不同的搜索參數(shù)來說,供步驟920確定確實針對當前搜索參 數(shù)實現(xiàn)了最優(yōu)故障覆蓋率的測試可以是不同的。同樣,對于不同的搜索參數(shù)來說,用于在步 驟922中產(chǎn)生下一個候選值的算法也可以是不同的。以下列舉幾個示例。如果當前搜索參數(shù)是在解壓縮器中實施的模式的數(shù)量,則所述搜索有可能遍歷候 選值2、3和4。初始值有可能是4,而用于產(chǎn)生下一個候選值的步驟922有可能會將當前候 選值減1。對用于確定針對模式數(shù)量參數(shù)是否實現(xiàn)了最優(yōu)故障覆蓋率的步驟920來說,該步 驟可以僅僅是在評估了使用候選值2產(chǎn)生的測試設計之后即行停止。然后,在步驟918中 產(chǎn)生了最高故障覆蓋率量度的值可以作為用于模式數(shù)量參數(shù)的最優(yōu)值。在一個實施例中還 可以實施二級規(guī)則如果響應于候選值而產(chǎn)生的最高故障覆蓋率以及次最高故障覆蓋率相 比于某個預定差值更為接近,那么,倘若與模式計數(shù)相比更在意芯片面積,則選擇這兩個值 中的較小值;如果與芯片面積相比更在意模式計數(shù),則選擇這兩個值中的較大值。如果當前搜索參數(shù)是在器件掃描輸入與器件掃描輸出之間分配可用I/O引腳的 方式,則所述搜索有可能遍歷那些對稱地將默認值圍住的候選值,所述默認值則是將相等 數(shù)量的引腳分配給輸入和輸出的值。初始值有可能是將最大數(shù)量的引腳分配給器件掃描輸 入,而用于產(chǎn)生下一個候選值的步驟922則可以將一個引腳分配方式從器件掃描輸入移至 器件掃描輸出。用于確定針對引腳分配參數(shù)是否實現(xiàn)了最優(yōu)故障覆蓋率的步驟920可以僅 僅是在評估了使用分配給器件掃描輸出的最大引腳數(shù)量所產(chǎn)生的測試設計之后即行停止。 然后,在步驟918中產(chǎn)生最高故障覆蓋率量度的值可以作為用于引腳分配參數(shù)的最優(yōu)值。 如果當前搜索參數(shù)是ATPG異常中斷限制,則所述搜索有可能遍歷一系列預定候 選值,例如10、100、400、700、……、直至某個預定最大值。初始值可以是10,用于產(chǎn)生下一 個候選值的步驟922可以是替換該系列中的下一個候選值。對用于確定針對模式數(shù)量參 數(shù)是否實現(xiàn)了最優(yōu)故障覆蓋率的步驟920來說,該步驟可以僅僅是在評估了使用該系列中 最后一個候選值產(chǎn)生的測試設計之后即行停止。然后,只有在故障覆蓋率比步驟918中另 一個值所實現(xiàn)的次較低故障覆蓋率高出預定增量的情況下,在步驟918中產(chǎn)生最高故障覆 蓋率量度的值才可作為用于模式數(shù)量參數(shù)的最優(yōu)值。如果用于ATPG異常中斷限制的最佳 生成值實現(xiàn)的故障覆蓋率相互接近,則選擇產(chǎn)生了兩個最佳故障覆蓋率的兩個值中的較低值。如果當前搜索參數(shù)是是否干擾所考慮的電路設計的時鐘編組,那么該搜索有可能 遍歷“是”和“否”這兩個值,其中所述遍歷是以其中一個值開始而以另一個值結束的。用 于產(chǎn)生候選測試設計的步驟915包括使用作為配置輸入提供的當前參數(shù)值來執(zhí)行設計規(guī) 則檢查器的步驟。如果當前候選值為“是”,則設計規(guī)則檢查器確定在不出現(xiàn)不利交互的情 況下哪些時鐘域可以定時在一起,以及將其結果作為指令提供給ATPG,以便在步驟916中 使用(最終在步驟522中使用)。如果當前候選值為“否”,則提供給ATPG的指令將會分別 脈動所考慮的電路設計中的每一個時鐘域。然后,在步驟918中產(chǎn)生最高故障覆蓋率量度 的值可以作為用于干擾時鐘編組參數(shù)的最優(yōu)值。如果當前搜索參數(shù)是解壓縮器結構,那么所述搜索有可能遍歷包含了如下眾多不 同排列的候選值復用器以及器件掃描輸入與復用器輸入之間連接,其在測試架構內(nèi)部可 以得到,而所述測試架構則通過EDA軟件得到。對用于為解壓縮器結構產(chǎn)生下一個候選值 的步驟922來說,其初始迭代可以是調(diào)整某些參數(shù)值,從而在步驟915中添加復用器或是改 變連接。ATPG在步驟916中運行,并且候選結構的故障覆蓋率在步驟918中評估。依照步 驟918中確定的故障覆蓋率,用于產(chǎn)生下一個候選值的步驟922可以確定接受還是拒絕最 近進行的調(diào)整,然后則以不同方式來調(diào)整參數(shù)值。在步驟915中產(chǎn)生的排列同樣會在步驟 916和918中被評估,并且步驟922將會再次接受或拒絕所述調(diào)整,以及執(zhí)行另一個調(diào)整。 舉個例子,可以采用這種方式來執(zhí)行模擬退火搜索,以便自動發(fā)現(xiàn)最佳解壓縮器結構。相似 的搜索方法還可以用于自動發(fā)現(xiàn)壓縮器的最佳結構。應該指出的是,對步驟714 (圖7)中眾多可能算法來說,某些參數(shù)有可能需要在其 他參數(shù)之前優(yōu)化。舉個例子,如果所要改變的一個參數(shù)子集是將狀態(tài)寄存器指派給一個或 多個X鏈(包含了承載未知響應的概率很高的狀態(tài)寄存器的掃描鏈)的方式,則應該在優(yōu) 化解壓縮器的架構之前優(yōu)化該參數(shù)子集。同樣,在優(yōu)化輸出壓縮器結構之前應該選擇是否 實施輸出屏蔽。純ATPG參數(shù)有可能要在最后才被優(yōu)化。 圖10是可以用于實施包括本實用新型的方面的軟件的計算機系統(tǒng)1010的簡化框 圖。雖然這里闡述的流程圖和其他算法描述了步驟序列,但是應該了解,該流程圖或算法中 的每一個步驟都可以通過促使1010之類的計算機系統(tǒng)以規(guī)定的方式工作來實施。計算機系統(tǒng)1010典型包括經(jīng)由總線子系統(tǒng)1012而與多個外圍設備通信的處理器 子系統(tǒng)1014。處理器子系統(tǒng)1014可以包含一個或多個處理器。外圍設備可以包括包含了 存儲器子系統(tǒng)1026和文件存儲子系統(tǒng)1028的存儲子系統(tǒng)1024,用戶接口輸入設備1022, 用戶接口輸出設備1020,以及網(wǎng)絡接口子系統(tǒng)1016。輸入和輸出設備允許用戶與計算機系 統(tǒng)1010進行交互。網(wǎng)絡接口子系統(tǒng)1016提供了至外部網(wǎng)絡的接口,包括至通信網(wǎng)絡1018 的接口,并且該子系統(tǒng)經(jīng)由通信網(wǎng)絡1018耦合到其他計算機系統(tǒng)中的相應接口設備。通信 網(wǎng)絡1018可以包括眾多互連的計算機系統(tǒng)和通信鏈路。這些通信鏈路可以是有線鏈路、 光學鏈路、無線鏈路、或是用于傳遞信息的任何其他機制。雖然在一個實施例中,通信網(wǎng)絡 1018是因特網(wǎng),但是在其他實施例中,通信網(wǎng)絡1018可以是任何適當?shù)挠嬎銠C網(wǎng)絡。網(wǎng)絡接口的物理硬件組件有時也被稱為網(wǎng)絡接口卡(NIC),但是它們沒有必要采 用卡的形式例如,它們可以采用直接安裝在主板上的連接器和集成電路(IC)的形式,或 者具有計算機系統(tǒng)的其他組件的單個集成電路上的宏單元的形式。[0121]用戶接口輸入設備1022可以包括鍵盤,指示設備,例如鼠標、軌跡球、觸摸板或繪 圖板,掃描儀,并入到顯示器中的觸摸屏,音頻輸入設備,例如語音識別系統(tǒng)、麥克風,以及 其他類型的輸入設備。通常,術語“輸入設備”的使用旨在包含用于將信息輸入計算機系統(tǒng) 1010或計算機網(wǎng)絡1018上的所有可能的設備類型和方式。用戶接口輸出設備1020可以包括顯示子系統(tǒng),打印機,傳真機,或非視覺顯示器, 例如音頻輸出設備。該顯示子系統(tǒng)可以包括陰極射線管(CRT),平板設備,例如液晶顯示器 (LCD),投影設備,或用于創(chuàng)建可視圖像的某種其他機制。顯示子系統(tǒng)還可以提供非視覺顯 示,例如借助音頻輸出設備來提供。通常,術語“輸出設備”的使用旨在包含用于將信息從 計算機系統(tǒng)1010輸出到用戶、別的機器或計算機系統(tǒng)的所有可能的設備類型和方式。 存儲子系統(tǒng)1024存儲的是基本的編程和數(shù)據(jù)構造,這些構造提供了本實用新型 的某些實施例的功能。例如,用于實施本實用新型某些實施例的功能的各種模塊可以保存 在存儲子系統(tǒng)1024中。這些軟件模塊通常是由處理器子系統(tǒng)1014執(zhí)行的。存儲器子系統(tǒng)1026通常包括多個存儲器,包含用于在程序執(zhí)行過程中存儲指令 和數(shù)據(jù)的主隨機存取存儲器(RAM) 1030和存儲固定指令的只讀存儲器(ROM) 1032。文件存 儲子系統(tǒng)1028為程序和數(shù)據(jù)文件提供了永久性存儲,并且可以包括硬盤驅(qū)動器、軟盤驅(qū)動 器以及相關聯(lián)的可移除介質(zhì),CD-ROM驅(qū)動器,光學驅(qū)動器,或是可移除介質(zhì)盒。用于實施 本實用新型的某些實施例的功能的數(shù)據(jù)庫和模塊可以在計算機可讀介質(zhì),例如一個或多個 ⑶-ROM上提供,并且可以由文件存儲子系統(tǒng)1028來保存。其中,主機存儲器1026包含了 計算機指令,在由處理器子系統(tǒng)1014執(zhí)行計算機指令時,該計算機指令將促使計算機系統(tǒng) 操作或執(zhí)行這里描述的功能。在這里使用并被稱為在“主機”或“計算機”中運行的處理和 軟件響應于主機存儲器子系統(tǒng)1026中的計算機指令以及數(shù)據(jù)而在處理器子系統(tǒng)1014上執(zhí) 行,其中所述主機存儲器子系統(tǒng)1026包含用于此類指令和數(shù)據(jù)的任何其他本地或遠端存 儲器??偩€子系統(tǒng)1012提供了一種能讓計算機系統(tǒng)1010的各種組件和子系統(tǒng)根據(jù)需要 相互通信的機制。雖然總線子系統(tǒng)1012被示意性地顯示成是單個總線,但是總線子系統(tǒng)的 替換實施例可以使用多條總線。計算機系統(tǒng)1010自身可以具有不同的類型,包括個人計算機、便攜式計算機、工 作站、計算機終端、網(wǎng)絡計算機、電視、大型機、并行處理系統(tǒng)、多于一個計算機的網(wǎng)絡或任 何其他數(shù)據(jù)處理系統(tǒng)或用戶設備。由于計算機和網(wǎng)絡的特性不斷改變,因此,圖10中所述 的計算機系統(tǒng)1010的描述僅僅是用于示例本實用新型優(yōu)選實施例的一個具體例子。計算 機系統(tǒng)1010的眾多其他配置都是可行的,其中所述配置可以具有比圖10所述的計算機系 統(tǒng)更多或更少的組件。圖11是根據(jù)本實用新型的一個實施方式的用于為集成電路設計形成基于掃描的 測試設計的系統(tǒng)的簡化框圖。如圖11所示,該系統(tǒng)1100,包括形成裝置1101,用于為電路設計形成多個候選測試設計,其中包括生成裝置 1101-1,用于根據(jù)電路設計來生成多個測試矢量;生成裝置1102,用于為每一個候選測試設計生成一個測試協(xié)議品質(zhì)因數(shù);以及選擇裝置1103,用于根據(jù)對為每一個候選測試設計生成的測試協(xié)議品質(zhì)因數(shù)的比較來選擇其中一個候選測試設計,以便在集成電路器件中實施,其中用于生成多個測試矢量的生成裝置1101-1使用了預定的自動測試模式生成 算法,
以及其中用于為每一個候選測試設計生成測試協(xié)議品質(zhì)因數(shù)的生成裝置1102包 括確定裝置1102-1,用于僅使用如果預定的自動測試模式生成算法運行至結束將會生成的 測試矢量的采樣來確定用于每一個特定的候選測試設計的測試協(xié)議品質(zhì)因數(shù)。在本實用新型的一個實施例中,所述多個候選測試設計包括電路設計的狀態(tài)寄存 器到掃描鏈的不同排列。在本實用新型的一個實施例中,所述多個候選測試設計包括將器件掃描輸入引腳 互連到掃描鏈輸入的不同解壓縮電路。在本實用新型的一個實施例中,所述多個候選測試設計包括將掃描鏈輸出互連到 器件掃描輸出引腳的不同壓縮電路。在本實用新型的一個實施例中,所述多個候選測試設計包括用于控制該自動測試 模式生成算法操作的不同配置參數(shù)值。在本實用新型的一個實施例中,系統(tǒng)1100還包括并入裝置1104用于將電路設計 以及至少掃描鏈排列和解壓縮器排列并入到組合設計中,其中所述掃描鏈排列和解壓縮器 排列來自在選擇裝置中選擇的候選測試設計;以及運行裝置1105,用于根據(jù)組合設計來將所述預定的自動測試模式生成算法運行至結束。在本實用新型的一個實施例中,系統(tǒng)1100還包括運行裝置1105,用于根據(jù)在選擇 裝置1103中選擇的候選測試設計,將預定的自動測試模式生成算法運行至結束。在本實用新型的一個實施例中,用于運行預定的自動測試模式生成算法至結束的 運行裝置1105生成多個測試矢量,系統(tǒng)1100還包括提供裝置1106,用于向集成電路測試設備提供多個測試矢量,以 便在測試依照電路設計和在選擇裝置中選擇的候選測試設計制造的集成電路芯片中使用。在本實用新型的一個實施例中,所述多個候選測試設計包括用于控制自動測試模 式生成算法操作的不同配置參數(shù)值,以及其中用于運行預定的自動測試模式生成算法至結束的運行裝置1105包括用 于在選擇裝置選定的候選測試設計中應用該配置參數(shù)值的應用裝置1105-1。在本實用新型的一個實施例中,系統(tǒng)1100還包括生成裝置1107,用于根據(jù)電路設 計以及在選擇裝置1103中選定的候選測試設計來生成一組制造屏蔽。在本實用新型的一個實施例中,測試矢量采樣至多包含256個測試矢量。在本實用新型的一個實施例中,測試矢量采樣包含的測試矢量超過32個。在本實用新型的一個實施例中,測試矢量采樣至多包含64個測試矢量。在本實用新型的一個實施例中,預定的自動測試模式生成算法按順序生成測試模 式,以及其中測試矢量采樣只包括預定的自動測試模式生成算法生成的前N個測試 矢量,其中N是預定整數(shù),其對多個候選測試設計中的所有候選測試設計來說都是固定的。在本實用新型的一個實施例中,用于生成多個測試矢量的生成裝置1101-1包括操作裝置1101-1-1,用于操 作所述預定的自動測試模式生成算法,直至生成N個測試矢量; 以及停止裝置1101-1-2,用于在生成任何進一步的測試矢量之前,停止執(zhí)行所述預定 的自動測試模式生成算法。在本實用新型的一個實施例中,測試協(xié)議的品質(zhì)因數(shù)是測試協(xié)議質(zhì)量量度。在本實用新型的一個實施例中,測試協(xié)議品質(zhì)因數(shù)是故障覆蓋率。在本實用新型的一個實施例中,用于選擇其中一個候選測試設計的選擇裝置1103 包括用于候選測試設計中以迭代方式搜索一個將測試協(xié)議品質(zhì)因數(shù)最大化的候選測試設 計的搜索裝置1103-1。在本實用新型的一個實施例中,用于根據(jù)電路設計來生成多個測試矢量的生成裝 置1101-1包括識別裝置1101-1-3,用于識別有可能在根據(jù)所述電路設計制造的集成電路器件中 出現(xiàn)的潛在故障集合;以及操作裝置1101-1-1,用于操作所述預定的自動測試模式生成算法,以便僅僅以所 述潛在故障集合中的潛在故障采樣為目標。如這里所使用的,如果前導輸入影響了指定動作,那么所述指定動作“響應于”前 導輸入。如果存在中間處理要素、步驟或時段,那么指定動作可以仍舊“響應于”前導輸入。 如果中間處理要素或步驟組合了一個以上的輸入,那么該動作被認為“響應于”每一個輸 入。指定動作與一個或多個輸入的“依存關系”也是以相似的方式定義的。上文中關于本實用新型優(yōu)選實施例的描述是出于示例和描述目的提供的。它并不 是為了窮舉本實用新型或?qū)⒈緦嵱眯滦途窒抻谒_的確切形式。很明顯,對本領域從業(yè) 者來說,眾多的修改和變更都是顯而易見的。舉個例子,盡管圖7和9的實施例執(zhí)行迭代 搜索來發(fā)現(xiàn)最佳測試設計,另一個實施例可以在不執(zhí)行迭代的情況下獲取相同或相似的結 果,例如通過并行評估候選測試設計,可選地使用不同處理器。另舉一例,盡管在圖7和9 的實施例中是根據(jù)最優(yōu)故障回復率(或某個其他質(zhì)量量度)選擇最佳測試設計的,可以理 解,在另一個實施例中,最佳測試設計有可能是基于某個其他量度選擇的,例如測試過程中 的功率損耗,其中最優(yōu)質(zhì)量可選地只是次級選擇判據(jù)。作為替換,具有一個或多個其他因素 的加權平均中質(zhì)量量度可以作為僅一個因素使用。通常,在這里有時會將用于確定“最佳” 測試設計的量度稱為該測試設計的“品質(zhì)因數(shù)”,而質(zhì)量量度則僅僅是這種品質(zhì)因數(shù)的一個 優(yōu)選示例。另舉一例,如圖8的步驟810的步驟中的ATPG可以識別不僅僅電路設計中的所 有潛在故障,而是可以識別組合的電路設計和測試設計中的所有潛在故障。這些實施例是 為了以最佳方式說明本實用新型的原理及其實際應用而被選擇和描述的,由此能使本領域 其他技術人員理解本實用新型,從而得知各種實施例以及各種修改同樣適合所設想的特定 用途。本實用新型的范圍是由后續(xù)權利要求及其等價物限定的。
權利要求1.一種用于為集成電路設計形成基于掃描的測試設計的系統(tǒng),包括形成裝置,用于為電路設計形成多個候選測試設計,其中包括生成裝置,用于根據(jù)電路 設計來生成多個測試矢量;生成裝置,用于為每一個候選測試設計生成一個測試協(xié)議品質(zhì)因數(shù);以及選擇裝置,用于根據(jù)對為每一個候選測試設計生成的測試協(xié)議品質(zhì)因數(shù)的比較來選擇 其中一個候選測試設計,以便在集成電路器件中實施,其中用于生成多個測試矢量的生成裝置使用了預定的自動測試模式生成算法,以及其中用于為每一個候選測試設計生成測試協(xié)議品質(zhì)因數(shù)的生成裝置包括確定裝 置,用于僅使用如果預定的自動測試模式生成算法運行至結束將會生成的測試矢量的采樣 來確定用于每一個特定的候選測試設計的測試協(xié)議品質(zhì)因數(shù)。
2.根據(jù)權利要求1的系統(tǒng),其中所述多個候選測試設計包括電路設計的狀態(tài)寄存器到 掃描鏈的不同排列。
3.根據(jù)權利要求1的系統(tǒng),其中所述多個候選測試設計包括將器件掃描輸入引腳互連 到掃描鏈輸入的不同解壓縮電路。
4.根據(jù)權利要求1的系統(tǒng),其中所述多個候選測試設計包括將掃描鏈輸出互連到器件 掃描輸出引腳的不同壓縮電路。
5.根據(jù)權利要求1的系統(tǒng),其中所述多個候選測試設計包括用于控制該自動測試模式 生成算法操作的不同配置參數(shù)值。
6.根據(jù)權利要求1的系統(tǒng),還包括并入裝置用于將電路設計以及至少掃描鏈排列和解 壓縮器排列并入到組合設計中,其中所述掃描鏈排列和解壓縮器排列來自在選擇裝置中選 擇的候選測試設計;以及運行裝置,用于根據(jù)組合設計來將所述預定的自動測試模式生成算法運行至結束。
7.根據(jù)權利要求1的系統(tǒng),還包括運行裝置,用于根據(jù)在選擇裝置中選擇的候選測試 設計,將預定的自動測試模式生成算法運行至結束。
8.根據(jù)權利要求7的系統(tǒng),其中用于運行預定的自動測試模式生成算法至結束的運行 裝置生成多個測試矢量,還包括提供裝置,用于向集成電路測試設備提供多個測試矢量,以便在測試依照電路 設計和在選擇裝置中選擇的候選測試設計制造的集成電路芯片中使用。
9.根據(jù)權利要求7的系統(tǒng),其中所述多個候選測試設計包括用于控制自動測試模式生 成算法操作的不同配置參數(shù)值,以及其中用于運行預定的自動測試模式生成算法至結束的運行裝置包括用于在選擇 裝置選定的候選測試設計中應用該配置參數(shù)值的應用裝置。
10.根據(jù)權利要求1的系統(tǒng),還包括生成裝置,用于根據(jù)電路設計以及在選擇裝置中選 定的候選測試設計來生成一組制造屏蔽。
11.根據(jù)權利要求1的系統(tǒng),其中測試矢量采樣至多包含256個測試矢量。
12.根據(jù)權利要求11的系統(tǒng),其中測試矢量采樣包含的測試矢量超過32個。
13.根據(jù)權利要求1的系統(tǒng),其中測試矢量采樣至多包含64個測試矢量。
14.根據(jù)權利要求1的系統(tǒng),其中預定的自動測試模式生成算法按順序生成測試模式,以及其中測試矢量采樣只包括預定的自動測試模式生成算法生成的前N個測試矢量,其中N是預定整數(shù),其對多個候選測試設計中的所有候選測試設計來說都是固定的。
15.根據(jù)權利要求14的系統(tǒng),其中用于生成多個測試矢量的生成裝置包括操作裝置, 用于操作所述預定的自動測試模式生成算法,直至生成N個測試矢量;以及停止裝置,用于在生成任何進一步的測試矢量之前,停止執(zhí)行所述預定的自動測試模 式生成算法。
16.根據(jù)權利要求1的系統(tǒng),其中測試協(xié)議的品質(zhì)因數(shù)是測試協(xié)議質(zhì)量量度。
17.根據(jù)權利要求1的系統(tǒng),其中測試協(xié)議品質(zhì)因數(shù)是故障覆蓋率。
18.根據(jù)權利要求1的系統(tǒng),其中用于選擇其中一個候選測試設計的選擇裝置包括用 于候選測試設計中以迭代方式搜索一個將測試協(xié)議品質(zhì)因數(shù)最大化的候選測試設計的搜索裝直ο
19.根據(jù)權利要求1的系統(tǒng),其中用于根據(jù)電路設計來生成多個測試矢量的生成裝置 包括識別裝置,用于識別有可能在根據(jù)所述電路設計制造的集成電路器件中出現(xiàn)的潛在故 障集合;以及操作裝置,用于操作所述預定的自動測試模式生成算法,以便僅僅以所述潛在故障集 合中的潛在故障采樣為目標。
專利摘要粗略地說,根據(jù)所考慮的電路設計來優(yōu)化基于掃描的測試架構。在一個實施例中,形成多個候選測試設計。對于每一個候選測試設計來說,根據(jù)電路設計和候選測試設計而生成多個測試矢量,并且這些測試矢量優(yōu)選是使用同一ATPG算法生成的,其中所述算法會在下游使用,以便生成用于制造集成電路器件的最終測試矢量。在這里為每一個候選測試設計都確定了故障覆蓋率之類的測試協(xié)議質(zhì)量量度,并且根據(jù)對這些測試協(xié)議質(zhì)量量度所進行的比較來選擇其中一個候選測試設計,以便在集成電路器件中加以實施。優(yōu)選地,只有能被ATPG生成的完整測試矢量集合中的采樣才被用于確定每一個特定候選測試設計所要發(fā)現(xiàn)的潛在故障的數(shù)量。
文檔編號G01R31/317GK201837703SQ200920174288
公開日2011年5月18日 申請日期2009年9月30日 優(yōu)先權日2008年10月9日
發(fā)明者A·安巴蘭, J·塞基阿, P·諾蒂雅斯, R·卡普爾, R·宇普魯里, S·庫爾卡爾尼, T·費爾南德斯 申請人:新思科技有限公司