FPGA重複配置和測試的實現
發布時間:2010-12-29
中心議題:
從製造的角度來講,FPGA測試是指對FPGA器件內部的邏輯塊、可編程互聯線、輸入輸出塊等資源的檢測。完整的FPGA測試包括兩步,一是配置FPGA、然後是測試FPGA,配置FPGA是指將FPGA通過將配置數據下載編程使其內部的待測資源連接成一定的結構,在盡可能少的配置次數下保證FPGA內部資源的測試覆蓋率,配置數據稱為TC,配置FPGA的這部分時間在整個測試流程占很大比例;測試FPGA則是指對待測FPGA施加設計好的測試激勵並回收激勵,測試激勵稱為TS。
通常來說,要完成FPGA內部資源的完整測試需要針對不同的待測資源設計多種配置圖形,多次下載到FPGA,反複施加激勵和回收測試響應,通過對響應數據的分析來診斷故障。因此,用於FPGA測試的儀器或係統的關鍵技術在於:如何加快單次配置的時間,以節省測試過程中的配置時間開銷;如何實現自動重複配置和測試,將FPGA較快速度的在線配置和快速測試結合起來。
由於一般的集成電路自動測試儀ATE為通用IC測試設計,但FPGA測ce試shi有you上shang述shu特te殊shu性xing,在zai芯xin片pian功gong能neng測ce試shi之zhi前qian必bi須xu對dui其qi進jin行xing特te定ding的de配pei置zhi,否fou則ze芯xin片pian是shi不bu具ju備bei內nei部bu電dian路lu結jie構gou的de,內nei部bu資zi源yuan將jiang無wu法fa測ce試shi,而er通tong用yong的deATEyaowanchengceshibuzhouzhongdepeizhigongnengshi,xuyaoyirengonghuotongguodiannaozhuanmenbianchengxiugaipeizhishujushengchengceshixitongkezhixingdeceshijilixingshijinxingpeizhi,qieruguopeizhishujujiaoduo,zhegezhuanhuanguochengjiangkenengbijiaofuza,yiyongxingbuqiang,wufagaoxiaodiyongyuFPGA器件的測試中,需要對FPGA測試設計專用的測試平台以滿足其配置測試需求。
我們設計的係統實現了快速重複配置和測試的功能,配置數據可以直接引用EDA軟件生成的位流文件而不需要像ATE一樣轉換成繁雜的測試激勵形式,相較於ATE有一定的優勢,對FPGA測試有一定的使用價值。
FPGA可重複配置和測試係統結構概述
係統框圖如圖1所示。

圖1可重複配置測試係統結構框圖
係統功能的實現包括軟件和硬件兩部分。硬件部分包含PCI橋接芯片、FPGA1中的數據接口模塊、配置模塊、測試模塊和被測FPGA。軟件部分包含對實現FPGA配置部分的代碼和實現FPGA測試部分的代碼。FPGA1中的各硬件模塊通過EDA軟件以JTAG接口固化FPGA1中,其中FPGA1中的配置模塊負責接收來自PC方軟件發送的配置數據,並產生對被測FPGA的配置時序,完成配置步驟,測試模塊負責發送測試激勵和回收被測FPGA的響應數據,等待PC方軟件的回收。
係統軟硬件交互流程
整個係統通過軟硬件的數據交互實現對被測FPGA的自動配置和測試的流程,軟硬件交互的流程從圖2可以體現:係統啟動後,首先需要開始對被測FPGA進行數據配置,由軟件向硬件發送配置開始指令,硬件接收指令後對被測FPGA產生配置開始的時序,告訴被測FPGA準(zhun)備(bei)接(jie)收(shou)配(pei)置(zhi)數(shu)據(ju)。當(dang)軟(ruan)件(jian)查(zha)詢(xun)到(dao)配(pei)置(zhi)模(mo)塊(kuai)中(zhong)的(de)狀(zhuang)態(tai)寄(ji)存(cun)器(qi)值(zhi)代(dai)表(biao)等(deng)待(dai)數(shu)據(ju)時(shi)開(kai)始(shi)發(fa)送(song)配(pei)置(zhi)數(shu)據(ju)。配(pei)置(zhi)數(shu)據(ju)發(fa)送(song)完(wan)成(cheng)後(hou),軟(ruan)件(jian)通(tong)過(guo)讀(du)取(qu)配(pei)置(zhi)模(mo)塊(kuai)的(de)狀(zhuang)態(tai)寄(ji)存(cun)器(qi)值(zhi)判(pan)斷(duan)配(pei)置(zhi)是(shi)否(fou)成(cheng)功(gong),決(jue)定(ding)是(shi)否(fou)可(ke)以(yi)開(kai)始(shi)測(ce)試(shi)。如(ru)果(guo)配(pei)置(zhi)成(cheng)功(gong),軟(ruan)件(jian)則(ze)開(kai)始(shi)向(xiang)被(bei)測(ce)FPGAfasongceshijilishujubingduhuiceshixiangyingbaocunzaidiannaozhong,youruanjianduiceshixiangyingjinxingfenxijuedingshifouxuyaojinxingxiayicipeizhiheceshiliucheng。ruguoxuyao,zaiyidingdeyanshizhihouruanyingjianjianghuifuchushizhuangtai,bingxuanzexindepeizhishujuheceshishuju,kaishixinyilundepeizhihouceshiliucheng。[page]

圖2FPGA芯片自動重複下載自動測試係統軟硬件交互流程圖
軟硬件數據交互的通路是PCI總線,軟件向FPGA1發送指令或數據時,軟件通過PCI應用編程接口函數將數據放到PCI總線上,PCI橋接芯片將較為複雜的PCI接口信號轉化為相對簡單的LocalBus數據信號,由FPGA1中的接口模塊接收並產生相應的動作。而軟件向FPGA1讀取數據的通路則相反。圖3和圖4分別是軟件在VC++6.0環境中斷點調試發送指令和軟件向FPGA1發送指令時由嵌入式邏輯分析儀SignalTAPII捕捉到的指令數據和接口模塊波形。

圖3VC++6.0環境中斷點調試指令發送

圖4嵌入式邏輯分析儀SignalTAPII波形
圖4中ADS_N、BLAST_N、LWORD_N、LHOLD、LHOLDA是LocalBus的接口信號,ConfigEnd和ConfigStart是分別代表配置結束和配置開始的標誌寄存器,LA是接口的地址信號,用於模塊中控製寄存器的尋址,LD是接口的數據信號,用於指令數據的發送和數據的回收。
以配置開始指令的發送為例,從圖3圖4兩圖中可以看出軟硬件交互過程中的指令發送方式,在VC++中單步調試,發送一個開始指令0x01到配置命令寄存器地址0x01,通過硬件模塊的接口動作,用嵌入式存儲器SignalTapII中捕捉到LA的數據為1h,LD上的數據為1h後ConfigStart寄存器置高,配置開始。
配置速度測試實驗
軟硬件具體方案設計完畢後,軟件在VisualC++6.0環境下實現並調試。硬件在QuartusII7.1軟件下編譯。
為了對比基於PCI總線的FPGA高速配置方案與基於ByteBlasterIIJTAG下載電纜的速度性能,首先使用QuartusII7.1軟件采用JTAG方式對FPGA2配置5次,計算每次下載所示時間,得到如表1中所示的數據;再使用本係統中基於PCI總線的配置功能對FPGA2配置5次,軟件會自行計算總的下載時間,得到如表1中所示的數據:

從表1的數據對比中可以看到,基於PCI總線的自動下載配置方式要比基於JTAG電纜的下載配置方式提高超過20倍的速度,如果使用基於JTAG電纜對某大容量的FPGA下載需要近20分鍾的話,使用PCI下載方式則隻需不到1分鍾的下載時間,具有明顯的速度優勢,大大節省了FPGA測試中的數據配置時間。
測試總結
該FPGA芯片測試平台具有以下特點:
(1)針對FPGA測試的特點:需要重複對待測FPGA配置,設計了FPGA在線配置模塊和自動測試模塊,從概念上初步實現了自動重複下載和重複測試的功能,為FPGA自動化測試尋找到一個好方法;
(2)利用軟件的靈活性提高了測試係統中具有可觀察性好和可控製性強的優勢;利用硬件結構上並行度高、速度快的優勢提高了測試的效率;
(3)相較於專業的ATE設備,該係統軟件可控性更強,配置數據更方便。
- FPGA可重複配置和測試係統
- 係統軟硬件交互流程
- 配置速度測試實驗
從製造的角度來講,FPGA測試是指對FPGA器件內部的邏輯塊、可編程互聯線、輸入輸出塊等資源的檢測。完整的FPGA測試包括兩步,一是配置FPGA、然後是測試FPGA,配置FPGA是指將FPGA通過將配置數據下載編程使其內部的待測資源連接成一定的結構,在盡可能少的配置次數下保證FPGA內部資源的測試覆蓋率,配置數據稱為TC,配置FPGA的這部分時間在整個測試流程占很大比例;測試FPGA則是指對待測FPGA施加設計好的測試激勵並回收激勵,測試激勵稱為TS。
通常來說,要完成FPGA內部資源的完整測試需要針對不同的待測資源設計多種配置圖形,多次下載到FPGA,反複施加激勵和回收測試響應,通過對響應數據的分析來診斷故障。因此,用於FPGA測試的儀器或係統的關鍵技術在於:如何加快單次配置的時間,以節省測試過程中的配置時間開銷;如何實現自動重複配置和測試,將FPGA較快速度的在線配置和快速測試結合起來。
由於一般的集成電路自動測試儀ATE為通用IC測試設計,但FPGA測ce試shi有you上shang述shu特te殊shu性xing,在zai芯xin片pian功gong能neng測ce試shi之zhi前qian必bi須xu對dui其qi進jin行xing特te定ding的de配pei置zhi,否fou則ze芯xin片pian是shi不bu具ju備bei內nei部bu電dian路lu結jie構gou的de,內nei部bu資zi源yuan將jiang無wu法fa測ce試shi,而er通tong用yong的deATEyaowanchengceshibuzhouzhongdepeizhigongnengshi,xuyaoyirengonghuotongguodiannaozhuanmenbianchengxiugaipeizhishujushengchengceshixitongkezhixingdeceshijilixingshijinxingpeizhi,qieruguopeizhishujujiaoduo,zhegezhuanhuanguochengjiangkenengbijiaofuza,yiyongxingbuqiang,wufagaoxiaodiyongyuFPGA器件的測試中,需要對FPGA測試設計專用的測試平台以滿足其配置測試需求。
我們設計的係統實現了快速重複配置和測試的功能,配置數據可以直接引用EDA軟件生成的位流文件而不需要像ATE一樣轉換成繁雜的測試激勵形式,相較於ATE有一定的優勢,對FPGA測試有一定的使用價值。
FPGA可重複配置和測試係統結構概述
係統框圖如圖1所示。

圖1可重複配置測試係統結構框圖
係統功能的實現包括軟件和硬件兩部分。硬件部分包含PCI橋接芯片、FPGA1中的數據接口模塊、配置模塊、測試模塊和被測FPGA。軟件部分包含對實現FPGA配置部分的代碼和實現FPGA測試部分的代碼。FPGA1中的各硬件模塊通過EDA軟件以JTAG接口固化FPGA1中,其中FPGA1中的配置模塊負責接收來自PC方軟件發送的配置數據,並產生對被測FPGA的配置時序,完成配置步驟,測試模塊負責發送測試激勵和回收被測FPGA的響應數據,等待PC方軟件的回收。
係統軟硬件交互流程
整個係統通過軟硬件的數據交互實現對被測FPGA的自動配置和測試的流程,軟硬件交互的流程從圖2可以體現:係統啟動後,首先需要開始對被測FPGA進行數據配置,由軟件向硬件發送配置開始指令,硬件接收指令後對被測FPGA產生配置開始的時序,告訴被測FPGA準(zhun)備(bei)接(jie)收(shou)配(pei)置(zhi)數(shu)據(ju)。當(dang)軟(ruan)件(jian)查(zha)詢(xun)到(dao)配(pei)置(zhi)模(mo)塊(kuai)中(zhong)的(de)狀(zhuang)態(tai)寄(ji)存(cun)器(qi)值(zhi)代(dai)表(biao)等(deng)待(dai)數(shu)據(ju)時(shi)開(kai)始(shi)發(fa)送(song)配(pei)置(zhi)數(shu)據(ju)。配(pei)置(zhi)數(shu)據(ju)發(fa)送(song)完(wan)成(cheng)後(hou),軟(ruan)件(jian)通(tong)過(guo)讀(du)取(qu)配(pei)置(zhi)模(mo)塊(kuai)的(de)狀(zhuang)態(tai)寄(ji)存(cun)器(qi)值(zhi)判(pan)斷(duan)配(pei)置(zhi)是(shi)否(fou)成(cheng)功(gong),決(jue)定(ding)是(shi)否(fou)可(ke)以(yi)開(kai)始(shi)測(ce)試(shi)。如(ru)果(guo)配(pei)置(zhi)成(cheng)功(gong),軟(ruan)件(jian)則(ze)開(kai)始(shi)向(xiang)被(bei)測(ce)FPGAfasongceshijilishujubingduhuiceshixiangyingbaocunzaidiannaozhong,youruanjianduiceshixiangyingjinxingfenxijuedingshifouxuyaojinxingxiayicipeizhiheceshiliucheng。ruguoxuyao,zaiyidingdeyanshizhihouruanyingjianjianghuifuchushizhuangtai,bingxuanzexindepeizhishujuheceshishuju,kaishixinyilundepeizhihouceshiliucheng。[page]

圖2FPGA芯片自動重複下載自動測試係統軟硬件交互流程圖
軟硬件數據交互的通路是PCI總線,軟件向FPGA1發送指令或數據時,軟件通過PCI應用編程接口函數將數據放到PCI總線上,PCI橋接芯片將較為複雜的PCI接口信號轉化為相對簡單的LocalBus數據信號,由FPGA1中的接口模塊接收並產生相應的動作。而軟件向FPGA1讀取數據的通路則相反。圖3和圖4分別是軟件在VC++6.0環境中斷點調試發送指令和軟件向FPGA1發送指令時由嵌入式邏輯分析儀SignalTAPII捕捉到的指令數據和接口模塊波形。

圖3VC++6.0環境中斷點調試指令發送

圖4嵌入式邏輯分析儀SignalTAPII波形
圖4中ADS_N、BLAST_N、LWORD_N、LHOLD、LHOLDA是LocalBus的接口信號,ConfigEnd和ConfigStart是分別代表配置結束和配置開始的標誌寄存器,LA是接口的地址信號,用於模塊中控製寄存器的尋址,LD是接口的數據信號,用於指令數據的發送和數據的回收。
以配置開始指令的發送為例,從圖3圖4兩圖中可以看出軟硬件交互過程中的指令發送方式,在VC++中單步調試,發送一個開始指令0x01到配置命令寄存器地址0x01,通過硬件模塊的接口動作,用嵌入式存儲器SignalTapII中捕捉到LA的數據為1h,LD上的數據為1h後ConfigStart寄存器置高,配置開始。
配置速度測試實驗
軟硬件具體方案設計完畢後,軟件在VisualC++6.0環境下實現並調試。硬件在QuartusII7.1軟件下編譯。
為了對比基於PCI總線的FPGA高速配置方案與基於ByteBlasterIIJTAG下載電纜的速度性能,首先使用QuartusII7.1軟件采用JTAG方式對FPGA2配置5次,計算每次下載所示時間,得到如表1中所示的數據;再使用本係統中基於PCI總線的配置功能對FPGA2配置5次,軟件會自行計算總的下載時間,得到如表1中所示的數據:

從表1的數據對比中可以看到,基於PCI總線的自動下載配置方式要比基於JTAG電纜的下載配置方式提高超過20倍的速度,如果使用基於JTAG電纜對某大容量的FPGA下載需要近20分鍾的話,使用PCI下載方式則隻需不到1分鍾的下載時間,具有明顯的速度優勢,大大節省了FPGA測試中的數據配置時間。
測試總結
該FPGA芯片測試平台具有以下特點:
(1)針對FPGA測試的特點:需要重複對待測FPGA配置,設計了FPGA在線配置模塊和自動測試模塊,從概念上初步實現了自動重複下載和重複測試的功能,為FPGA自動化測試尋找到一個好方法;
(2)利用軟件的靈活性提高了測試係統中具有可觀察性好和可控製性強的優勢;利用硬件結構上並行度高、速度快的優勢提高了測試的效率;
(3)相較於專業的ATE設備,該係統軟件可控性更強,配置數據更方便。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
微波功率管
微波開關
微波連接器
微波器件
微波三極管
微波振蕩器
微電機
微調電容
微動開關
微蜂窩
位置傳感器
溫度保險絲
溫度傳感器
溫控開關
溫控可控矽
聞泰
穩壓電源
穩壓二極管
穩壓管
無焊端子
無線充電
無線監控
無源濾波器
五金工具
物聯網
顯示模塊
顯微鏡結構
線圈
線繞電位器
線繞電阻



