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