張凱虹,陳 誠,萬書芹
(中國電子科技集團(tuán)公司第58研究所,江蘇 無錫 214035)
FPGA是電子設(shè)計(jì)領(lǐng)域中最具活力和發(fā)展前途的一項(xiàng)技術(shù)。隨著它的廣泛應(yīng)用,其可靠性變得越來越突出,電子元器件可靠性試驗(yàn)和篩選越來越重要。測試已成為制約FPGA實(shí)際應(yīng)用的一個(gè)關(guān)鍵因素[1]。
基于ATE的FPGA測試的關(guān)鍵是如何生成對FPGA進(jìn)行配置的測試向量,特別是不依賴于產(chǎn)品設(shè)計(jì)的條件下。本文基于PC、ATE與自制轉(zhuǎn)換軟件,對FPGA驗(yàn)證與測試開發(fā)技術(shù)進(jìn)行研究。通過對FPGA的實(shí)際測試,達(dá)到了很好的效果,證明了實(shí)用性。
一般實(shí)現(xiàn)FPGA配置的方式有兩種,一種是將配置文件存放在FPGA外的PROM或EPROM中,系統(tǒng)加電后配置文件自動加載到SRAM中;另一種是將測試系統(tǒng)用作一個(gè)處理器,通過數(shù)字通道將配置數(shù)據(jù)加載到SRAM中[2]。本文采用第二種方法實(shí)現(xiàn)FPGA的在線配置。
FPGA根據(jù)配置模式管腳(M0、M1、M2)的不同輸入,產(chǎn)生8種配置模式[3]。由于測試FPGA的過程中需要多次“配置-測試”過程,其中配置占用時(shí)間相對比較長。從并模式的數(shù)據(jù)寬度為8位,與其他配置模式相比速度快8倍,所以選用從并作為測試配置模式。此模式為系統(tǒng)加載FPGA配置程序提供了最簡單的接口。數(shù)據(jù)D0~D7和時(shí)鐘CCLK可同時(shí)從外部提供。
配置比特流是由ISE調(diào)用BitGen程序把布局布線后的約束文件轉(zhuǎn)換為二進(jìn)制文件,由于FPGA可能的配置文件有五種[4],其中bin的二進(jìn)制文件不僅可用于定制的配置方案還可存儲于第三方PROM,符合本測試方案要求。圖1是bin二進(jìn)制文件。該類文件不含文件頭信息。0Xaa995566是同步字,0X30008001是器件ID,之后數(shù)據(jù)為配置幀。
圖1 FPGA.bin配置文件
為實(shí)現(xiàn)bin文件到機(jī)器可識別的atp文件的轉(zhuǎn)換,特設(shè)計(jì)小型軟件如圖2所示。該軟件使用C語言編制,將bin文件按特定方式分離成D0~D7的向量文件。轉(zhuǎn)換后文件不僅包含了bin中D0~D7的信息,還增加了從并模式中其他管腳的輸入/輸出信息,提高編碼效率。圖3為轉(zhuǎn)換后的文件格式。根據(jù)圖4配置流程可以看出增加的信息包括外部輸入CCLK信號,PROGRAM信號拉低,驗(yàn)證INIT是否變高,CRC校驗(yàn)后INIT與DONE信號的輸出驗(yàn)證。
由于本文的試驗(yàn)對象是XCV1000,芯片規(guī)模比較大。同時(shí)FPGA的測試需要多次“配置-測試”過程,對測試向量的深度要求比較高。所以本文以Teradyne的UltraFLEX為測試平臺,該ATE的測試管腳數(shù)可達(dá)1 024個(gè),測試向量深度達(dá)256M,測試頻率可達(dá)2GHz,完全滿足市場上多數(shù)FPGA的測試要求。
圖2 轉(zhuǎn)換軟件
圖3 轉(zhuǎn)換后的文件形式
使用2.3的方法將bin文件轉(zhuǎn)換成ATE識別的可配置文件。生成的配置文件導(dǎo)入到ATE后,可將其作為普通的功能碼進(jìn)行測試。為了驗(yàn)證FPGA是否完成配置,在結(jié)尾處增加一小段測試碼,即DONE信號輸出為高,INIT信號輸出為高,如圖4所示。若這兩個(gè)信號輸出正確說明配置成功。為了觀察直觀與調(diào)試,本文使用的DUT在DONE信號的輸出增加了一個(gè)LED。
FPGA配置完成后,F(xiàn)PGA便被配置為特定的功能,此時(shí)就可以作為普通邏輯器件進(jìn)行測試了,可進(jìn)行參數(shù)與功能測試。
該方法把配置作為一個(gè)測試項(xiàng),實(shí)現(xiàn)了FPGA的在線配置,且可以改變配置速度,對芯片進(jìn)行全面的分析與測試,施行比較簡單。通過對XCV1000的測試表明,該方法可行、高效、通用性強(qiáng),對于實(shí)現(xiàn)FPGA的產(chǎn)業(yè)化具有重要意義。
圖4 配置流程
圖5 最終配置碼
[1] 薛宏,趙欣.FPGA測試技術(shù)研究[J].微處理機(jī),2008,2 279(2):11-14.
[2] 唐恒標(biāo),馮建華,馮建科.基于測試系統(tǒng)的FPGA邏輯資源的測試[J].微電子學(xué),2006,36(3):292-295.
[3] Xilinx, Inc. Virtex? 2.5 V Field Programmable Gate Arrays[C].
[4] 薛小剛,葛毅敏.Xilinx ISE 9.X FPGA/CPLD設(shè)計(jì)指南[M],北京,人民郵電出版社,2007:210-219.