張灝 曹亮 上海航天電子技術(shù)研究所 上?!?01109
?
基于BIST的SRAM型FPGA測(cè)試技術(shù)分析
張灝曹亮上海航天電子技術(shù)研究所上海201109
【文章摘要】
深入研究和探討FPGA芯片測(cè)試技術(shù),這是生產(chǎn)者確保制造出高效可靠芯片的重要前提。因?yàn)镕PGA具有可重復(fù)的編程性,這種方法在編程中,將在FPGA內(nèi)部資源共同劃分成為多個(gè)不同的內(nèi)建自測(cè)試模塊,通過多次配置和測(cè)試,對(duì)各個(gè)BIST模塊測(cè)試路徑進(jìn)行更換,從而達(dá)到完全測(cè)試FPGA內(nèi)部資源的效果。
【關(guān)鍵詞】
BIST;SRAM型;FPGA;測(cè)試技術(shù);分析
根據(jù)BIST思想,給出對(duì)FPGA之中CLB資源與互連資源同時(shí)展開檢測(cè)故障和診斷故障的方法。在GIST測(cè)試向量發(fā)生器之中,輸出相應(yīng)分析器和GIST控制器之中,都利用了FPGA之中的CLB資源進(jìn)行實(shí)現(xiàn),在完成測(cè)試之后,可將這部分資源通過編程將其作為工作電路,這樣就會(huì)減少成本。
SRAM型FPGA結(jié)構(gòu)單元共由1個(gè)CLB模塊、1個(gè)開關(guān)模塊、2個(gè)直接與CLB相連接的局部連線模塊所共同組成。其中CLB模塊由三部分共同組合,即查找表、D觸發(fā)器和多路復(fù)用器;局部互連線由兩部分組成,即連接塊、導(dǎo)線,其連接塊內(nèi)包括控制信號(hào)進(jìn)出、CLB可編程互聯(lián)點(diǎn)開關(guān)、可編程多路復(fù)用開關(guān); SM為全局互連資源的關(guān)鍵一部分,SM由兩部分組成,即導(dǎo)線、可編程十字點(diǎn)開關(guān)。
目前,文中檢測(cè)和診斷故障類型包括四種,即:線路開與關(guān)故障、固定開與關(guān)故障、測(cè)試延時(shí)路徑故障。
①固定開與關(guān)的故障:通常情況下,在局部互連線的MUX-P導(dǎo)通晶體管與PIP-PS之中,在發(fā)生固定故障時(shí),不管是SRAM為何值,導(dǎo)通晶體管宗師保持著一種固定開與關(guān)的形式;
②線開與短路的故障:通常在SM中發(fā)生,在SM導(dǎo)向部分出現(xiàn)斷路,或者出現(xiàn)開路故障、SM導(dǎo)線間發(fā)生橋接,這都有可能出現(xiàn)線路故障。在PCP-PS之中,如果出現(xiàn)定關(guān)/開的故障,會(huì)致使出現(xiàn)開/短路故障。
③固定的0/1故障:這種故障通常都會(huì)出現(xiàn)在LUT之中,表現(xiàn)在LUT存儲(chǔ)單元并未能存儲(chǔ)出相應(yīng)的數(shù)據(jù);
④在CLB傳播路徑中,會(huì)出現(xiàn)延時(shí)故障。
在FPGA之中,這四種故障類型已經(jīng)覆蓋了將近百分之九十的故障類型,因此,深入測(cè)試這四種故障類型具有現(xiàn)實(shí)的作用。
在全局連線資源中,應(yīng)配置SM中PCPPS開關(guān),并設(shè)置出與之相關(guān)的導(dǎo)線展開測(cè)試,并不需要利用任何一種CLB資源。在局部CLB與互連線相互連接,因此,在局部互連測(cè)試之前,CLB之前應(yīng)是測(cè)試電路中一部分。局部互連測(cè)試也是與相關(guān)的CLB施加測(cè)試向量過程中,然后在對(duì)CLB輸出響應(yīng)進(jìn)行分析。
對(duì)PCP-PS之中的PIP-PS展開分析,應(yīng)用三種不同形式的測(cè)試配置,這樣就能讓SM得到更全面的測(cè)試,在CLB測(cè)試和局部互連線測(cè)試之中,因?yàn)樗鼈冎g編程開關(guān)其本質(zhì)普遍是PIP-PS,因此采用這三種配置形式,除了對(duì)測(cè)試SM之外,也應(yīng)對(duì)局部互連線和CLB展開測(cè)試。
4.1設(shè)計(jì)測(cè)試方案
以10個(gè)CLB資源共作為1個(gè)測(cè)試模塊,其在同一行之中相鄰的2個(gè)測(cè)試模塊,應(yīng)共有利用1個(gè)TPG。為了能夠測(cè)試整個(gè)FPGA,應(yīng)對(duì)全部CLB資源都應(yīng)進(jìn)行設(shè)計(jì)。
4.2測(cè)試模塊的設(shè)計(jì)
圖1為一個(gè)設(shè)計(jì)方案中的測(cè)試模塊結(jié)構(gòu)圖
如圖1中,其TPG中可應(yīng)用設(shè)計(jì)可控測(cè)試向量發(fā)生器的方法,如圖1為ORA內(nèi)部結(jié)構(gòu)圖,共包括兩輸出XOR。
圖1 測(cè)試模塊結(jié)構(gòu)圖
P/F校驗(yàn)器相當(dāng)于一個(gè)門,在BUT輸出出現(xiàn)故障時(shí),很容易產(chǎn)生P/F信號(hào),開啟故障導(dǎo)通電路。如下為P/F布爾表達(dá)式:
其表達(dá)式為:SW=(bι-1⊕bι)∪(b1⊕b2⊕ b3⊕b4⊕bxro_4) ∪(b5+b6+b7)
式中,BUT的原始輸出為bι(ι=0,1,2,……,7);BUT第1位輸入的值為 bι-1; bι為BUT第1位輸出的值,也就是bι是bι-1經(jīng)過B UT最終輸出結(jié)果; bxro_4是奇偶效驗(yàn)器的輸出。
上述式子表現(xiàn)出在BUT中只要出現(xiàn)故障,P/F校驗(yàn)器便可以形成一個(gè)觸發(fā)信號(hào)SW,將輸出結(jié)果全部收入到故障詞典之中。然后將整個(gè)診斷結(jié)果在校準(zhǔn)電路輸出之中,在FPGA外部充分顯示出,這樣才能實(shí)現(xiàn)對(duì)整個(gè)FPGA器件進(jìn)行故障診斷。
在所給定的GIST方法之中,將整個(gè)FPGA芯片編程作為多個(gè)測(cè)試模塊,其每一個(gè)測(cè)試模塊都由三部分組成,包括ORA、BUT、TPG。其中整個(gè)FPGA測(cè)試都應(yīng)運(yùn)用三種TC模式,應(yīng)用不同的測(cè)試路徑。在測(cè)試方案各個(gè)測(cè)試模塊都已經(jīng)完成測(cè)試之后,各測(cè)試模塊之中被編程為CLB資源或者是ORA。在此基礎(chǔ)上,實(shí)現(xiàn)對(duì)FPGA進(jìn)行測(cè)試。如下為具體測(cè)試步驟:
5.1編程的配置
在FPGA編程構(gòu)造由多個(gè)測(cè)試模塊構(gòu)成,其運(yùn)用硬件語言編程會(huì)生成測(cè)試方案進(jìn)行自動(dòng)射擊,其展示的分模塊化設(shè)計(jì)由TPG模塊、BUT模塊和ORA模塊共同組合而成。
5.2測(cè)試路徑
在全部的TC測(cè)試路徑之下,都是由1根線對(duì)全局互連線開路故障進(jìn)行診斷,其中4根線主要利用在診斷CLB故障,還有3根線被用在短路故障診斷之中。
5.3檢測(cè)故障
如下為FPGA故障檢測(cè)的過程:
①全局互連線的故障。將TPG中第1位輸入恒置為“1”,在出現(xiàn)開路故障,或者門輸出恒是“1”。則檢測(cè)開路故障。
② 局部互連線固定開/關(guān)的故障。在LUT與局部互連固定故障中,可經(jīng)過在圖1中奇偶校驗(yàn)器進(jìn)行檢測(cè),在圖2之中可知其4個(gè)CLB測(cè)試路徑是同樣的。也正是因?yàn)榕渲梅绞绞窍嗤虼薈LB和局部互連方式也是相同的。
③延時(shí)故障的檢測(cè)。在BUT電路之中,施加出一個(gè)變化的觸發(fā)沿,在預(yù)定時(shí)鐘周期之內(nèi)檢測(cè)出此變化觸沿是否有故障。
④全局互連線路,在設(shè)置測(cè)試向量中,讓BUT與ORA接入,或者門的3位數(shù)據(jù)為“000" 。
5.4故障診斷
在ORA中,與測(cè)試方案BIST控制器共同組合完成。
將各個(gè)測(cè)試模模塊之中,編程成為BUT中CLB資源編程為ORA,也可編程成為TPG,編程成為TPG或者是ORA中的CLB資源,可相應(yīng)的轉(zhuǎn)變成BUT,這樣完成了整個(gè)FPGA測(cè)試。
總而言之,經(jīng)過12次配置芯片,這樣就可以對(duì)FPGA中多種連線通道延時(shí)故障、開/短路故障,在編程開關(guān)過程中固定的開/關(guān)故障,查找表中穩(wěn)定的0/1故障,很容易發(fā)現(xiàn)其故障覆蓋率已達(dá)到100%。但FPGA測(cè)試技術(shù)在應(yīng)用中還有很多不完善之處,還需要深入進(jìn)行研究和分析。
【參考文獻(xiàn)】
[1]谷鑾,徐貴力,王友仁.FPGA動(dòng)態(tài)可重構(gòu)理論及其研究進(jìn)展[J].計(jì)算機(jī)測(cè)量與控制,2007,(11).
[2]呂小巧.一種基于FPGA的改進(jìn)遺傳算法硬件設(shè)計(jì)研究[D].江西理工大學(xué),2010.