新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 提高DFT設(shè)計(jì)測試覆蓋率的有效方法

提高DFT設(shè)計(jì)測試覆蓋率的有效方法

作者: 時間:2008-05-26 來源:網(wǎng)絡(luò) 收藏
  伴隨著現(xiàn)代大規(guī)模集成電路制造工藝的快速發(fā)展,設(shè)計(jì)工程師必需直面芯片制造過程中可能產(chǎn)生的物理缺陷?,F(xiàn)今流行的可測試性設(shè)計(jì)(DFT:Design For Testability)應(yīng)運(yùn)而生,并為保證芯片的良品率擔(dān)任著越來越重要的角色。

  在DFT設(shè)計(jì)中,測試覆蓋率及其測試效率是最重要的指標(biāo)。一方面,理想的設(shè)計(jì)目標(biāo)當(dāng)然希望測試能夠遍及整個芯片的,盡管理想值100%是不容易達(dá)到的;另一方面,測試效率亦非常重要,設(shè)計(jì)工程師總希望用最少的測試向量達(dá)到預(yù)期的測試覆蓋率,來降低芯片的測試成本。

  當(dāng)然,DFT設(shè)計(jì)必須保證正常的功能為前提。不幸的是,功能設(shè)計(jì)總會忽略一些潛在的問題,導(dǎo)致最終的測試覆蓋率往往不盡如人意。這種情況下,設(shè)計(jì)中有一些無論如何都不能被觀測到或控制到,因此即使測試矢量的數(shù)量有很大的增幅,也不能使結(jié)果改善很多。

  在實(shí)際的DFT設(shè)計(jì)中,存在對測試覆蓋率有較大損害的兩種情況:一種存在于數(shù)字邏輯-邏輯(包括)輸入-輸出處之陰影部分,另一種存在于特定的多芯片封裝情況下未綁出的輸入-輸出焊墊處。二者的共同點(diǎn)在于:測試模式下部分邏輯的不可控或不可觀測。

  設(shè)計(jì)背景

  本文探討的設(shè)計(jì)目標(biāo)是一個來自意法半導(dǎo)體的數(shù)字音頻信號處理芯片,要求對數(shù)字功能邏輯進(jìn)行鏈測試,覆蓋率達(dá)到98%以上。其功能邏輯中存在一些模塊,如鎖相環(huán)、模數(shù)轉(zhuǎn)換器和一些單元等。更為重要的是,該芯片需要基于不同的應(yīng)用系統(tǒng)需要,不但需要單獨(dú)封裝形式,也需要多芯片共享同一封裝。這樣,在某些多芯片封裝中,就有部分焊墊未引出或接地。而測試的設(shè)計(jì)初衷是產(chǎn)生一組測試向量適用于所有封裝形,就要求考慮最嚴(yán)格的封裝下可用的管腳資源。

  DFT設(shè)計(jì)有兩個基本原則:可控制性和可觀測性,即DFT設(shè)計(jì)要求所有輸入邏輯是可控的和輸出邏輯是可測的。顯然,考慮到本設(shè)計(jì)中的模塊和封裝形式的資源有限性,不可控邏輯和不可觀測邏輯對不小于98%的目標(biāo)測試覆蓋率給出了很大的挑戰(zhàn)。

  如圖1所示,在某種芯片封裝情況下,除信號test_si和test_so外,其余焊墊并未綁出(接地或懸空),從而造成信號port_A、port_B、port_C和port_D的不可控,以及信號port_Z1、port_Z2和port_Z3的不可觀測(懸空)。導(dǎo)致很多相關(guān)邏輯不能正常參于DFT測試,測試覆蓋率受到較大的損害。



圖1 封裝造成的測試邏輯不可控和不可測

  DFT設(shè)計(jì)的可控制性和可觀測性是通過原始的管腳來實(shí)現(xiàn)的,事實(shí)上功能設(shè)計(jì)不可能專門為DFT保留足夠多的管腳。如圖2所示的數(shù)字-模擬,由于PLL模塊的存在,顯然信號net_1、net_2和net_3上得到的測試結(jié)果不可直接觀測(不可測),組合邏輯1相應(yīng)的測試覆蓋率降低了;同時,由于PLL模塊的存在,信號net_4、net_5和的net_6不能直接賦值(不可控),導(dǎo)致組合邏輯2的部分邏輯不能正常參于DFT測試,相應(yīng)的測試覆蓋率受到較大的損害??偟膩碚f,芯片的測試覆蓋率降低了。



圖2 模擬模塊造成的測試邏輯不可控和不可測

  解決方案

  針對設(shè)計(jì)中的上述情況,可以通過適當(dāng)添加測試點(diǎn)的方式,使原來不可控和不可測的邏輯變化反映到鏈上,使之變得間接可控和可測,以期提高整個芯片的測試覆蓋率和測試效率。

  對于圖1所示的某些封裝中,不可控和不可測的未綁出(接地或懸空)管腳,圖3給出了相應(yīng)的定制的解決方案。



圖3 添加控制點(diǎn)和觀測點(diǎn)提高測試覆蓋率(封裝部分管腳未綁出情況)

  對于輸入管腳,添加一個帶有選擇端的。當(dāng)控制選擇信號為“0”時,電路處于正常工作狀態(tài),功能邏輯從輸入端接收到正常的輸入數(shù)值。當(dāng)選擇控制為“1”時,電路處于測試狀態(tài)。在移位過程中,這些點(diǎn)由測試鏈預(yù)置相應(yīng)的值;在捕獲過程中,將之接地防止不定態(tài)在設(shè)計(jì)中的傳播。

  在輸出管腳處,添加少量異或門和選擇器件。當(dāng)控制選擇信號為“0”時,電路處于正常工作狀態(tài),輸出管腳正常輸出功能信號。當(dāng)選擇控制為“1”時,電路處于測試狀態(tài),用異或門將未能綁出的管腳的變化引出,相當(dāng)于這些管腳也可以被觀測了。

  針對圖2所示的數(shù)字-模擬,部分模擬模塊輸入信號通過組合邏輯給出,但在測試時并沒有邏輯將這些“終點(diǎn)”的信號影響引出觀察,因此這些點(diǎn)是不可觀測的。這與DFT設(shè)計(jì)可觀測要求(需管腳直接輸出)不相符,可能造成測試覆蓋率的損害。同時,部分模擬模塊輸出信號控制相應(yīng)的組合邏輯,但在測試中,這些點(diǎn)是“浮空”(不可控制)的。這與DFT設(shè)計(jì)可控要求(需管腳直接輸入)不相符,造成測試覆蓋率的降低。圖4給出了類似前者的定制解決方案,其實(shí)質(zhì)也是把這些不可控和不可測點(diǎn)連到測試鏈上去,讓這些邏輯間接可觀測或可控制以改善測試結(jié)果。



圖4添加控制點(diǎn)和觀測點(diǎn)提高測試覆蓋率(數(shù)字-模擬接口情況)

  如圖所示,在模擬模塊輸入信號處添加少量異或門和選擇器件,并將它們連到鏈上去。當(dāng)控制選擇信號為“0”時,電路處于正常工作狀態(tài),模擬模塊的輸入管腳正常接收功能信號。當(dāng)選擇控制為“1”時,電路處于測試狀態(tài),用異或門或者其他器件將未能觀測管腳的變化引出,相當(dāng)于這些管腳間接可以被觀測了。

  如圖所示,在模擬模塊輸出信號處添加一個帶有選擇端的。當(dāng)控制選擇信號為“0”時,電路處于正常工作狀態(tài),模擬模塊信號正常輸出到后續(xù)的功能邏輯。當(dāng)選擇控制為“1”時,電路處于測試狀態(tài):在移位過程中,這些點(diǎn)由測試鏈預(yù)置相應(yīng)的值;在捕獲過程中,將之接地防止不定態(tài)在設(shè)計(jì)中的傳播。

  對于其他的模擬模塊如ADC, 等,采用類似的方法可改善整個芯片的測試覆蓋率和測試效率,達(dá)到目標(biāo)測試效果。

  結(jié)語

  在前面提及的實(shí)際項(xiàng)目DFT設(shè)計(jì)中,功能邏輯部分含有萬余。為提高測試覆蓋率,添加僅12個寄存器及很少部分組合邏輯作為測試點(diǎn)后,即可將測試覆蓋率從原來的95%提高到98.3%。由此看來,這種方法是很有效率的。并且可根據(jù)項(xiàng)目實(shí)際需要,添加更多點(diǎn)以期達(dá)到更高覆蓋率,理論上測試覆蓋率可接近100%。

  推薦功能設(shè)計(jì)時就能考慮這種測試結(jié)構(gòu)。這樣做設(shè)計(jì)工程師之間能夠了解彼此的設(shè)計(jì)需求,功能測試結(jié)構(gòu)明晰,在DFT設(shè)計(jì)過程中省去很多麻煩。如果發(fā)現(xiàn)這類問題在完成之后,一些DFT工具也提供用戶自定義的測試點(diǎn)插入,但是要注意測試控制信號選取一定要與需要的測試模式匹配,否則無法完成相應(yīng)的測試期望。這種方法的關(guān)鍵是了解在哪里加測試點(diǎn)更為有效。


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉