SoC設(shè)計中結(jié)構(gòu)測試儀的矢量生成原理
現(xiàn)代矢量生成技術(shù)通過采用比過去更多的故障模型,能夠在短得多的進(jìn)度時間內(nèi)利用更少的測試矢量完成故障覆蓋率更大的測試。然而,既采用功能測試矢量也采用其他測試矢量又會帶來新的問題,例如矢量數(shù)目增多、不同類型的矢量(功能性矢量和結(jié)構(gòu)矢量)應(yīng)如何選擇和組合、如何支持各種各樣的故障和缺陷類型、如何決定測量的規(guī)格和品質(zhì),以及如何將這些測試矢量應(yīng)用到現(xiàn)代ATE中去。
現(xiàn)代設(shè)計過程要求針對不同目的采用多種不同類型的測試矢量,因此矢量提供已不再是一個簡單的程序。矢量的用途貫穿了整個設(shè)計、驗證、質(zhì)量緩慢提高(ramp up)和生產(chǎn)過程,甚至在附加的庫描述、工藝描述、故障分析、老化測試(burn-in)和硅片級評估等方面都有其作用。但最常見的矢量應(yīng)用還是測試程序。1965年,Gordon Moore提出了著名的摩爾定律“每18個月處理能力將翻一番”,這一定律對矢量也同樣適用。根據(jù)已應(yīng)用的矢量數(shù)目的增長曲線,我們已經(jīng)得到了包含上億個測試矢量的測試程序。
什么是測試矢量?
矢量的一個基本定義是:矢量是每個時鐘周期應(yīng)用于器件管腳的用于測試或者操作的邏輯1和邏輯0數(shù)據(jù)。這一定義聽起來似乎很簡單,但在真實應(yīng)用中則復(fù)雜得多。因為邏輯1和邏輯0是由帶定時特性和電平特性的波形代表的,與波形形狀、脈沖寬度、脈沖邊緣或斜率以及上升沿和下降沿的位置都有關(guān)系。在ATE(自動測試設(shè)備)語言中,這些波形是通過上升和下降沿加上器件管腳對建立時間和保持時間的要求這種格式化描述方式表示的。RZ(歸零)、NRZ(非歸零)和環(huán)繞補碼(SBC,surround by complement)信號就是幾個用來表示邏輯1和邏輯0的不同信號波形的例子。
數(shù)據(jù)波形和定時波形中的一個難點就是在一個周期中精確、準(zhǔn)確和清晰地定位波形上升沿和下降沿的位置。昂貴的傳統(tǒng)ATE通常通過采用增大長度來支持這一功能,同時,增大長度還有利于評估那些帶高速接口的各部分之間的準(zhǔn)確I/O定時。
結(jié)構(gòu)測試儀
結(jié)構(gòu)測試儀是一種新型ATE,它通過優(yōu)化其操作和特性集來支持“結(jié)構(gòu)測試”范例,從而降低傳統(tǒng)ATE的相關(guān)成本。結(jié)構(gòu)化優(yōu)化是指設(shè)計測試儀時,更多地考慮到掃描矢量和BIST矢量應(yīng)用的方式——掃描方式采用直線矢量,在位移過程中利用一組已經(jīng)定義好的掃描通道,以低數(shù)據(jù)率進(jìn)行評估;BIST則采用芯片內(nèi)部提供的矢量序列,通過一個片上PLL,BIST可以實速運行,但喚醒時必須采用一個慢速聲明信號加一個慢速報告和/或成功-失敗(pass-fail)信號。若BIST需要實速運行或需要進(jìn)行數(shù)據(jù)率過高的AC操作(超出測試儀所能提供的數(shù)據(jù)率),可采用矢量對時鐘,該時鐘能剛好產(chǎn)生一個實速時鐘周期而不影響應(yīng)用于管腳處的數(shù)據(jù)。
此外,不論用作驅(qū)動還是用來進(jìn)行比較/捕獲,結(jié)構(gòu)測試儀均支持比傳統(tǒng)ATE更大的存儲器。
測試矢量從何而來?
現(xiàn)代測試程序中使用的測試矢量有三個基本來源:大多數(shù)功能矢量由循環(huán)仿真(cycle-ized simulation)生成;幾乎所有掃描矢量均由測試模式自動生成(ATPG)或工程設(shè)計自動化(EDA)工具生成;而JTAG、邏輯BIST和存儲器BIST這類專門技術(shù)矢量則由目標(biāo)EDA工具生成。此外還有第四類直接在ATE上生成或直接由人工操作員生成的矢量,本文對此類矢量不作討論。
功能矢量
功能矢量也叫行為矢量或操作矢量,這種矢量通常由HDL或RTL行為模型仿真得到。行為仿真后得到一個文件,其中既包含激勵也包含電路響應(yīng)。之所以采用行為模型仿真是因為它代表了最快的仿真方式,而細(xì)節(jié)信息越多,仿真越詳細(xì),運行仿真所需的時間就越長。最常見的用作測試矢量的仿真輸出是VCD(Verilog Change Dump)文件。而實際上,驗證仿真是一種“基于事件”的仿真,它能夠識別觀察點的邏輯改變,但ATE并不能使用這種仿真。理想的方法是將這種仿真與一個時鐘聯(lián)系起來應(yīng)用,從而產(chǎn)生一個與 “測試儀周期”有關(guān),并且同步于“測試儀周期”的輸出文件。這種方法叫做“環(huán)化 (cyclization)”。但不論是行為仿真還是驗證仿真,不論是否采用環(huán)化方式(cyclized),要想將這些“格式化設(shè)計”矢量應(yīng)用到目標(biāo)ATE中,都必須對其進(jìn)行翻譯。如果仿真矢量沒有采用環(huán)化方式,那么翻譯過程就會復(fù)雜很多。通過翻譯,可以把與每個時鐘周期相關(guān)的數(shù)據(jù)映射為目標(biāo)測試儀所支持的波形。
通常,想要將功能矢量應(yīng)用到一臺ATE上時總會出現(xiàn)一個問題,因為功能矢量需要多種“邊緣集”或“定時集”的支持。所謂“邊緣集”或“定時集”指的是在某個給定的模式下可能與一個給定管腳有關(guān)的多種不同的定時方式(每種不同的電平、邊緣位置、周期、脈沖寬度等都代表了一組不同的邊緣集或定時集)。原始仿真都是事件驅(qū)動的,翻譯時必須為目標(biāo)模式指配波形,不同的模式通常需要不同的波形。但有時,某部分的設(shè)計允許當(dāng)數(shù)據(jù)發(fā)生改變時,在幾個時鐘周期之間,在某個給定的管腳上執(zhí)行多項不同的非同步操作(例如控制一個紋波計數(shù)器或one-h(huán)ot狀態(tài)機(jī))。
功能矢量是針對行為模型構(gòu)造的,設(shè)計功能矢量的目的是利用其對事務(wù)處理、操作或邏輯設(shè)計設(shè)定的行為進(jìn)行練習(xí)。這是對被測設(shè)計的門級或電路圖級的一級抽象,是對其物理層、布線層或硅片層的二級抽象。要評估功能矢量的質(zhì)量,必須對其評分,或者利用故障模型在門級對其進(jìn)行“故障仿真”,或利用缺陷模型在物理層對其進(jìn)行仿真。而最常用的評分方式則是利用綁定(stuck-at)故障模型進(jìn)行仿真。此外,在對功能矢量進(jìn)行評分時還需要進(jìn)行另一種仿真,那就是針對門級模型的仿真。然后,根據(jù)仿真的結(jié)果選取那些能夠達(dá)到最佳故障覆蓋率,或能達(dá)到目標(biāo)覆蓋率的矢量或模式,而剔除那些覆蓋率冗余的模式(所謂覆蓋率冗余,指并未發(fā)現(xiàn)任何獨特的或新的故障)。
在現(xiàn)代的復(fù)雜設(shè)計中,基本的“結(jié)構(gòu)級”或“示意圖級”驗證都采用更高效的基于掃描的綁定矢量來進(jìn)行生產(chǎn)測試和質(zhì)量評估,功能矢量就只能用于定時、速度性能或頻率驗證了。但即使是在這種用法上,功能矢量也面臨基于掃描的矢量的挑戰(zhàn)。
功能矢量也能在結(jié)構(gòu)測試儀上使用,但結(jié)構(gòu)測試儀是針對掃描類矢量更簡單的應(yīng)用格式和更低的數(shù)據(jù)率進(jìn)行了優(yōu)化的,因此功能矢量在用于結(jié)構(gòu)測試儀上時,必須對其所支持的邊緣集/定時集的數(shù)目加以限制。
結(jié)構(gòu)矢量
隨著IC密度和復(fù)雜性日益增大以及上市時間持續(xù)縮短,繼續(xù)追求傳統(tǒng)的功能測試方法就變得前景堪憂。設(shè)計和測試團(tuán)隊在上市時間的壓力下,對操作系統(tǒng)所知更少的情況下,必須在更短時間內(nèi)增大故障覆蓋率,并考慮更多的故障類型。他們怎么可能在這樣的環(huán)境中抽出時間來為復(fù)雜SoC開發(fā)功能測試矢量(我們購買第三方的IP內(nèi)核不也是因為我們不具備自己設(shè)計這種內(nèi)核的時間和專業(yè)技術(shù)嗎)?
在IC設(shè)計量日益增大的情況下,結(jié)構(gòu)化測試方法為我們提供了一種更加有效的選擇。采用結(jié)構(gòu)化測試方法時,工程師使用的是基于硅片結(jié)構(gòu)驗證的故障模型,而不是基于硅片行為驗證的測試矢量。這種測試通過靜態(tài)綁定(static stuck-at)故障模型就可以完成。門和連線通過芯片中的DFT來校驗,而自動矢量生成和矢量評分則由EDA工具來處理。測試過程如下:首先在門的輸入賦一個值,將疑似缺陷節(jié)點的值綁定為與其應(yīng)有值相反的值(例如將1強(qiáng)加給一個綁定0的節(jié)點),然后在支撐門的輸入賦一個值,使前面的值能夠傳遞到觀測點。如果觀測點的值與期望值不同,那么就認(rèn)為檢測到一個故障。
雖然結(jié)構(gòu)化測試法并不是什么新方法,但它已經(jīng)開始成為一種越來越受歡迎的測試方法,原因是:1. 自動化EDA工具能夠用比生成傳統(tǒng)功能測試矢量更短的時間生成結(jié)構(gòu)測試矢量;2. 已經(jīng)有一些EDA工具能夠針對綁定、延遲、橋接、開路、存儲器缺陷、泄漏和其他的復(fù)雜故障模型來生成矢量,這些故障模型可使測試變?yōu)楦邔哟蔚钠焚|(zhì)測試。并且這類相關(guān)工具也對生成與掃描、內(nèi)建邏輯自測(BIST)、存儲器GIST和Iddq(泄漏測試)相關(guān)的邏輯有所幫助。
此外,結(jié)構(gòu)化測試中使用的矢量均非常靈活,而且也攜帶了更多固有的設(shè)計信息。這一優(yōu)點對基于IP內(nèi)核的IC設(shè)計而言非常關(guān)鍵。有了更全面的測試矢量,工程師就能在對芯片了解更少的情況下組織測試、開發(fā)測試程序并進(jìn)行診斷。而且,如果工程師們正確地貫徹了結(jié)構(gòu)化測試的整個結(jié)構(gòu),就能利用較少的測試矢量達(dá)到較大的測試覆蓋率。
結(jié)構(gòu)測試法假設(shè)在芯片內(nèi)插入有DFT功能,而且要求嚴(yán)格遵守設(shè)計規(guī)則中的測試規(guī)則。采用這種方法的開發(fā)人員必須延長其時間進(jìn)度,將添加和驗證DFT以及運行ATPG所需的時間考慮進(jìn)去。有些人認(rèn)為DFT和ATPG很費時間,這種想法是錯誤的,因為事實上DFT和ATPG正在取代過去通常在下單后才完成的一些任務(wù)。其實,相對于在后設(shè)計階段再來生成功能矢量并編寫測試程序而言,將這些任務(wù)調(diào)整到設(shè)計早期來完成能夠節(jié)省相當(dāng)多的時間。
采用結(jié)構(gòu)矢量進(jìn)行測試還有另一個優(yōu)點,那就是現(xiàn)今的所有主流EDA工具都是以IEEE 1450.1標(biāo)準(zhǔn)規(guī)定的STIL(標(biāo)準(zhǔn)測試互換語言)輸出的,而如今的結(jié)構(gòu)測試儀可以直接理解這種設(shè)計語言,無需翻譯,這就消除了測試程序開發(fā)過程中錯誤的一個主要來源,解決了一個大難題。
綁定(stuck-at)掃描矢量
最常見的一種結(jié)構(gòu)矢量是掃描矢量。絕大多數(shù)掃描矢量都是由ATPG工具生成的DC掃描矢量或綁定掃描矢量。如果被測設(shè)計是一個全掃描設(shè)計,那么所有觸發(fā)器都是掃描結(jié)構(gòu)的一部分,都被組織后編入掃描鏈,或編入可從該部分的管腳處直接訪問的掃描移位寄存器中。這時,矢量生成是組合進(jìn)行的。如果被測設(shè)計是“大部分掃描”或“局部掃描”設(shè)計,那么有一些觸發(fā)器就不屬于掃描鏈,這時矢量生成就必須包含序列分析功能(即矢量生成器必須清楚應(yīng)怎樣使觸發(fā)器工作)。另外,如果掃描矢量被用來測試或驗證設(shè)計在實速運行時的特性或行為,或者設(shè)計的AC特性或行為,那么要么必須進(jìn)行一次順序時間幀分析,要么必須進(jìn)行一次偽順序時間幀分析,以生成實速樣本周期。
如果掃描矢量是隨機(jī)創(chuàng)建的(即分配給掃描鏈元素的值是隨機(jī)的邏輯值),那么不論這些矢量是來自測試儀還是片上模式發(fā)生器(例如一個線性反饋移位寄存器,LFSR),這一應(yīng)用都被認(rèn)為是一次BIST。許多時候,掃描矢量是由某些確定性的工具創(chuàng)建的,所謂確定性是指這些矢量都是針對某些特定的故障而開發(fā)的。綁定故障模型是最簡單的ATPG故障模型,在這種模型中,邏輯電路的一個網(wǎng)點或一個節(jié)點(門的輸入或輸出)必須被指定一個綁定0或綁定1的條件(就好像這個網(wǎng)點或節(jié)點被短路到VDD或VSS一樣)。在測試這一網(wǎng)點或節(jié)點時,必須將其輸入驅(qū)動到與其綁定值相反的值上(即綁定1的節(jié)點或網(wǎng)點必須被驅(qū)動為邏輯0),而將疑似缺陷節(jié)點的值唯一地連接到一個觀測點(只有當(dāng)錯誤的結(jié)果被傳送出來時,觀測點才能觀測到)。而且還要將邏輯1賦給AND型邏輯的off-path輸入,將邏輯0賦給OR型邏輯的off-path輸入,借此開通信號的傳輸通道,從而使故障演練能夠完成(圖2)。
如果故障后果的前向追蹤過程以及使能和故障演練路徑的后向追蹤過程都得出了結(jié)論,那么就可以認(rèn)為邏輯值要么在輸入管腳處結(jié)束,要么在掃描觸發(fā)器內(nèi)結(jié)束。用于實施掃描鏈中所分布測試的數(shù)據(jù)比特叫做“測試立方(test-cube)”,其他比特可以進(jìn)行隨機(jī)填充(padding)。掃描鏈可以以任何頻率填充,其工作頻率通常只有幾十兆赫茲。一旦某個狀態(tài)被加載到掃描鏈之后,掃描使能信號就被取消,以允許出現(xiàn)為期一個時鐘周期的“功能響應(yīng)”,然后再次打開掃描使能,將這次“取樣”的結(jié)果移出。移出的結(jié)果中能夠表現(xiàn)測試結(jié)果的那些數(shù)據(jù)比特叫做“有效位”。
AC掃描矢量
隨著深亞微米(DSM)和納米制造工藝不斷發(fā)展,工藝改變和工藝缺陷已經(jīng)成為與定時相關(guān)的故障條件產(chǎn)生的主要因素。因此,綁定模型開始使某些特定設(shè)計市場上的芯片得免除更大量的測試。但在深亞微米和納米設(shè)計中,一個象綁定模型一樣的靜態(tài)故障模型是不可能描述所有故障的。相比而言,動態(tài)評估延遲故障模型更好。
延遲故障模型與綁定型故障模型非常相似,但前者內(nèi)嵌有定時特征,當(dāng)它發(fā)現(xiàn)一個定時上的缺點時,它會將其轉(zhuǎn)換為一個布爾錯誤(即在采樣時刻,觀察點會出現(xiàn)一個錯誤的邏輯值)。有一種延遲故障模型叫做門延遲故障模型或轉(zhuǎn)換(transition)延遲故障模型。這種模型可以用一個門元件的管腳值來表示,它具備慢升(STR)或慢降(STF)邏輯轉(zhuǎn)換特性,或者可以說它的傳輸延遲遠(yuǎn)大于正常值。另一種延遲故障模型是“路徑(path)”延遲故障模型,它和門延遲故障模型類似,但它是通過一條包含幾個門和幾個節(jié)點連接的傳輸路徑工作,而且它要到某個已知路徑的最后一個門才具備慢升和慢降特性。
許多種造成定時不確定行為的缺陷都可以用延遲故障模型來建模。其中包括:阻性柵極氧化物短路和摻雜不足,這兩種缺陷會導(dǎo)致晶體管開關(guān)速度變慢;布線錯誤,包括過孔斷路和過孔堵塞以及走線斷路或畸形的(例如狗骨形),這種布線錯誤會導(dǎo)致傳輸路徑受阻。金屬橋或短路線連接可能會與其他信號產(chǎn)生競爭,因而也可以用延遲模型建模對其建模。此外,還有一種必須接受評估的“軟故障”條件,那就是由互電容引發(fā)的串?dāng)_類信號完整性問題。
一些其他的缺陷也可能造成邏輯上類似延遲的行為,例如在電源通路無法提供足夠能量以驅(qū)動邏輯模塊時出現(xiàn)的電源垮降,或在時鐘樹驅(qū)動器的驅(qū)動能力不足或時鐘邊沿速率重疊時造成的時鐘衰弱。這其中有一些延遲十分微小,當(dāng)他們出現(xiàn)在非關(guān)鍵路徑中時可能不會被發(fā)現(xiàn)。這種微小的延遲看似一種可接受的缺陷或故障,但它們卻可能最終導(dǎo)致芯片出現(xiàn)可靠性問題,或是引發(fā)額外資源泄漏之類的一些其他缺陷。
AC掃描就是為達(dá)到驗證定時一致性的目的,而利用基于掃描的技術(shù)來實現(xiàn)實速采樣周期。AC掃描也可以用來驗證頻率一致性(速度分級)、管腳定義一致性(IO定時)或者檢查由制造引入的延遲缺陷。工程師們驗證頻率一致性的方法是保證生產(chǎn)后,設(shè)計中,凡是在規(guī)定范圍內(nèi)的所有關(guān)鍵的定時通路都滿足他們對硅片級的規(guī)定要求。而這一分析是在對每一個端點進(jìn)行分析的基礎(chǔ)上進(jìn)行的(一個端點就是一個寄存器或一個輸出管腳),采用從靜態(tài)定時分析(STA)中提取的關(guān)鍵路徑。而管腳定時規(guī)范的規(guī)定,例如輸入建立時間、輸入保持時間以及輸出有效時間,都是通過保證每個管腳上最壞情況下的最長路徑和最好情況下的最短路徑都在規(guī)定的建立-保持定時范圍內(nèi)來實現(xiàn)的。與進(jìn)行頻率驗證和管腳驗證時一樣,為了定位出現(xiàn)延遲缺陷的位置,需采用AC掃描來測試每個端點上的大量路徑,只是需注意,有些非關(guān)鍵路徑也可能因為存在延遲而變成關(guān)鍵路徑。
以上兩種AC掃描故障模型中,轉(zhuǎn)換延遲模型能夠檢測門和網(wǎng)點處的STR和STF信號,更適合測試總延遲,而路徑延遲模型能夠檢測一條經(jīng)過完整描述的,由多個網(wǎng)點和門組成的路徑上的STR和STF信號,更適合監(jiān)測關(guān)鍵路徑上的微小延遲。二者結(jié)合起來就能完成所有定時和頻率驗證任務(wù)。
對轉(zhuǎn)換延遲故障模型和路徑延遲故障模型都可以進(jìn)行分析,并且可根據(jù)對矢量對的需要在兩個時間幀內(nèi)完成這兩種模型分析。第一個時間幀用于建立錯誤值并發(fā)起一次轉(zhuǎn)換,第二個時間幀用于捕捉轉(zhuǎn)換的結(jié)果。所有公開可用的ATPG工具從一段時間以前,就都開始支持這種對轉(zhuǎn)換進(jìn)行的觸發(fā)-捕捉分析了。AC掃描中采用的矢量生成技術(shù)已經(jīng)成熟,但其應(yīng)用卻仍不夠成熟。
綁定掃描和AC掃描的主要區(qū)別在于時鐘定時。能實現(xiàn)時鐘定時的方法有很多種,但此處只需要一個實速時鐘脈沖。多路D觸發(fā)器型掃描的測試時鐘通常采用系統(tǒng)時鐘,而LSSD型掃描的測試時鐘則通常采用專用的測試時鐘。時鐘定時原本應(yīng)該并不復(fù)雜,但現(xiàn)代的設(shè)計中多存在多個時鐘區(qū)域、多種時鐘頻率、由時鐘演變而得的時鐘,以及龐大的可能負(fù)荷有上萬個寄存器的時鐘分布樹,這就使得時鐘設(shè)計決不可能簡單了事。 對有些器件而言,大多數(shù)常用測試儀的時鐘定時能力已經(jīng)能夠滿足要求,在測試這樣的器件時,測試所使用的時鐘通常由芯片外部,經(jīng)由系統(tǒng)時鐘管腳灌入芯片內(nèi)部,既用做移位時鐘也用做捕捉時鐘。這種定時方式對那些工作在200-400MHz以下的設(shè)計是相當(dāng)簡單的。然而當(dāng)測試儀的定時能力無法滿足器件對頻率的要求時,或者當(dāng)需要添加昂貴的高速焊盤才能從芯片外部引入時鐘時,最常用的辦法就是利用片上的鎖相環(huán)或延遲鎖相環(huán)(DLL)提供系統(tǒng)時鐘。這時,外部提供的時鐘更符合測試儀的定時能力,只作為參考時鐘;作用于系統(tǒng)(很多時候也作用于掃描結(jié)構(gòu))的內(nèi)部時鐘是PLL提供的時鐘。在這種情況下,實速移位和采樣耗費的功率就成了人們最關(guān)心的問題。掃描轉(zhuǎn)換(toggling)的功耗可能超過預(yù)計值,但為解決“測試功耗”問題而對這部分進(jìn)行額外仔細(xì)的設(shè)計并不經(jīng)濟(jì),而且可能導(dǎo)致晶圓尺寸過大。要解決這一問題,可以只提供一個頻率較低的移位時鐘,然后再允許使用一個實時采樣時鐘。為器件提供這種類型定時時鐘的方法有很多。
還有一個與時鐘定時相關(guān)聯(lián)的問題,那就是掃描移位使能(SE)信號的聲明和消除。“移位時觸發(fā)”和 “捕捉時觸發(fā)”這兩種方法均能解決SE信號的應(yīng)用問題。所有主流EDA矢量生成(ATPG)工具都支持這兩種方法,但它們各有各的折衷和局限。
LOS技術(shù)和LOC技術(shù)
業(yè)界對這兩種方法有一種普遍的誤解,認(rèn)為不論LOS還是LOC方法都可以用在現(xiàn)有的設(shè)計掃描結(jié)構(gòu)上。這種看法是錯誤的。因為應(yīng)用不同的方法時,物理掃描結(jié)構(gòu)(即掃描位的順序和掃描使能)會有不同的要求。LOS方法不論表面看起來還是實際運作起來都與常規(guī)DC掃描十分相似,只是采樣間隔有所不同。采用LOS法時,首先向掃描鏈中壓入一對測試矢量,為掃描鏈中的倒數(shù)第二次移位(第n-1次移位)安排一個狀態(tài)。最后一次移位會復(fù)制所有的狀態(tài)數(shù)據(jù),并從觸發(fā)位開始觸發(fā)。然后將掃描移位使能信號取消,這時,采得的樣本就是捕捉到的值。ATPG工具很容易計算出應(yīng)該為掃描鏈中剩余的n-1個空間安排怎樣的狀態(tài)。
對于那些應(yīng)用頻率較低的設(shè)計,移位時鐘和采樣時鐘可采用同一頻率,整個操作看起來與綁定掃描別無二致。而對于那些頻率要求較高的設(shè)計,則可以采用較慢速度進(jìn)行移位操作,然后在最后一次移位和采樣操作之間開始引入實速周期。如果實速周期比移位周期的時間間隔要短,那么這種技術(shù)就叫做周期切換(cycle-switching)或叫做周期縮短(cycle-shrinking)。如果通過控制占空比來實現(xiàn)實速周期,到達(dá)最后一次移位時,啟動時鐘出現(xiàn)在本周期的后部分,而捕捉周期的捕捉時鐘出現(xiàn)在下一個周期的前半部分,那么這種技術(shù)就叫做時鐘交替(clock-chopping)或占空比調(diào)制(duty-cycle modulation)。LOS技術(shù)中關(guān)鍵的問題就在于SE信號必須在最后一次移位和引入實速采樣時鐘之間被取消。在高頻情況下,這一要求就可能導(dǎo)致SE信號變成一個十分關(guān)鍵的信號,無法再由測試儀提供。這時就只能將其看作一個時鐘,為它建立一個分布樹,并且在可能時將其寄存在芯片內(nèi)部(這又給ATPG工具帶來了一個問題)。
與LOS處于競爭低位的LOC方法其實是由LOS衍變而來的,只是LOS只需一個采樣周期就可完成,而LOC需要兩個采樣周期。首先要將一個狀態(tài)掃描入被測部分,然后進(jìn)行一次采樣,改變寄存器中的觸發(fā)位,然后再進(jìn)行第二次采樣,捕捉轉(zhuǎn)換后的實時結(jié)果。與LOS類似,采樣時鐘也可以用作實時時鐘,或時鐘交替和占空比控制。但與LOS最大的不同是,LOC只要求“俘獲時觸發(fā)”時鐘為實時時鐘,而且SE信號在前一個時鐘周期內(nèi)就已經(jīng)被取消,不會變成關(guān)鍵信號。
LOS和LOC各有其優(yōu)缺點,但總的來說,他們對軟件ATPG工具或?qū)τ布呙杞Y(jié)構(gòu)都是比較有利的。二者相比而言,LOS在ATPG工具上比較容易實施,因此運行時間比較短,矢量緊縮度也較好。但要求移位位具備獨立性(這就可能導(dǎo)致掃描路線不是最佳路線)才能保證故障覆蓋率較高,LOC則要求ATPG工具進(jìn)行更多操作(即運行時間更長、矢量緊縮度更差),但并不要求在掃描鏈中進(jìn)行任何比特排序。而且采用LOC方法后,可以進(jìn)行更大面積的硬件優(yōu)化。
掃描結(jié)構(gòu)
掃描結(jié)構(gòu)的配置會對矢量的最終形式和它們對ATE存儲器大小的要求產(chǎn)生至關(guān)重要的影響。盡管結(jié)構(gòu)測試儀是針對掃描矢量優(yōu)化過的,但仍不能排除產(chǎn)生阻礙矢量使用或使矢量使用復(fù)雜化的配置或條件。例如創(chuàng)建一種要求以PLL頻率(可能在幾百兆赫茲范圍)進(jìn)行移位操作的掃描結(jié)構(gòu),或者需要多種邊緣集的掃描結(jié)構(gòu)。有的掃描結(jié)構(gòu)對存儲器的要求甚至可能超出當(dāng)前結(jié)構(gòu)測試儀所支持的深度掃描驅(qū)動存儲器。
過去,由于對掃描矢量存在一些普遍的誤解和實現(xiàn)上的問題,構(gòu)造出的掃描結(jié)構(gòu)效率較差,所以人們總認(rèn)為掃描矢量很難管理。例如,若在一條掃描鏈上放置6萬個觸發(fā)器,以便將需要的專用測試管腳數(shù)縮減到兩個(一個用作掃描數(shù)據(jù)輸入,另一個用作掃描數(shù)據(jù)輸出),結(jié)果測試儀只能使用一個數(shù)據(jù)通道,這時,如果采用2,000個掃描矢量,那么這個數(shù)據(jù)通道就需要12億時鐘周期的存儲能力。
但EDA掃描插入工具已經(jīng)日益成熟,人們也開始了解掃描測試法能夠帶來的經(jīng)濟(jì)效益,因而,更高效的掃描結(jié)構(gòu)隨之產(chǎn)生。許多掃描鏈都放棄了專用的測試管腳,轉(zhuǎn)而開始使用借用的輸入和輸出管腳,而各掃描鏈本身也被配置得更加平衡(即所有的掃描鏈都被配置成同樣大小)。此外,還有一些其他優(yōu)化措施,如將時間域分割后劃入掃描域、不再支持加載和停放(load-and-park)以及將掃描長度變?yōu)榭膳渲谩?
為保證掃描結(jié)構(gòu)能夠提供矢量,同時也為了保證所生成矢量的安全性,在矢量生成過程中采用了許多測試規(guī)則(DRC):禁止驅(qū)動競爭、禁止時鐘信號用作數(shù)據(jù)也禁止數(shù)據(jù)用作時鐘并且不支持組合反饋。
在已經(jīng)出現(xiàn)的問題中,納米技術(shù)對掃描結(jié)構(gòu)的影響是最應(yīng)引起注意。因為在納米工藝中,布線缺陷是最常見的問題,而掃描則是一種對布線十分敏感的結(jié)構(gòu)?,F(xiàn)代設(shè)計中常會出現(xiàn)大量這樣的問題:由于掃描鏈斷裂而導(dǎo)致掃描鏈?zhǔn)茏?,?shù)據(jù)移位被迫停止,或者掃描鏈出現(xiàn)保持時間問題,從而導(dǎo)致比特跳過和數(shù)據(jù)模糊出現(xiàn)。要解決這些問題,就需要創(chuàng)建一種新的矢量來驗證掃描鏈并對其進(jìn)行快速診斷。
本文小結(jié)
對尺寸和復(fù)雜度均驚人的現(xiàn)代ASIC和SoC而言,要想實現(xiàn)全面測試,使其達(dá)到我們要求的品質(zhì)等級,必須采用一個相當(dāng)可觀的測試矢量陣才行。今天的設(shè)計測試既需要功能矢量也需要結(jié)構(gòu)矢量,必須將二者結(jié)合起來使用。然而事實已經(jīng)證明,在矢量生成、故障覆蓋率,甚至在應(yīng)用中,結(jié)構(gòu)化方式都比功能化方式更有效。采用結(jié)構(gòu)矢量需要DFT支持,但在芯片中插入DFT的技術(shù)和生成矢量的技術(shù)都已經(jīng)成熟起來,所有主流EDA廠商都支持這兩種功能。
評論