文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.179006
中文引用格式: 白宇峰,呂寅鵬. 基于抗隨機(jī)性故障分析的高效率可測試設(shè)計方法[J].電子技術(shù)應(yīng)用,2017,43(8):40-42.
英文引用格式: Bai Yufeng,Lv Yinpeng. A method to achieve high test efficiency based on RRFA[J].Application of Electronic Technique,2017,43(8):40-42.
0 引言
隨著集成電路的發(fā)展,芯片中的集成邏輯大量增長,若要提高芯片的生產(chǎn)測試覆蓋率,則制造測試時必然需要大量的測試向量,圖1顯示了隨年份增長的測試向量[1]。大容量的測試向量不僅僅延長了在測試機(jī)臺上的測試時間,最終也會影響芯片產(chǎn)品的上市時間。對現(xiàn)代芯片的可測性設(shè)計來說,既保持芯片較高的測試覆蓋率,又將測試向量的容量控制在合理的范圍內(nèi),這將是一個很大的挑戰(zhàn)。
1 自動測試向量生成
自動測試向量生成(Automatic Test Pattern Generation,ATPG)是應(yīng)用某種基于算法的軟件來生成向量和向量集合的過程,被廣泛地應(yīng)用于基于故障或者結(jié)構(gòu)的向量生成[2,3]。
1.1 ATPG流程
ATPG通常包括向量生成和故障模擬兩部分。
圖2顯示了ATPG的基本過程:向量生成器從故障列表中選擇未被測試的故障,產(chǎn)生與之對應(yīng)的測試向量,然后使用該向量進(jìn)行故障模擬。若故障模擬成功,則保存該向量并將故障列表中的故障標(biāo)記為已測試,最后輸出測試向量并得到測試覆蓋率。
1.2 隨機(jī)性向量生成
ATPG一般使用兩種方法來生成測試向量:隨機(jī)性向量生成和確定性向量生成。通常來說,ATPG會先生成少量的隨機(jī)性向量,這些隨機(jī)性的向量能夠有效地覆蓋電路中的故障,然后再根據(jù)電路的特點(diǎn)產(chǎn)生確定性的向量。確定性向量往往針對的是電路中的某幾個故障,而隨機(jī)性向量則面對電路中的所有故障點(diǎn)。
當(dāng)電路中的大多數(shù)故障能夠被隨機(jī)性向量所覆蓋,那么只需要產(chǎn)生少量的確定性向量就能達(dá)到較高的測試覆蓋率。因此,當(dāng)隨機(jī)性向量越有效,確定性的向量也越少,則測試所需要的總的向量則越少。
2 抗隨機(jī)性故障分析介紹
抗隨機(jī)性故障分析(Random Resistant Fault Analysis,RRFA)是Cadence公司測試工具提供的一項特性,用于對電路進(jìn)行分析,發(fā)現(xiàn)電路中的抗隨機(jī)性結(jié)構(gòu)[4]。
2.1 抗隨機(jī)性電路分析
抗隨機(jī)性電路結(jié)構(gòu)的特殊性在于存在多級與門(或門)的級聯(lián),導(dǎo)致電路在測試模式下的邏輯可控性偏差,即邏輯0的可控性遠(yuǎn)大于邏輯1的可控性(或者相反)。
使用SCOAP[5]分析方法對圖3電路進(jìn)行分析。假設(shè)電路的所有輸入的邏輯0和邏輯1 的可控性均為50%(A點(diǎn)C1=50%,B點(diǎn)C0=50%),通過逐級傳播后,電路中的C點(diǎn)C1=0.2%,C0=99.8%。此時可以看出,C點(diǎn)的邏輯0的可控性遠(yuǎn)大于邏輯1的可控性,這意味著,在隨機(jī)性向量生成中,C點(diǎn)將有99.8%的可能性被控制為邏輯0。此時D點(diǎn)無論是SA0還是SA1都將難以被激活。同理分析,由于多路選擇器的選擇端口邏輯0的可控性較高,則邏輯錐E中的故障很難被傳播到下一級的寄存器用于被觀測,此時邏輯錐E中的邏輯的可觀測性大大降低。
從以上的分析可知,當(dāng)使用隨機(jī)性向量來測試類似電路時,測試覆蓋率將會大大降低,而為了激活該電路中的故障,則需要使用大量的確定性向量,以保證測試覆蓋率。
2.2 插入測試點(diǎn)
為了解決隨機(jī)性向量在抗隨機(jī)性電路中失效的問題,可以在電路中插入一定的測試點(diǎn),從而平衡電路的可控性以及可觀測性。
一般地,如圖4中的3種電路常被用于插入測試點(diǎn)。圖4(a)為增強(qiáng)邏輯1可控性測試點(diǎn),在測試模式下,當(dāng)需要控制A點(diǎn)為邏輯1時,可以通過掃描鏈將邏輯1掃描至該寄存器即可。同理,圖4(b)為增強(qiáng)邏輯0可控性測試點(diǎn);圖4(c)則為增強(qiáng)可觀測性測試點(diǎn),用于在掃描測試時捕獲測試響應(yīng)。
3 抗隨機(jī)性故障分析與測試點(diǎn)插入流程
3.1 電路測試向量分析與評估流程
圖5顯示了電路測試向量分析與評估流程:使用綜合工具Genus對電路進(jìn)行綜合以及實現(xiàn)掃描電路的插入與連接。將綜合后的網(wǎng)表文件寫出。Modus工具將網(wǎng)表文件與ATPG標(biāo)準(zhǔn)單元庫導(dǎo)入,建立測試模式,檢測測試電路結(jié)構(gòu)合法性,對電路建立故障模型,生成測試向量。當(dāng)生成的測試向量的數(shù)據(jù)量超過預(yù)期,則可考慮進(jìn)行抗隨機(jī)性電路分析。
3.2 抗隨機(jī)性故障分析與插入測試點(diǎn)流程
圖6顯示了抗隨機(jī)性故障分析與測試點(diǎn)的流程。在對設(shè)計進(jìn)行邏輯綜合與掃描電路插入之后,保存設(shè)計網(wǎng)表。同時導(dǎo)出NoTP文件,用于告知工具避免在這些設(shè)計模塊中插入測試點(diǎn)。
此時調(diào)用Modus工具導(dǎo)入設(shè)計網(wǎng)表以及NoTP文件,讓工具進(jìn)行抗隨機(jī)性故障分析,預(yù)估測試覆蓋率,并生成測試點(diǎn)插入文件。最后將測試點(diǎn)插入文件導(dǎo)入到綜合工具后,進(jìn)入測試點(diǎn)插入以及增量的掃描鏈插入。
4 實驗結(jié)果與分析
為了檢驗本文提出的設(shè)計方法與流程,使用相同的設(shè)計流程對7個不同的設(shè)計進(jìn)行了實驗。表1顯示了實驗結(jié)果。其中測試點(diǎn)一欄中顯示了設(shè)計中的寄存器的數(shù)量以及測試點(diǎn)與之的比例。
從實驗數(shù)據(jù)可知,對于不同的設(shè)計來說,在不損失測試覆蓋率的情況下,使用了抗隨機(jī)性故障分析方法,在插入測試點(diǎn)不超過2%的條件下,測試向量數(shù)據(jù)最高減少了86.28%,最低減少了20.83%,平均減少了45.85%。
5 結(jié)論
本文介紹了一種基于抗隨機(jī)性故障分析的可測性設(shè)計方法,使用Cadence工具M(jìn)odus對電路分析得到測試插入點(diǎn),在插入測試點(diǎn)的電路上生成測試向量,向量數(shù)據(jù)量平均減少了45.85%。由此說明,該方法能夠有效地提高芯片的測試效率。
參考文獻(xiàn)
[1] 向剛.SoC測試優(yōu)化及其應(yīng)用該技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2011.
[2] ALFRED L C,何虎,馬立偉,等.數(shù)字集成電路與嵌入式內(nèi)核系統(tǒng)的測試設(shè)計[M].北京:機(jī)械工業(yè)出版社,2006.
[3] Wang Laungterng,Wu Chengwen,Wen Xiaoqing.LSI test principles and architectures: design for testability[C].San Francisco,Morgan Kaufmann Publisher,2006.
[4] Cadence.Modus:Guide 5:ATPG[C].Cadence Design Systems,USA,2016.
[5] GOLDSTEIN L H.SCOAP:Sandia controllability/observability analysis program[C].17th Design Automation Conference,1980:190-196.
作者信息:
白宇峰,呂寅鵬
(格羅方德半導(dǎo)體科技(上海)有限公司,上海201204)