《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于確定模式的偽單跳變測試矢量生成技術(shù)
基于確定模式的偽單跳變測試矢量生成技術(shù)
來源:電子技術(shù)應(yīng)用2010年第9期
劉建軍1, 李鐵軍1, 鄒立明2
1. 集美大學(xué) 信息工程學(xué)院, 福建 廈門 361021; 2. 上海普閱信息科技有限公司, 上海 201203
摘要: 提出了一種基于確定模式的偽單跳變測試矢量生成方法,它是在折疊計(jì)數(shù)器確定模式的基礎(chǔ)上,采用LFSR編碼折疊計(jì)數(shù)器種子,通過選定的存儲(chǔ)折疊距離來控制測試模式,使得產(chǎn)生的測試矢量之間實(shí)現(xiàn)偽單跳變。由于是在確定模式基礎(chǔ)上進(jìn)行的研究,沒有改變?cè)瓉淼臏y試矢量,所以故障覆蓋率不會(huì)改變,卻大大降低了測試功耗。這樣既保證了高故障覆蓋率,又解決了不同種子所生成的測試矢量之間的重疊冗余。研究結(jié)果不僅表明該方案具有很好的數(shù)據(jù)壓縮率,而且證明了該方案的有效性。
中圖分類號(hào): TN407
文獻(xiàn)標(biāo)識(shí)碼::A
文章編號(hào): 0258-7998(2010)09-0104-04
Pseudo-single-change test pattern generation technique based on deterministic model
LIU Jian Jun1, LI Tie Jun1, ZOU Li Ming2
1. School of Information Engineering, Jimei University, Xiamen 361021, China;2. AnyID Technology(Shanghai) Ltd., Shanghai 201203, China
Abstract: In this paper, a new pseudo-single-change test pattern generation technique is proposed. The new technique using the folding counter and linear feedback shift register encoding folding seed, after that by selecting folding distance to achieve the pseudo-single transition of test vectors. Because it is carried out based on deterministic model, the original test vectors are not changed, so the fault coverage has not changed, but it greatly reduces the test power consumption. Therefore not only guarantees a high coverage but also solve the seed vectors’ overlap and redundant. The results show that the new technique has good data compression ratio and fault coverage ratio. Experiment proves it have a strong practical.
Key words : low-power; folding vector; pseudo-single-change; determine mode; seed


   在現(xiàn)代電路測試方法中,內(nèi)建自測試(BIST)由于具有許多優(yōu)點(diǎn)已經(jīng)成為超大規(guī)模集成電路測試中的一個(gè)最具前景的解決方法。偽隨機(jī)模式測試是當(dāng)前BIST中最受歡迎的測試方法,因?yàn)樗恍枰加煤艽蟮拇鎯?chǔ)面積開銷,只需要有限個(gè)數(shù)的輸入向量便可達(dá)到很高的故障覆蓋率[1]。但是對(duì)于電路中剩余的難測故障所需要的測試模式的數(shù)量可能會(huì)很巨大,以致于不能實(shí)用,采用確定模式測試集來覆蓋被測電路中剩余的難測故障就成為被關(guān)注的研究方向。折疊集合就是一種簡單有效的確定模式測試集,基于折疊集的確定模式GIST提供了一種非常實(shí)用的BIST解決辦法。
1 約翰遜折疊計(jì)數(shù)器的工作原理
 約翰遜折疊計(jì)數(shù)器又稱為可編程的約翰遜折疊計(jì)數(shù)器(簡稱折疊計(jì)數(shù)器)[2,3],它帶有動(dòng)態(tài)改變的狀態(tài)轉(zhuǎn)移函數(shù),取決于計(jì)數(shù)器的狀態(tài)和轉(zhuǎn)移距離。一個(gè)初始狀態(tài)s∈{0,1}n開始,產(chǎn)生一個(gè)n+1狀態(tài)序列F(0,s), F(1,s),…,F(n,s),其中狀態(tài)從F(i,s)轉(zhuǎn)移到F(i+1,s)保持前i位不變,翻轉(zhuǎn)所有余下位。翻轉(zhuǎn)僅僅由位置i和轉(zhuǎn)移距離j決定。狀態(tài)轉(zhuǎn)移函數(shù)如下[4,5]:

子,其中每個(gè)狀態(tài)序列可由初始種子s=0110、位置值i、距離值d來確定。折疊距離d決定生成的是哪個(gè)狀態(tài)序列,翻轉(zhuǎn)函數(shù)值的奇偶性決定該狀態(tài)位是否翻轉(zhuǎn),如果翻轉(zhuǎn)數(shù)是奇數(shù),對(duì)應(yīng)生成的狀態(tài)翻轉(zhuǎn),否則不變。下面是折疊計(jì)數(shù)器生成的原始序列和改變順序后的序列的比較。

2 偽單跳變測試矢量生成技術(shù)
   LFSR編碼最突出的特點(diǎn)是僅與測試矢量中確定位數(shù)有關(guān)[6],而與測試矢量中無關(guān)位無關(guān)。從而,如果測試矢量中包含大量無關(guān)位,則利用LFSR編碼和約翰遜折疊計(jì)數(shù)器的特點(diǎn)就能對(duì)測試矢量進(jìn)行優(yōu)化,文中利用LFSR編碼產(chǎn)生約翰遜折疊種子,再由編碼的約翰遜折疊種子展開成約翰遜折疊序列,然后對(duì)其約翰遜折疊序列進(jìn)行重排,使相鄰間測試矢量跳變個(gè)數(shù)達(dá)到最少,而達(dá)到功耗減少的目的。整個(gè)編碼流程圖如圖1所示。

 為了便于理解,這里先利用實(shí)例來說明LFSR對(duì)約翰遜折疊種子的編碼過程,如圖2所示。

   約翰遜折疊計(jì)數(shù)器狀態(tài)矢量生成的計(jì)算公式在前面已經(jīng)介紹。圖2 LFSR對(duì)折疊種子編碼進(jìn)行壓縮的實(shí)例,左邊為給定的確定測試立方體,其中測試立方體中“X”表示無關(guān)位。中間為度數(shù)2的LFSR,編碼測試立方所需的初始種子是“11”,生成的矢量為“s=110110”,將此矢量作為約翰遜折疊計(jì)數(shù)器的初始種子,按照前面給出的公式計(jì)算,得到圖2右邊的表格,從這個(gè)表格中可以看出給定的確定測試立方體,分別包含在折疊狀態(tài)生成序列F(0,s),F(3,s)和F(5,s)中,因此,只要保存LFSR的種子“11”,就可以生成完全覆蓋確定測試集的矢量序列。具體編碼LFSR種子和編碼測試立方體作為折疊種子策略參見文獻(xiàn)[7]。
 本文方案實(shí)質(zhì)是一種將FAULTSIM產(chǎn)生的確定測試矢量與約翰遜折疊序列的特點(diǎn)相結(jié)合的測試方案,因此整個(gè)自測試方案的低功耗設(shè)計(jì)就是通過折疊控制器來進(jìn)行測試矢量優(yōu)化設(shè)計(jì)。本文給出的低功耗測試產(chǎn)生器方案也是以LFSR為基礎(chǔ)的,其結(jié)構(gòu)如圖3所示。LFSR的級(jí)數(shù)為n,計(jì)數(shù)器為n+1進(jìn)制累加計(jì)數(shù)器,其長度為[log2(n+1)],解碼器對(duì)計(jì)數(shù)器的輸出進(jìn)行解碼,輸出的控制信號(hào)Y分別去控制相應(yīng)的多路選擇器MUX,從而選擇LFSR內(nèi)部的某一觸發(fā)器的狀態(tài)輸出端Qi(Yi為1時(shí))或其反相輸出端Qi(Yi為0時(shí)) 做為測試輸入信號(hào)。只要合理地設(shè)計(jì)解碼器就可以產(chǎn)生n個(gè)單輸入跳變的測試向量。當(dāng)計(jì)數(shù)器為0時(shí),Y0為1,其余Yi為1,此時(shí)與門開放,LFSR的CLK輸入有效,LFSR將產(chǎn)生一個(gè)偽隨機(jī)測試向量,計(jì)數(shù)器從1加到n時(shí),Y0為0,與門關(guān)閉,LFSR的CLK輸入無效,由解碼器的輸出Yi(i=1,2,…n)來控制MUX產(chǎn)生n個(gè)單輸入跳變的測試序列。表1列出了當(dāng)LFSR初始值為10111時(shí)產(chǎn)生的6個(gè)測試向量,在此期間,LFSR的值保持不變,直到計(jì)數(shù)器回0時(shí), LFSR將產(chǎn)生一個(gè)偽隨機(jī)測試向量。這個(gè)測試生成器是針對(duì)每周期測試的GIST設(shè)計(jì)的,產(chǎn)生的向量直接送往待測電路的輸入端。經(jīng)改造后LFSR和待測電路的活動(dòng)性都大大降低,從而使得功耗進(jìn)一步降低。

   表2列出了當(dāng)LFSR裝入一個(gè)折疊種子值為10111時(shí)產(chǎn)生的折疊測試序列編碼前后測試矢量的比較。

 為了降低功耗,可以對(duì)由折疊種子產(chǎn)生的折疊序列進(jìn)行重新排序,使得相鄰的折疊向量之間只有一位不同,從而產(chǎn)生單輸入跳變的測試序列,這樣可以使得被測電路(CUT)輸入端的相鄰測試向量之間的相關(guān)性增強(qiáng)。例如折疊種子值為10111,產(chǎn)生的未排序的折疊序列為:10111→01000→00111→00000→00011→00010,經(jīng)過排序后的單輸入跳變序列應(yīng)為:10111→00111→00011→00010→00000→01000,通過表2 右半部分可以看出,只需要對(duì)解碼器進(jìn)行重新設(shè)計(jì)就可以實(shí)現(xiàn)這個(gè)排序功能,從而不需要對(duì)原電路進(jìn)行大規(guī)模的設(shè)計(jì)修改。而且從表2可以看出解碼器的輸出Y0和Yi的數(shù)值是一樣的,因此可以合并為一個(gè)輸出,從而使得解碼器進(jìn)一步簡化。其中折疊計(jì)數(shù)器與解碼器在一起構(gòu)成了折疊控制器。由不同的折疊種子產(chǎn)生的測試序列都是單輸入跳變測試序列,只有在重新給LFSR置入種子時(shí)不是單輸入跳變序列,這樣整個(gè)的折疊測試序列就是偽單輸入跳變測試序列。
 在確定模式BIST的設(shè)計(jì)中折疊控制器起到了關(guān)鍵作用,開始階段折疊控制器在LFSR生成的每兩個(gè)相鄰的偽隨機(jī)向量之間插入一個(gè)向量(為LFSR的位數(shù)),使插入的每一個(gè)向量與其前驅(qū)向量只有1位不同,這樣就可以獲得偽單輸入跳變測試序列(僅在LFSR產(chǎn)生下一個(gè)偽隨機(jī)向量時(shí)不是單跳變)。在一定長度的偽單輸入跳變測試序列生成后,開始由折疊控制器控制從ROM中取折疊種子裝入LFSR,此時(shí)的LFSR只相當(dāng)于一個(gè)寄存器,折疊控制器中的解碼器完成對(duì)由一個(gè)折疊種子產(chǎn)生的原始折疊集的排序產(chǎn)生單輸入跳變測試序列,然后再裝入下一個(gè)折疊種子,折疊控制器接著產(chǎn)生下一個(gè)單輸入跳變測試序列,這樣直到所有的折疊種子都被裝入為止,整個(gè)的由不同的折疊種子產(chǎn)生的折疊測試序列就是偽單輸入跳變測試序列。最終可以發(fā)現(xiàn)兩部分測試向量序列組成的完整的測試序列也是偽單輸入跳變測試序列。
3 實(shí)驗(yàn)數(shù)據(jù)結(jié)果分析
 將這種新的低功耗測試生成器在ISCAS85/89部分實(shí)驗(yàn)電路上進(jìn)行了實(shí)驗(yàn)。實(shí)驗(yàn)前用C++編程模擬上述測試生成過程,再將得到的測試向量集施加給待測電路,再進(jìn)行WSA和故障覆蓋。這種方案是從降低CUT輸入端的跳變密度著手進(jìn)行設(shè)計(jì)的,在這種設(shè)計(jì)中,折疊控制器在完整的偽單輸入跳變測試序列中發(fā)揮了關(guān)鍵作用。表3是以ISCA85標(biāo)準(zhǔn)電路編碼前后WSA比較。
 表3中第一列表示標(biāo)準(zhǔn)電路名稱,第二列表示該電路的輸入端口數(shù),第三列表示本方案編碼后需要存儲(chǔ)的折疊種子個(gè)數(shù),第四列表示本方案的故障覆蓋率,第五列表示壓縮后但沒有經(jīng)過約翰遜折疊計(jì)數(shù)器編碼的各電路WSA統(tǒng)計(jì)值,第六列表示本方案的各電路WSA統(tǒng)計(jì)值,而第七列是參考文獻(xiàn)[7]中的實(shí)驗(yàn)結(jié)果。通過結(jié)果的比較可以發(fā)現(xiàn)本方案的優(yōu)越性。觀察表3可發(fā)現(xiàn)本方案電路中產(chǎn)生的測試功耗大大低于參考文獻(xiàn)[7]中的功耗值。由于本方案采用的是完全確定性測試,因此電路中的故障(除不可測故障外)均可測出,而參考文獻(xiàn)[7]中由于采用的是偽隨機(jī)測試,因此不能保證每個(gè)電路的高故障覆蓋率。

 表4 給出了種子數(shù)對(duì)故障覆蓋率的影響,利用FAULTSIM對(duì)ISCA89電路進(jìn)行了分析,結(jié)果表明,當(dāng)測試矢量種子數(shù)達(dá)到30時(shí),故障覆蓋率很高,基本上可以代替其他的所有測試矢量。這樣就極大地減少了測試矢量數(shù),而達(dá)到低功耗的目的。

   圖4 是以C432電路為例的仿真結(jié)果。

 對(duì)比于文獻(xiàn)[7]提出的測試方案,本文提出的方案存在突出的優(yōu)點(diǎn): (1)被測電路產(chǎn)生的測試功耗比文獻(xiàn)[7]的測試功耗要小得多; (2)本方案的目標(biāo)結(jié)構(gòu)比混合低功耗GIST方案簡單,而且開銷比較小;(3)由于所有的故障都采用折疊序列測試,因此保證了峰值功耗比混合模式BIST低功耗小,而且更加有效地保護(hù)了被測電路。
    本文利用參考文獻(xiàn)[2]中的編碼方案,結(jié)合折疊序列的特點(diǎn),設(shè)計(jì)出完全確定性低功耗測試方案。不但保證了高故障覆蓋率,而且在編碼效率和解碼結(jié)構(gòu)上比常用的FDR編碼優(yōu)越。在功耗方面,不但可以降低平均功耗,而且可以降低測試中的峰值功耗。本文又利用控制電路來選擇MUX的輸入,實(shí)現(xiàn)了測試集的單輸入跳變。該設(shè)計(jì)方案具有比類似LPTPG方案故障覆蓋率高,面積開銷小的特點(diǎn),因而具有一定的使用價(jià)值及參考意義。
參考文獻(xiàn)
[1]     梁華國,聚貝勒.海倫布昂特,漢斯一鄧西姆.馮特利希等.一種基于折疊計(jì)數(shù)器重新播種的確定自測試方案[J].計(jì)算機(jī)研究與發(fā)展,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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。