《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測(cè)試測(cè)量 > 業(yè)界動(dòng)態(tài) > 基于導(dǎo)航接收機(jī)的DSP外設(shè)存儲(chǔ)器行進(jìn)測(cè)試技術(shù)

基于導(dǎo)航接收機(jī)的DSP外設(shè)存儲(chǔ)器行進(jìn)測(cè)試技術(shù)

2009-05-04
作者:伍 微,倪少杰,劉小匯,王飛雪

??? 摘? 要: 針對(duì)電子系統(tǒng)中存儲(chǔ)器的靜態(tài)非鏈接故障,提出一種基于字的行進(jìn)測(cè)試方法,用于檢測(cè)所有的SAF、TF、AF、SOF、CFin、CFid、CFst故障。解析分析表明,該方法不僅能夠檢測(cè)出March-CW遺漏的故障,而且在相同故障檢測(cè)能力下,其運(yùn)算量降為(11N+5v)/u+2N,優(yōu)于的11N和March-17N的17N/u+10N(其中,N是存儲(chǔ)器的字?jǐn)?shù),每個(gè)字為u比特,u=2v)。將該方法應(yīng)用于某高端導(dǎo)航接收機(jī)DSP外設(shè)存儲(chǔ)器故障實(shí)時(shí)檢測(cè),可以在數(shù)秒內(nèi)完成兆字節(jié)容量的存儲(chǔ)器測(cè)試。?

??? 關(guān)鍵詞: 行進(jìn)測(cè)試;存儲(chǔ)器故障模型;實(shí)時(shí);DSP;導(dǎo)航接收機(jī)

?

??? DSP作為電子系統(tǒng)中數(shù)字運(yùn)算的核心,所操作數(shù)據(jù)的正確性是系統(tǒng)正常運(yùn)行的基本保證。以導(dǎo)航接收機(jī)中的DSP應(yīng)用為例,捕獲跟蹤、信號(hào)解調(diào)、電文格式轉(zhuǎn)換、多徑抑制、抗干擾等實(shí)時(shí)任務(wù)每時(shí)每刻都在進(jìn)行比特信息的交互。作為系統(tǒng)數(shù)據(jù)的中轉(zhuǎn)站,存儲(chǔ)器的任何物理故障都有可能導(dǎo)致系統(tǒng)出現(xiàn)嚴(yán)重的異常。因此,需要一種快速有效的存儲(chǔ)器測(cè)試算法對(duì)DSP外設(shè)存儲(chǔ)器進(jìn)行實(shí)時(shí)功能驗(yàn)證和檢測(cè),確保器件沒有物理故障[1]。本方法專門針對(duì)存儲(chǔ)器中AF、SAF、SOF、TF、CF故障的檢測(cè),如圖1中虛線框內(nèi)所示。?

?

?

??? 在已有的故障檢測(cè)算法中,Checkerboard算法的測(cè)試向量類似于國(guó)際象棋中黑白相間的棋盤格,使用0-1間隔的測(cè)試序列寫入存儲(chǔ)器,運(yùn)行時(shí)間為O(N),但故障覆蓋率較低[2]。Galpat算法遍歷了每個(gè)比特對(duì)其他比特的影響,可以檢測(cè)所有非鏈接的靜態(tài)故障,但運(yùn)行時(shí)間為O(N2)[3]。在現(xiàn)有工藝條件下,完成一片兆字節(jié)容量的存儲(chǔ)器的Galpat測(cè)試需要幾百年。行進(jìn)算法是工業(yè)中經(jīng)常使用的存儲(chǔ)器測(cè)試算法,如MATS++、March X、March C-等[4],其運(yùn)行時(shí)間為O(N),具有較高的故障覆蓋率,但通常不能覆蓋所有靜態(tài)非鏈接故障。?

??? 本文在考慮存儲(chǔ)器靜態(tài)非鏈接故障的基礎(chǔ)上,以字作為基本檢測(cè)單元,提出了一種可以檢測(cè)所有SAF、TF、AF、SOF、CF故障的行進(jìn)測(cè)試方案,其運(yùn)算量為(11N+5v)/u+2N,其中,每個(gè)字為u比特,u=2v。?

1 故障模型與定義?

??? 本文采用文獻(xiàn)[2]通用的術(shù)語定義。?

1.1 術(shù)語定義?

??? 為了方便描述以字作為基本檢測(cè)單元的故障檢測(cè)方法,補(bǔ)充定義以下術(shù)語:?

??? · u:一個(gè)字的比特?cái)?shù),u=2v(v為非負(fù)整數(shù))。?

??? · P:u比特的測(cè)試向量字。?

??? · P0:全0測(cè)試向量字。P0=bu…b2b1,bu=…=b2=b1=0。?

??? · M:某個(gè)基于比特的行進(jìn)測(cè)試算法,由一系列行進(jìn)序列組成。?

??? · MP:M對(duì)應(yīng)的基于字的行進(jìn)測(cè)試算法,P是u比特的測(cè)試向量字。?

1.2 存儲(chǔ)器故障模型?

??? 存儲(chǔ)器靜態(tài)非鏈接故障包括單個(gè)單元故障和耦合故障。?

??? (1)單個(gè)單元故障?

??? 單個(gè)單元故障包括:SAF、SOF、AF和TF,其分類及檢測(cè)序列如表1所示。?

?

?

??? (2)耦合故障?

??? 耦合故障是一個(gè)單元的邏輯值受另一個(gè)單元的影響。包括:①CFin故障(inversion Coupling Fault)是指單元i翻轉(zhuǎn)會(huì)導(dǎo)致單元j翻轉(zhuǎn);②CFid故障(idempotent Coupling Fault)是指單元i翻轉(zhuǎn)會(huì)導(dǎo)致單元j的邏輯值為某個(gè)定值(0或1);③CFst故障(state Coupling Fault)是指單元i賦值為某個(gè)定值時(shí),會(huì)導(dǎo)致單元j的邏輯值為某個(gè)定值(0或1)。耦合故障列表如表2所示。?

?

?

2 基于字的行進(jìn)算法?

2.1 基于比特的行進(jìn)與基于字的行進(jìn)?

??? 基于比特的行進(jìn)會(huì)遍歷所有的比特單元,而基于字的行進(jìn)則是遍歷所有的字單元。對(duì)于N比特的存儲(chǔ)器,兩種行進(jìn)方式的差異如表3所示。

?

?

????目前大多數(shù)存儲(chǔ)器讀寫操作是基于字的。對(duì)于N比特存儲(chǔ)器,如果一個(gè)字為u比特,則對(duì)于相同的行進(jìn)序列,基于字的行進(jìn)與基于比特的行進(jìn)相比,測(cè)試時(shí)間減少到原來的1/u;基于字的行進(jìn)測(cè)試缺點(diǎn)在于故障檢測(cè)率會(huì)下降,需要更多的測(cè)試向量字來提高故障檢測(cè)率。?

2.2 字中耦合故障和字間耦合故障?

????耦合故障分為字中耦合和字間耦合兩種情況,如圖2所示。字中耦合故障是指同一個(gè)字內(nèi)的兩個(gè)比特i和j,比特i的狀態(tài)變化或操作會(huì)引起比特j邏輯值故障;字間耦合故障是指比特i和j分別處于兩個(gè)不同的字中,比特i的狀態(tài)變化或操作會(huì)引起比特j邏輯值故障。?

?

?

??? 由圖2可以看出,如果M可以檢測(cè)出所有的CF故障,則MP0可以檢測(cè)出所有的字間耦合故障,但通常只能測(cè)出一部分字中耦合故障。?

2.3 基于字的故障檢測(cè)?

??? 為了能夠檢測(cè)出所有的SAF、TF、AF、SOF、CF故障,考慮以字為基本檢測(cè)單元,采用下面的行進(jìn)序列進(jìn)行故障檢測(cè):?

?

??? 其中:?

??? 存儲(chǔ)器共N比特,每個(gè)字為u比特,u=2v。?

??? P0=bu…b2b1,則bu=…=b2=b1=0?

??? PAj=bu…b2b1,則當(dāng)i mod 2j>2j-1時(shí),bi=1,i=1,2,…,u。?

??? PBj=bu…b2b1,則當(dāng)i≤j時(shí),bj=1;當(dāng)i>j時(shí),bi=0。?

??? 結(jié)論1:M0可以檢測(cè)所有的SAF、TF、AF故障,以及所有的<↑;→>、<↓;→>、<;←>、<↑;←>、<↓;←>、<;←>、<↑;>、<↓;>、<↑;1/0>、<↓;0/1>、<0;0/1>、<1;1/0>故障。?

??? 證明:M0對(duì)應(yīng)的基于比特的行進(jìn)算法為March C-。March C-可以檢測(cè)出所有的SAF、TF、AF、CFin、CFst、CFid[4],因此M0可以檢出所有的SAF、TF、AF、字間CFin、字間CFst、字間CFid。下面考察M0對(duì)字中CF故障的檢測(cè)。?

??? 由于M0包含行進(jìn)序列因此可以檢測(cè)出字中耦合比特由0翻轉(zhuǎn)為1引起因此可以檢測(cè)出字中耦合比特由1翻轉(zhuǎn)為0引起的<↓;0/1>、<0;0/1>故障;又因?yàn)镸0經(jīng)歷了寫0寫1又寫0的兩次比特反轉(zhuǎn)操作,所以可以檢測(cè)出所有的單向翻轉(zhuǎn)CFin故障(包括<↑; →>、<↓;→>、<;←>、<↑;←>、<↓;←>、<;←>)和單次翻轉(zhuǎn)CFin故障(包括<↑;>和<↓;>)。結(jié)論1得證。

??? 結(jié)論2:March-CW(即M0+M1)可以檢測(cè)所有的SAF、TF、AF、SOF、CFid、CFst故障,以及除了<;>之外的所有CFin故障。?

??? 證明:由于M1包含行進(jìn)序列因此M1可以檢測(cè)出所有SOF故障。?

??? 由于M1包含行進(jìn)序列rPA1),使用了0-1間隔的測(cè)試向量字,因此可以檢測(cè)出所有奇位比特反轉(zhuǎn)對(duì)偶位引起的<↑;1/0>、<↓;0/1>、<0;0/1>、<1;1/0>字中耦合故障,以及所有偶位比特反轉(zhuǎn)對(duì)奇位引起的上述故障。M1其他行進(jìn)序列所使用測(cè)試向量字0-1之間的間隔按2的冪次增加,因此可以檢測(cè)出所有奇位比特反轉(zhuǎn)對(duì)奇位引起的<↑;1/0>、<↓;0/1>、<0;0/1>、<1;1/0>字中耦合故障,以及所有偶位比特反轉(zhuǎn)對(duì)偶位引起的上述故障。所以M1可以檢測(cè)出所有<↑;1/0>、<↓;0/1>、<0;0/1>、<1;1/0>字中耦合故障。?

??? 結(jié)合結(jié)論1,結(jié)論2得證。?

??? 結(jié)論3:M0+M1+M2可以檢測(cè)所有的SAF、TF、AF、SOF、CF故障。?

??? 證明:M2行進(jìn)序列所使用測(cè)試向量字遍歷了字中的每一個(gè)比特可能引起的故障,因此M2可以檢測(cè)出所有的字中耦合故障。?

??? 結(jié)合結(jié)論2,結(jié)論3得證。?

3 分析與應(yīng)用?

3.1 運(yùn)算量分析?

??? 運(yùn)算量是存儲(chǔ)器實(shí)時(shí)檢測(cè)的重要衡量指標(biāo),如表4所示。?

?

?

??? 由表4可以看出,在具有相同故障檢測(cè)能力的前提下,M0+M1+M2的檢測(cè)時(shí)間遠(yuǎn)小于、March-17N和Galpat;當(dāng)u較大時(shí),M0、M0′、March-CW、M0+M1+M2的檢測(cè)時(shí)間會(huì)大大縮短。?

3.2 實(shí)例應(yīng)用?

??? 對(duì)1 MB的RAM,一個(gè)字由32 bit組成,則u=32、v=5,50 MHz的總線讀寫速率,DSP處理速度按500 MHz計(jì)算。使用上述檢測(cè)算法對(duì)DSP外設(shè)存儲(chǔ)器進(jìn)行實(shí)時(shí)功能驗(yàn)證和檢測(cè),結(jié)果如表5所示。?

?

?

??? 可見,M0+M1+M2可以在2 s內(nèi)完成1 MB存儲(chǔ)器的檢測(cè),故障覆蓋所有的SAF、SOF、TF、AF、CFin、CFst、CFid。M0+M1+M2的檢測(cè)時(shí)間雖然多于M0、M0′、March-CW,但它可以檢測(cè)的故障種類更多;M0+M1+M2可以檢測(cè)出所有能檢測(cè)出的故障,檢測(cè)時(shí)間從15 s降低到1.6 s。?

??? 本文考慮了存儲(chǔ)器所有的靜態(tài)非鏈接故障,提出了一種可以檢測(cè)所有SAF、TF、AF、SOF、CF的行進(jìn)測(cè)試方案,用于高效快速地完成DSP外設(shè)存儲(chǔ)器測(cè)試。?

??? 與March-CW、、March-17N進(jìn)行比較,結(jié)果表明,本文方法能檢測(cè)出March-CW遺漏的故障,且本文方法的運(yùn)算量為(11N+5v)/u+2N(其中,每個(gè)字為u比特,u=2v),速度遠(yuǎn)優(yōu)于的11N和March-17N的17N/u+10N。將該方法用于DSP外設(shè)存儲(chǔ)器功能驗(yàn)證中,在數(shù)秒內(nèi)完成了兆字節(jié)存儲(chǔ)器的檢測(cè),從而可以實(shí)時(shí)完成DSP外設(shè)存儲(chǔ)器的資源驗(yàn)證。此外,該方法還可以擴(kuò)展應(yīng)用于其他嵌入式處理器的外設(shè)存儲(chǔ)器測(cè)試中。?

參考文獻(xiàn)?

[1] HARUTUNYAN G,VARDANIAN V A,ZORIAN Y.Minimal?march tests for dynamic faults in random access memories[J].IEEE Proceedings of the Eleventh IEEE European Test?Symposium(ETS′06),2006.?

[2] AD J.Van De Goor.Using march tests to test SRAMs[J].IEEE Design & Test of Computers,1993.?

[3] Said Hamdioui,Zaid Al-Ars,Ad J.van de Goor,et al.March SL:a test for all static linked memory faults[J].IEEE Proceedings of the 12th Asian Test Symposium(ATS′03),2003.?

[4] WU Ch F,HUANG Ch T,CHENG K L,et al.Simulationbased test algorithm generation for random access memories[J].IEEE,2000.?

[5] WU Ch F,HUANG Ch T,CHENG W W.RAMSES:a fast?memory fault simulator[J].IEEE,2000.?

[6] LI J F,CHENG K L,HUANG Ch T,et al.March-based?RAM diagnosis algorithms for stuck-at and coupling faults[J].IEEE International Test Conference,2001:758-767.?

[7] A.J.van de Goor,GAYDADJIEV G N.An analysis of?(linked) address decoder faults[J],IEEE,1997:13-20.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。