<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 基于測試系統(tǒng)的FPGA測試方法研究

          基于測試系統(tǒng)的FPGA測試方法研究

          作者: 時間:2016-12-09 來源:網(wǎng)絡(luò) 收藏

          1 引言

          本文引用地址:http://www.ex-cimer.com/article/201612/328517.htm

          目前FPGA大多采用基于查找表技術(shù),主要由可編程輸入/輸出單元(IOB)、可編程邏輯單元(CLB)、可編程布線資源(PI)、配置用的SRAM、BlockRAM和數(shù)字延遲鎖相環(huán)(DLL)等部分組成。對FPGA進(jìn)行測試要對FPGA內(nèi)部可能包含的資源進(jìn)行結(jié)構(gòu)分析,經(jīng)過一個測試配置(TC)和向量實(shí)施(TS)的過程,把FPGA配置為具有特定功能的電路,再從應(yīng)用級別上對電路進(jìn)行測試,完成電路的功能及參數(shù)測試。

          2 FPGA的配置方法

          對FPGA進(jìn)行配置有多種方法可以選擇,包括邊界掃描配置方法、Xilinx公司專用的SPI/BPI FLASH配置方法、System ACE配置方法、CPLD+第三方FLASH配置方法、系統(tǒng)直接加載配置向量的配置方法。邊界掃描方法主要適合在線配置調(diào)試用,Xilinx專用Flash配置方法,每次只能在FLASH中存儲一段配置碼,不適合反復(fù)配置測試過程。System ACE方法需要專門的System ACE控制芯片和CF卡,應(yīng)用比較麻煩。比較適合系統(tǒng)測試的主要是后兩種方法。

          2.1 測試系統(tǒng)直接配置方法

          當(dāng)采用的測試系統(tǒng)比較高級,比如Teradyne公司的UltraFLEX,該系統(tǒng)測試頻率高達(dá)500 MHz,測試通道數(shù)多達(dá)1024個,測試向量深度可達(dá)128 M,可以使用系統(tǒng)直接加載二進(jìn)制配置向量對FPGA進(jìn)行配置。

          能夠在同一個操作流程中完成FPGA芯片的多次“配置-測試”過程。該方法操作簡單,提高了FPGA芯片的測試效率,能夠?qū)崿F(xiàn)FPGA芯片的產(chǎn)業(yè)化測試。

          2.2 CPLD+第三方FLASH的配置方法

          當(dāng)待測FPGA的配置代碼比較大,而測試系統(tǒng)(ATE)向量深度不足時,可以采用 CPLD+第三方FLASH的配置方法,其結(jié)構(gòu)圖如圖1所示。

          其中CPLD的設(shè)計是最重要的部分,它所實(shí)現(xiàn)的功能模塊包括接口模塊、控制模塊、地址發(fā)生器模塊。接口模塊實(shí)現(xiàn)與測試系統(tǒng)的通信,接收測試系統(tǒng)指令并作相應(yīng)處理,同時將工作狀態(tài)反饋給測試系統(tǒng);控制模塊提供控制時序命令,操縱整個配置過程;地址發(fā)生器模塊為讀取閃存數(shù)據(jù)提供數(shù)據(jù)地址。CPLD內(nèi)部各功能模塊采用硬件描述語言實(shí)現(xiàn)。

          Flash是配置文件的存儲器件,預(yù)先將多段16進(jìn)制格式配置文件燒寫進(jìn)Flash中。FPGA是系統(tǒng)中配置的目標(biāo)器件。

          本方法采用ATE控制CPLD讀取FLASH中不同地址范圍內(nèi)的配置代碼對FPGA進(jìn)行配置,再在不掉電的情況下對配置好的FPGA進(jìn)行功能和參數(shù)測試。

          3 FPGA配置模式選擇與配置碼的生成

          3.1 FPGA配置模式選擇

          FPGA的配置模式有多種,而且不同系列FPGA的配置模式有一定的差別,主要的配置模式有:主串模式、從串模式、主并模式、從并模式和邊界掃描模式。通過設(shè)置三個模式選擇管腳M0、M1、M2可以選擇不同配置模式。配置模式如表1所示。

          用測試系統(tǒng)對FPGA進(jìn)行測試大部分時間是用在配置上,配置時間根據(jù)配置碼大小不同可達(dá)幾毫秒到數(shù)十秒。為了提高配置速度,我們對FPGA進(jìn)行配置選擇從并模式,可以最大地節(jié)省測試配置時間。以Virtex-II系列FPGA為例,其從并配置模式原理圖如圖2所示。

          3.2 配置碼的生成

          FPGA配置碼要在Xilinx ISE開發(fā)環(huán)境下編寫配置程序,生成所需要的二進(jìn)制格式配置文件,如圖3所示。

          圖中1~7行屬于文件頭,需要刪除掉,第8~9行就是配置數(shù)據(jù)開始標(biāo)志:FFFFFFFF AA995566,后面的都是配置數(shù)據(jù)。

          配置文件數(shù)據(jù)寬度都是32位,還要根據(jù)不同系列FPGA的配置數(shù)據(jù)寬度進(jìn)行修改。以Virtex-II系列為例,它的從并模式數(shù)據(jù)寬度是8位,我們需要編寫應(yīng)用程序轉(zhuǎn)化成8位寬的數(shù)據(jù)。配置數(shù)據(jù)比特順序如表2所示,以8位寬數(shù)據(jù)為例,其D0為最高位。

          4 FPGA的配置與測試流程

          FPGA配置過程主要有四個步驟:清除配置存儲器、初始化、配置和啟動。以Virtex-II FPGA為例,配置過程的時序要求如圖5所示:系統(tǒng)上電后給PROG_B管腳一個低信號,F(xiàn)PGA便開始清除配置存儲器,F(xiàn)PGA內(nèi)部將INIT_B管腳和DONE管腳拉低。當(dāng)配置存儲器清除完畢,INIT_B會變高,之后若CS_B為低有效,就可以傳送配置數(shù)據(jù)對FPGA進(jìn)行配置,當(dāng)管腳DONE由低變?yōu)楦?,便?biāo)志芯片的配置完成。

          用測試系統(tǒng)對FPGA進(jìn)行測試可以把配置代碼和測試代碼分別做成不同的Pattern文件,把配置過程也作為一個功能測試項(xiàng),這樣便可對被測FPGA電路進(jìn)行反復(fù)的配置--測試。配置pattern文件如圖5所示。

          FPGA配置完畢后,便具有一定的功能,可以像其他電路一樣進(jìn)行功能和參數(shù)測試。

          5 結(jié)論

          本文詳細(xì)介紹了FPGA配置方法、配置模式選擇和配置碼的生成方法,并以Virtex-II系列FPGAXC2V250為例詳細(xì)介紹了用測試系統(tǒng)Ultra-FLEX對FPGA的配置與測試過程。 該方法可廣泛應(yīng)用于各種FPGA的測試,具有較強(qiáng)的通用性,對于實(shí)現(xiàn)FPGA的產(chǎn)業(yè)化測試具有重要意義。



          關(guān)鍵詞: 測試系統(tǒng)FPGA測

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();