文獻標識碼::A
文章編號: 0258-7998(2010)09-0104-04
在現代電路測試方法中,內建自測試(BIST)由于具有許多優點已經成為超大規模集成電路測試中的一個最具前景的解決方法。偽隨機模式測試是當前BIST中最受歡迎的測試方法,因為它不需要占用很大的存儲面積開銷,只需要有限個數的輸入向量便可達到很高的故障覆蓋率[1]。但是對于電路中剩余的難測故障所需要的測試模式的數量可能會很巨大,以致于不能實用,采用確定模式測試集來覆蓋被測電路中剩余的難測故障就成為被關注的研究方向。折疊集合就是一種簡單有效的確定模式測試集,基于折疊集的確定模式GIST提供了一種非常實用的BIST解決辦法。
1 約翰遜折疊計數器的工作原理
約翰遜折疊計數器又稱為可編程的約翰遜折疊計數器(簡稱折疊計數器)[2,3],它帶有動態改變的狀態轉移函數,取決于計數器的狀態和轉移距離。一個初始狀態s∈{0,1}n開始,產生一個n+1狀態序列F(0,s), F(1,s),…,F(n,s),其中狀態從F(i,s)轉移到F(i+1,s)保持前i位不變,翻轉所有余下位。翻轉僅僅由位置i和轉移距離j決定。狀態轉移函數如下[4,5]:
子,其中每個狀態序列可由初始種子s=0110、位置值i、距離值d來確定。折疊距離d決定生成的是哪個狀態序列,翻轉函數值的奇偶性決定該狀態位是否翻轉,如果翻轉數是奇數,對應生成的狀態翻轉,否則不變。下面是折疊計數器生成的原始序列和改變順序后的序列的比較。
2 偽單跳變測試矢量生成技術
LFSR編碼最突出的特點是僅與測試矢量中確定位數有關[6],而與測試矢量中無關位無關。從而,如果測試矢量中包含大量無關位,則利用LFSR編碼和約翰遜折疊計數器的特點就能對測試矢量進行優化,文中利用LFSR編碼產生約翰遜折疊種子,再由編碼的約翰遜折疊種子展開成約翰遜折疊序列,然后對其約翰遜折疊序列進行重排,使相鄰間測試矢量跳變個數達到最少,而達到功耗減少的目的。整個編碼流程圖如圖1所示。
為了便于理解,這里先利用實例來說明LFSR對約翰遜折疊種子的編碼過程,如圖2所示。
約翰遜折疊計數器狀態矢量生成的計算公式在前面已經介紹。圖2 LFSR對折疊種子編碼進行壓縮的實例,左邊為給定的確定測試立方體,其中測試立方體中“X”表示無關位。中間為度數2的LFSR,編碼測試立方所需的初始種子是“11”,生成的矢量為“s=110110”,將此矢量作為約翰遜折疊計數器的初始種子,按照前面給出的公式計算,得到圖2右邊的表格,從這個表格中可以看出給定的確定測試立方體,分別包含在折疊狀態生成序列F(0,s),F(3,s)和F(5,s)中,因此,只要保存LFSR的種子“11”,就可以生成完全覆蓋確定測試集的矢量序列。具體編碼LFSR種子和編碼測試立方體作為折疊種子策略參見文獻[7]。
本文方案實質是一種將FAULTSIM產生的確定測試矢量與約翰遜折疊序列的特點相結合的測試方案,因此整個自測試方案的低功耗設計就是通過折疊控制器來進行測試矢量優化設計。本文給出的低功耗測試產生器方案也是以LFSR為基礎的,其結構如圖3所示。LFSR的級數為n,計數器為n+1進制累加計數器,其長度為[log2(n+1)],解碼器對計數器的輸出進行解碼,輸出的控制信號Y分別去控制相應的多路選擇器MUX,從而選擇LFSR內部的某一觸發器的狀態輸出端Qi(Yi為1時)或其反相輸出端Qi(Yi為0時) 做為測試輸入信號。只要合理地設計解碼器就可以產生n個單輸入跳變的測試向量。當計數器為0時,Y0為1,其余Yi為1,此時與門開放,LFSR的CLK輸入有效,LFSR將產生一個偽隨機測試向量,計數器從1加到n時,Y0為0,與門關閉,LFSR的CLK輸入無效,由解碼器的輸出Yi(i=1,2,…n)來控制MUX產生n個單輸入跳變的測試序列。表1列出了當LFSR初始值為10111時產生的6個測試向量,在此期間,LFSR的值保持不變,直到計數器回0時, LFSR將產生一個偽隨機測試向量。這個測試生成器是針對每周期測試的GIST設計的,產生的向量直接送往待測電路的輸入端。經改造后LFSR和待測電路的活動性都大大降低,從而使得功耗進一步降低。
表2列出了當LFSR裝入一個折疊種子值為10111時產生的折疊測試序列編碼前后測試矢量的比較。
為了降低功耗,可以對由折疊種子產生的折疊序列進行重新排序,使得相鄰的折疊向量之間只有一位不同,從而產生單輸入跳變的測試序列,這樣可以使得被測電路(CUT)輸入端的相鄰測試向量之間的相關性增強。例如折疊種子值為10111,產生的未排序的折疊序列為:10111→01000→00111→00000→00011→00010,經過排序后的單輸入跳變序列應為:10111→00111→00011→00010→00000→01000,通過表2 右半部分可以看出,只需要對解碼器進行重新設計就可以實現這個排序功能,從而不需要對原電路進行大規模的設計修改。而且從表2可以看出解碼器的輸出Y0和Yi的數值是一樣的,因此可以合并為一個輸出,從而使得解碼器進一步簡化。其中折疊計數器與解碼器在一起構成了折疊控制器。由不同的折疊種子產生的測試序列都是單輸入跳變測試序列,只有在重新給LFSR置入種子時不是單輸入跳變序列,這樣整個的折疊測試序列就是偽單輸入跳變測試序列。
在確定模式BIST的設計中折疊控制器起到了關鍵作用,開始階段折疊控制器在LFSR生成的每兩個相鄰的偽隨機向量之間插入一個向量(為LFSR的位數),使插入的每一個向量與其前驅向量只有1位不同,這樣就可以獲得偽單輸入跳變測試序列(僅在LFSR產生下一個偽隨機向量時不是單跳變)。在一定長度的偽單輸入跳變測試序列生成后,開始由折疊控制器控制從ROM中取折疊種子裝入LFSR,此時的LFSR只相當于一個寄存器,折疊控制器中的解碼器完成對由一個折疊種子產生的原始折疊集的排序產生單輸入跳變測試序列,然后再裝入下一個折疊種子,折疊控制器接著產生下一個單輸入跳變測試序列,這樣直到所有的折疊種子都被裝入為止,整個的由不同的折疊種子產生的折疊測試序列就是偽單輸入跳變測試序列。最終可以發現兩部分測試向量序列組成的完整的測試序列也是偽單輸入跳變測試序列。
3 實驗數據結果分析
將這種新的低功耗測試生成器在ISCAS85/89部分實驗電路上進行了實驗。實驗前用C++編程模擬上述測試生成過程,再將得到的測試向量集施加給待測電路,再進行WSA和故障覆蓋。這種方案是從降低CUT輸入端的跳變密度著手進行設計的,在這種設計中,折疊控制器在完整的偽單輸入跳變測試序列中發揮了關鍵作用。表3是以ISCA85標準電路編碼前后WSA比較。
表3中第一列表示標準電路名稱,第二列表示該電路的輸入端口數,第三列表示本方案編碼后需要存儲的折疊種子個數,第四列表示本方案的故障覆蓋率,第五列表示壓縮后但沒有經過約翰遜折疊計數器編碼的各電路WSA統計值,第六列表示本方案的各電路WSA統計值,而第七列是參考文獻[7]中的實驗結果。通過結果的比較可以發現本方案的優越性。觀察表3可發現本方案電路中產生的測試功耗大大低于參考文獻[7]中的功耗值。由于本方案采用的是完全確定性測試,因此電路中的故障(除不可測故障外)均可測出,而參考文獻[7]中由于采用的是偽隨機測試,因此不能保證每個電路的高故障覆蓋率。
表4 給出了種子數對故障覆蓋率的影響,利用FAULTSIM對ISCA89電路進行了分析,結果表明,當測試矢量種子數達到30時,故障覆蓋率很高,基本上可以代替其他的所有測試矢量。這樣就極大地減少了測試矢量數,而達到低功耗的目的。
圖4 是以C432電路為例的仿真結果。
對比于文獻[7]提出的測試方案,本文提出的方案存在突出的優點: (1)被測電路產生的測試功耗比文獻[7]的測試功耗要小得多; (2)本方案的目標結構比混合低功耗GIST方案簡單,而且開銷比較小;(3)由于所有的故障都采用折疊序列測試,因此保證了峰值功耗比混合模式BIST低功耗小,而且更加有效地保護了被測電路。
本文利用參考文獻[2]中的編碼方案,結合折疊序列的特點,設計出完全確定性低功耗測試方案。不但保證了高故障覆蓋率,而且在編碼效率和解碼結構上比常用的FDR編碼優越。在功耗方面,不但可以降低平均功耗,而且可以降低測試中的峰值功耗。本文又利用控制電路來選擇MUX的輸入,實現了測試集的單輸入跳變。該設計方案具有比類似LPTPG方案故障覆蓋率高,面積開銷小的特點,因而具有一定的使用價值及參考意義。
參考文獻
[1] 梁華國,聚貝勒.海倫布昂特,漢斯一鄧西姆.馮特利希等.一種基于折疊計數器重新播種的確定自測試方案[J].計算機研究與發展,2001,38(8):931-938.
[2] ZORIAN Y. A distributed BIST control scheme for complex VLSI devices[A]. In: 1993 VLSI Test Symposium Digest Of Papers Eleventh Annual 1993 IEEE[C]. Atlantic Cit,NJ,1993:4-9.
[3] GIRARD P, GUILLER L, LANDRAULT C. et al.A test vector ordering technigue for switching activity reducion during test operation[C]. In: IEEE Great Lakes Sympon VISI, March 1999:24-27.
[4] HELLEBRAND S, RAJSKI J, TARNICK S,et al. Builtin test for circuits with scan based on reseeding of multiple polynormial linear feedback shift registers[J]. IEEE Trans. On Computers,1995,44(2):223-233.
[5] KOENEMANN B. LFSR-ceded test patterns for scan designs. Eur Test Conf. 1991:237-242.
[6] AHMED N, TEHRANIPOUR M H, NOURANI M. Low power pattern generation for BIST Architecture[C]. Proc. of IEEE VISI Test Symposium, 2001:329-334.
[7] GERSTENDORFER S, WUNDERLICH H J. Minimized power consumption for scan-based BIST. Test Conference,1999. Proceedings. International,1999:77-84.