成本茂,黃葵,張銅
(海軍航空工程學院青島校區 山東 青島 266041)
FPGA可編程邏輯模塊的BIST測試方法
成本茂,黃葵,張銅
(海軍航空工程學院青島校區 山東 青島266041)
提出了一種針對FPGA可編程邏輯模塊的離線BIST測試方法。測試向量生成器(TPG)采用偽窮舉法來生成測試向量,輸出響應分析器(ORA)采用多輸入特征寄存器(Multi-Input Shift Register,MISR)捕獲原始輸出并進行壓縮。在QuatusⅡ9.0中進行了測試實現與仿真。結果表明,該方法不僅能夠檢測出電路中存在的故障,而且大大提高了測試效率。
現場可編程門陣列;可編程邏輯模塊;內建自測試;測試向量生成器;輸出響應分析器
隨著FPGA在現代電子系統中應用的不斷增多,FPGA的測試技術也得到非常快的發展。其中,內建自測試(BIST)的方法已經成為一種主流的解決方案[1-3]。BIST方法一般來說可以分為兩大類,一類是離線BIST,另一類是在線BIST[4]。離線BIST測試方法,是指測試在被測電路退出原先的工作狀態,再運用BIST的方法測試被測電路。這種測試也叫做工廠測試。FPGA的基本結構包括如下幾個模塊:可編程輸入/輸出單元(IOB)、可編程邏輯模塊(PLB)、嵌入式RAM、可編程互聯資源等[5-6]。本文重點討論利用離線BIST方法測試可編程邏輯模塊。
以Altera公司的CycloneⅡ系列 EP2C8Q208C8為例,其含有8256個LOB。每個LOB特性如下:
1)含有一個四輸入查找表(LUT),這是一個函數發生器,可以實現任何四個變量的函數
2)一個可編程寄存器
3)一個進位鏈連接
4)一個寄存器鏈連接
5)能驅動各種類型的互聯資源連線
6)支持寄存器打包
7)支持寄存器反饋
每個LOB的可編程寄存器可以被配置為T,D,SR或JK操作。每個寄存器有時鐘,數據,清零和時鐘使能等信號輸入。這些信號可以是全局時鐘網絡信號,通用I/O管腳信號,或任何可以驅動寄存器時鐘的內部邏輯和清零控制信號。在LOB單元中,一般要么是內部邏輯來驅動時鐘使能,要么是通用I/O管腳信號。對于組合函數,LUT輸出可以繞過寄存器直接送到LOB的輸出。
每個LOB有3個輸出,這些輸出驅動局部列、行的連線資源。查找表或寄存器輸出可以獨立的驅動這三個輸出。LOB的兩個輸出分別驅動列(行)的連線資源、直接的連線互聯資源,另一個輸出驅動局部互連資源。當寄存器驅動兩個輸出的時候,可以由LUT來驅動剩下的一個輸出。這種特性我們稱之為寄存器打包,這能提高設備的利用率。當使用寄存器打包,邏輯陣列塊同步負載控制信號是不可使用的。另一個特殊的打包模式是在同一個LOB中,允許寄存器輸出反饋到查詢表,這樣寄存器就打包成一種扇出LUT,從而提供一種機制來提高擬合度。
除了3個通用輸出,邏輯陣列塊當中的LOB還有一個寄存器鏈輸出。在相同的邏輯陣列塊LAB(每個LAB包含16 個LOB,控制信號,LOB進位鏈,寄存器鏈,局部互聯)中允許寄存器級聯起來作為寄存器鏈。寄存器鏈輸出允許一個LAB使用LUTs實現一個組合函數并且用寄存器來實現一個不相關的移位寄存器。這些資源加快LAB之間的連接速度,同時節約了局部互連資源。
2.1BIST測試結構
BIST的測試結構主要包括測試向量生成器(TPG)、輸出響應分析器(ORA)和BIST控制單元(BCU)[7]。TPG自動產生測試向量,然后將測試向量傳輸給被測電路,再由被測電路所輸出的信號輸送給ORA,通過ORA的分析將測試結果輸出。
與普通測試FPGA的方法相比,BIST的方法對于維護測試、故障診斷和開機測試都有很大的優勢。BIST特別適合于多層次化結構的測試,極大地提高了設計的可測性,并且測試的故障覆蓋率也在一定程度上得到保障。
2.2BIST測試策略
TPG的方案有很多種,包括:偽窮舉測試、窮舉測試、確定性測試、加權偽隨機測試和偽隨機測試產生等。為了能夠達到較高的故障覆蓋,我們采用偽窮舉法來生成TPG,這樣選擇的原因是,在對可編程邏輯塊進行測試是每個LOB的數據輸入只有四個,輸入口數并不多,將四個LOB并為一個測試的模塊,因此所花費的時間不會很多。但是能夠幾乎達到100%的故障覆蓋率,能夠準確的檢測出所有的故障。
ORA的方案除了基于響應壓縮來進行外,一般還有確定性測試。確定性測試通過將存儲器中已經存儲好的正確響應與由TPG產生的測試矢量通過被測電路所輸出的結果逐個進行比較,如果是相同的則說明被測電路中不存在故障。但是測試響應分析中需要一個一個的與輸出進行比較,因此所花費的時間較長。而且由于需要將每個期望的測試響應結果都存儲到存儲器中,相對的增加了硅片開銷。因此,本文中ORA采用多輸入特征寄存器(Multi-Input Shift Register,MISR)捕獲原始輸出并進行壓縮,這樣能更快地將數據輸送到測試響應分析器(TRA)進行比較。
在圖1中給出了TPG,ORA和CUT之間的連接架構圖。運用BIST技術,只要將原先用于產生TPG的電路更改為CUT(Circuit Under Test)這樣就能將測試覆蓋到所有的范圍。并且只需要兩次編程測試。而在文獻[8]中,對于單個的可編程邏輯所要編程測試的次數就達到了8次。

圖1 BIST連接架構圖Fig.1 BIST connection architecture
3.1TPG的生成與仿真
TPG的方案在上面已經給出,現在將四個LOB并在一起作為一個測試模塊,實現以一個16位數據輸入的測試塊,測試向量由TPG給予,TPG的本質其實就是一個LFSR。通過QuatusⅡ9.0的編譯軟件,應用Verilog語言編寫得到了TPG的原理圖如圖2所示。

圖2 TPG的原理圖Fig.2 Scheme circuit of TPG
其時序仿真結果如圖3所示。LFSR_out為輸出測試向量,W_done為反饋信號,當測試向量全部產生后,W_done出現高電平。
3.2MISR和BIST控制器的生成
運用QuatusⅡ9.0編譯軟件得到的MISR和BIST控制器的原理圖分別如圖4、5所示。

圖3 TPG仿真結果Fig.3 Simulation results of TPG

圖4 MISR的原理圖Fig.4 Schematic circuit of MISR

圖5 BIST控制器的原理圖Fig.5 Schematic circuit of BCU
3.3BIST的實現與仿真結果
在BIST的頂層文件中將TPG、MISR、TRA,還有被測電路連接起來。在QuatusⅡ9.0中得到時序仿真結果如圖6所示。由TPG產生的測試數據,在BIST結構下得到的scan_data的輸出為0000000000000000。由TPG所產生的同一個測試向量,當被測電路之間數據輸出的結果不一致時會輸出高電平。故由仿真結果可知,被測電路中不存在故障。

圖6 BIST仿真結果Fig.6 Simulation results of BIST
本文應用BIST方法對可編程邏輯單元進行測試,只需將LOB串起來,給予它們相同的測試矢量(由TPG產生),再將最終的輸出結果一個一個的進行比較,這樣只需要兩次就能夠對所有的LOB完成測試。第二次的測試只要將原先的TPG和ORA與CUT位置對調,即將第一次測試的TPG和ORA配置為CUT,而CUT配置為TPG或ORA。從而大大提高了測試效率。
[1]張惠國,徐彥峰,曹正州,等.FPGA邏輯資源重配置測試技術研究[J].固體電子學研究與進展,2011,31(3):292-297.
[2]高成,楊超,鹿靖,等.基于BIST的FPGA測試方法研究[J].計算機與數字工程,2009,38(9):66-69.
[3]郭斌.內建自測試的測試生成方法研究 [J].電子測試,2010(1):29-33.
[4]談恩民.數字電路BIST設計中的優化技術[D].上海:上海交通大學,2007.
[5]Stroud C,Wijesuriya S,Hamilton C,et al.Built-In Self-Test of FPGA Interconnect[C].Proc.IEEE Int'l Test Conf.,pp.404-411,1998.
[6]Stroud C,Lee E,Abramoviei M.BIST-Based Diagnostics of FPGA Logic Blocks[P].Proc.IEEE International Test Conference,1997:539-547.
[7]胡湘娟,何怡剛,游望星,等.基于FPGA的內建自測試的實現研究[J].計算機測量與控制,2009,17(12):2355-2357.
[8]陳孔慶.FPGA的測試[D].南京:南京電子技術研究所,2009.
A testing scheme based on BIST for programmable logic blocks in FPGA
CHENG Ben-mao,HUANG Kui,ZHANG Tong
(Naval Aviation Engineering Institute at Qingdao,Qingdao 266041,China)
A testing scheme based on offline BIST for programmable logic blocks in FPGA is given.Testing patterns are generated through pseudo exhausting method in Testing Pattern Generator(TPG).Multi-Input Shift Register(MISR)is used in Output Response Analyzer(ORA)to capture primitive outputs with compression.Testing and simulation are implemented in QuatusⅡ9.0.Results show that faults in FPGA can be tested with high efficiency.
FPGA;PLB;BIST;TPG;ORA
TN710
A
1674-6236(2016)05-0152-03
2015-04-28稿件編號:201504298
成本茂(1968—),男,安徽蕪湖人,博士,教授。研究方向:電子裝備測試與診斷、電子線路CAD。