《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的數(shù)據(jù)域邊界掃描測(cè)試向量發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA的數(shù)據(jù)域邊界掃描測(cè)試向量發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)
來源:電子技術(shù)應(yīng)用2011年第9期
齊少華,劉 震
電子科技大學(xué) 自動(dòng)化工程學(xué)院,四川 成都611731
摘要: 設(shè)計(jì)了一種基于FPGA的邊界掃描測(cè)試向量發(fā)生器,該發(fā)生器可以為邊界掃描故障診斷系統(tǒng)提供測(cè)試向量,并可計(jì)算測(cè)試向量的故障覆蓋率。與以往通過軟件提供測(cè)試向量的方法相比,該設(shè)計(jì)在速度和效率上有了較大提高。
中圖分類號(hào): TP277
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)09-0018-03
Design and implementation of data-domain boundary scan test vector generator based on FPGA
Qi Shaohua,Liu Zhen
School of Automation Engineering,University of Electronic Science and Technology,Chengdu 611731,China
Abstract: In this paper, an FPGA-based boundary scan test vector generator is presented.The test vector generator provides test vector for fault diagnosis boundary scan system and can calculate fault coverage. This design ,compared with previous test vectors generator via software methods, the speed and efficiency has been greatly improved.
Key words : data domain test;boundary scan;fault injection;pseudo-random sequence


 隨著超大規(guī)模集成電路技術(shù)的發(fā)展,現(xiàn)代電子系統(tǒng)中印刷電路板越來越復(fù)雜,多層板的設(shè)計(jì)也越來越普遍。由于大量使用各種表貼元件和BGA封裝元件,使得元器件的管腳密度不斷提高,采用萬用表、示波器測(cè)試芯片的傳統(tǒng)“探針”方法已經(jīng)不能滿足要求。基于此,聯(lián)合測(cè)試行動(dòng)組JTAG(Joint Test Action Group)于1988年提出了第一個(gè)邊界掃描機(jī)制的標(biāo)準(zhǔn),即JTAG標(biāo)準(zhǔn)[1]。邊界掃描技術(shù)是應(yīng)用于數(shù)字集成電路器件的測(cè)試性結(jié)構(gòu)設(shè)計(jì)方法。所謂“邊界”是指測(cè)試電路被設(shè)置在IC器件邏輯功能電路的四周,位于靠近器件輸入、輸出引腳的邊界處。所謂“掃描”是指連接器件各輸入、輸出引腳的測(cè)試電路實(shí)際上是一種串行移位寄存器,這種移位寄存器叫做“掃描路徑”,沿著這條路徑可輸入由“0”和“1”組成的各種編碼,對(duì)電路進(jìn)行“掃描”式檢測(cè),從而定位故障芯片,并對(duì)芯片進(jìn)行更換。然而,人們對(duì)具體電路測(cè)試向量的生成主要是依靠軟件實(shí)現(xiàn),但當(dāng)面臨大規(guī)模復(fù)雜問題時(shí),基于軟件的測(cè)試向量生成方法往往在速度上受到本質(zhì)是串行的計(jì)算機(jī)系統(tǒng)的制約,導(dǎo)致運(yùn)算速度較慢。本文設(shè)計(jì)了一種基于FPGA的邊界掃描測(cè)試向量發(fā)生器,由于FPGA并行運(yùn)行的特性,提高了測(cè)試向量產(chǎn)生的速度和效率。
1 數(shù)據(jù)域測(cè)試理論與算法
    數(shù)據(jù)域測(cè)試是對(duì)數(shù)字電路或系統(tǒng)進(jìn)行故障偵查、定位和診斷[2]。數(shù)據(jù)域測(cè)試是提高數(shù)字系統(tǒng)可靠性的重要途徑,對(duì)當(dāng)代集成電路工業(yè)具有舉足輕重的作用。
1.1 固定型故障模型
    固定型故障模型是指電路或系統(tǒng)中某一信號(hào)線在系統(tǒng)運(yùn)行過程中總是固定在某一邏輯值上[3]。如果該線固定在邏輯高電平上,則稱之為固定1故障,簡(jiǎn)記為s-a-1;如果該線固定在邏輯低電平上,則稱之為固定0故障,簡(jiǎn)記為s-a-0。
1.2 布爾差分算法
    布爾差分法是用數(shù)學(xué)方法來研究故障的傳播,從而求得故障的測(cè)試集[4]。為了敘述方便,本文對(duì)于布爾函數(shù)f(X)=f(x1,x2,…,xn)定義如下:
    f(xi)=f(x1,x2,…,xi,…,xn)

    LFSR的邏輯功能完全由其反饋函數(shù)決定,圖1中所示的LFSR的行為完全由反饋系數(shù)Ci決定,由反饋系數(shù)Ci在二元域上定義的多項(xiàng)式:

稱為該線性反饋移位寄存器的特征多項(xiàng)式。以n次本原多項(xiàng)式為特征多項(xiàng)式的LFSR可產(chǎn)生周期為2n-1的偽隨機(jī)序列。
3.2 故障運(yùn)算機(jī)模塊
    本文以ISCAS`85基準(zhǔn)電路的C17電路為例來設(shè)計(jì)故障運(yùn)算機(jī)模塊。C17電路的單固定故障數(shù)目為34。將故障注入控制字M和Fv的寬度設(shè)置為9位,表示每個(gè)周期可以執(zhí)行8個(gè)故障的計(jì)算,每5個(gè)時(shí)鐘周期,測(cè)試向量保持不變,故障運(yùn)算機(jī)模塊依次注入全部故障。故障注入控制字的數(shù)據(jù)如圖2所示。表中陰影部分第一、二周期以及第三個(gè)周期中M[16]、Fv[16]表示注入固定1型故障,其余部分表示注入固定0型故障。

 

 

3.3 結(jié)果處理模塊
3.3.1 結(jié)果處理第一級(jí)模塊

    由于本系統(tǒng)是并行運(yùn)行的,若有多個(gè)輸出則可能對(duì)同一個(gè)故障重復(fù)觀察。因此,本系統(tǒng)要實(shí)現(xiàn)故障覆蓋率的計(jì)算。結(jié)果處理第一級(jí)模塊就要消除對(duì)故障的重復(fù)計(jì)算。
3.3.2 結(jié)果處理第二級(jí)模塊
    結(jié)果處理第二級(jí)模塊是排除一個(gè)測(cè)試向量集對(duì)同一個(gè)故障在輸出端重復(fù)觀察的影響,第二級(jí)模塊以第一級(jí)模塊輸出作為輸入,可以求得故障覆蓋率,并通知邊界掃描測(cè)試系統(tǒng)采集測(cè)試向量。
3.4 控制模塊
    控制模塊主要協(xié)調(diào)各個(gè)模塊的工作時(shí)序,使各功能模塊可以在控制信號(hào)下有序工作。clk2是偽隨機(jī)測(cè)試向量產(chǎn)生模塊的時(shí)鐘頻率,clk2的時(shí)鐘周期是系統(tǒng)時(shí)鐘周期的k倍。設(shè)電路中的故障總數(shù)為M,每個(gè)時(shí)鐘周期可以模擬的故障數(shù)目為N,,其中int為取整。
3.5 系統(tǒng)結(jié)構(gòu)原理圖
    使用Quartusii軟件建立系統(tǒng)結(jié)構(gòu)原理圖如圖3所示。該系統(tǒng)通過并行故障模擬算法生成測(cè)試向量,可通知邊界掃描故障診斷系統(tǒng)對(duì)測(cè)試向量進(jìn)行采集并存入存儲(chǔ)器中,并可以求出測(cè)試向量集的故障覆蓋率。

4 系統(tǒng)實(shí)現(xiàn)以及結(jié)果分析
4.1 資源占用

    本系統(tǒng)采用Altera公司的Cyclone II系列EP2C5-AF256A7芯片進(jìn)行驗(yàn)證與實(shí)現(xiàn)。系統(tǒng)資源占用報(bào)告如圖4所示。從報(bào)告中可以看出,硬件實(shí)現(xiàn)的測(cè)試向量發(fā)生器占用了較少的硬件資源,該芯片有足夠的硬件資源供系統(tǒng)進(jìn)行優(yōu)化和完善。

4.2 結(jié)果分析
    本文采用Quartusii 9.0軟件以及Modelsim軟件對(duì)各個(gè)功能模塊及系統(tǒng)進(jìn)行仿真,分析結(jié)果表明了設(shè)計(jì)的正確性。系統(tǒng)的仿真結(jié)果如圖5所示,從波形中可知,所得測(cè)試向量集的故障覆蓋率達(dá)到了90%以上。實(shí)踐表明,若單固定型故障覆蓋率達(dá)到90%以上就可以實(shí)現(xiàn)對(duì)被測(cè)系統(tǒng)的大部分故障進(jìn)行檢測(cè)。從仿真結(jié)果中可知本設(shè)計(jì)實(shí)現(xiàn)了期望的功能。
    本文采用Altera公司的FPGA器件,設(shè)計(jì)了一種基于FPGA的、為邊界掃描故障診斷系統(tǒng)提供測(cè)試向量的測(cè)試向量發(fā)生器。與以往的通過軟件生成測(cè)試向量的方法相比,雖然消耗了一定的硬件資源,但在速度和效率上得到了提高。由于本文生成測(cè)試向量的方法處于試驗(yàn)階段,還有待優(yōu)化與完善。
參考文獻(xiàn)
[1] 宋克柱.邊界掃描測(cè)試的原理及應(yīng)用設(shè)計(jì)[J].電子技術(shù),2001,28(10):605-606.
[2] 陳光禹.數(shù)據(jù)域測(cè)試及儀器[M].電子科技大學(xué)出版社,2001.
[3] 陳光禹.可測(cè)性設(shè)計(jì)技術(shù)[M].電子工業(yè)出版社,1997.
[4] 古天祥.電子測(cè)量原理[M].機(jī)械工業(yè)出版社,2009.
[4] 陳建武.基于FPGA的故障模擬器[D].湖南:湖南大學(xué),2010.

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