《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種基于SoPC的FPGA在線測試方法
一種基于SoPC的FPGA在線測試方法
現代電子技術
羅輝舞,洪海麗,何國勇 裝備指揮技術學院
摘要: 摘要:針對Altera公司現有FPGA在線測試方法無法適應大批量測試/激勵數據自動傳輸的情況,論文提出了一種基于SoPC的FPGA在線測試方法,該方法采用NiosII控制數據傳輸過程、DMA協助數據傳輸、FIFO作為數據暫存,采用
關鍵詞: SoPC FPGA 在線測試 NiosⅡ
Abstract:
Key words :

摘要:針對Altera公司現有FPGA在線測試方法無法適應大批量測試/激勵數據自動傳輸的情況,論文提出了一種基于SoPC的FPGA在線測試方法,該方法采用Nios II控制數據傳輸過程、DMA協助數據傳輸、FIFO作為數據暫存,采用自定義外設完成了DMA模塊與FIFO的接口設計,從而DMA可以直接操作FIFO,測試結果表明該方法是一種可行且高效的FPGA在線測試方法。創新性在于充分利用JTAG接口完成FPGA的在線測試,同時測試數據能夠寫入PC中的文件/激勵數據從文件讀出。
關鍵詞:在線測試:SoPC;DMA;Host-Base File System

    可編程邏輯器件供應商Altera公司針對FPGA的開發推出了6種系統在線測試方法:SignalTapⅡ、SignalProbe、Logic Analyzer Inter-face、In-System Sources and Probes、In-System Memory Content Editor以及Virtual JTAG。上述各種在線測試方法中,只有最后兩種方法允許PC和FPGA進行基于文件的數據交互。而In-System Memory Content Editor只允許用戶手動更新FPGA片上RAM的內容,不利于測試數據的大規模自動采集和傳輸。Virtual JTAG雖然可以實現測試數據采集和傳輸的自動控制,但是需要利用TCL接口函數編寫代碼,而且要求用戶對JTAG有深入的了解,增大了開發難度。本文提出了一種基于SoPC的FPGA在線測試方法,是對現有FPGA在線測試方法的一種有效的補充。

1 在線測試數據操作流程
    基于SoPC的FPGA在線測試方法的數據操作流程如圖1所示。如果用戶需要采集FPGA的測試數據并且上傳至PC機,則用戶首先要將被測試數據寫入DMA讀從外設,然后系統自動啟動DMA控制器,將數據送入Nios II的數據存儲器。再由JTAG UART控制器經JTAG接口上傳至Nios II IDE(NiosⅡIntegrated Development Environment,Nios II開發環境),Nios II IDE將接收到的數據寫入測量數據存儲文件,從而完成了FPGA測試數據的上傳。如果用戶需要將PC機中的激勵數據文件下載至FPGA,則系統首先在Nios II IDE中通過Host-Based File System讀出激勵文件數據,然后由JTAG接口經JTAG UART控制器下載至Nios II處理器的數據存儲器,Nios II發起DMA寫傳輸把數據從數據存儲器搬運至DMA寫從外設并寫入FPGA片上FIFO,從而完成了激勵數據的下載。

1.JPG



2 SoPC平臺架構
    SoPC系統部件組成見圖2,系統包括Nios II處理器、On-Chip RAM、JTAG UART、EPCS控制器,SYSID、定時器、DMA讀控制器dma_0、DMA寫控制器dam_1,以及自定義DMA讀從外設fifo_control與自定義DMA寫從外設ext_rdfifo_controller。NiosⅡ的復位地址為EPCS控制器,異常地址為On_ChipRAM。DMA讀控制器的讀主端口連接至自定義DMA讀從外設,寫主端口連接至On-Chip RAM,DMA寫控制器的讀主端口連接至On-Chip RAM,寫主端口連接至自定義DMA寫從外設。系統的JTAG UART主要實現JTAG接口的控制,使FPGA能夠通過JTAG接口與PC機進行通信。

3 DMA讀、寫從外設的設計
    測試數據在DMA控制器讀數據之前是存儲在片上FIFO的,而激勵數據是通過DMA控制器寫入片上FIFO的。然而DMA控制器數據讀、寫主端口采用的是Avalon存儲器映射接口(Avalon Memory Mapped Interface,Avalon-MM接口),不能直接對FIFO進行操作,Altera公司也沒有提供相應的控制器核,需要用戶自己開發DMA讀從外設用于控制FIFO把測試數據傳送給DMA控制器,以及DMA寫從外設用于控制FIFO接收DMA控制器的激勵數據。本文開發的DMA讀從外設模塊結構框圖如圖3所示。

2.JPG


    DMA讀從外設包括了3個端口,即控制從端口、DMA從端口以及FIFO寫端口。DMA讀從外設的控制從端口包括3個寄存器,分別是狀態寄存器status、控制寄存器control、FIFO已使用字數寄存器usedw。NiosⅡ通過讀/寫這些寄存器獲取此外設的狀態以及實現對此外設的控制。另外,控制端口還包含了中斷接口用于此外設向NiosⅡ發起中斷請求。DMA讀從外設產生中斷請求有2種情況:一是內部FIFO寫滿;二是收到外部測試數據的包結束信號。此時,即使FIFO未寫滿,DMA讀從外設也會發起中斷請求,從而實現采集的測試數據的立即傳輸。DMA從端口采用帶流控制信號的AvalonMM總線,用于實現DMA控制器的測試數據讀操作;管道接口是測試數據寫入此外設的FIFO接口,包括數據總線、寫有效信號和一些狀態信號(如FIFO寫滿信號等)。DMA寫從外設的結構與DMA讀從外設類似,只是沒有中斷請求信號,這里不再詳述。

4 數據傳輸的NiosⅡ控制
4.1 DMA控制器的操作
    Altera公司為DMA控制器提供了硬件抽象層(HAL)接口函數,使用這些函數編程需要注意的地方主要有2點:一是要考慮到Cache數據的一致性問題,在調用發送/接收函數之前需要調用相關函數清除數據Cache中的內容;另外一個需要注意的地方是DMA控制器的alt_dma_txchan _send()函數以及alt_dma_rxchan_prepare()函數的第3個參數表示的是請求DMA控制器發送/接收的字節數,而不是字或者雙字、四字數。
4.2 Host-Base File System
    Altera公司提供的Host-Base File System組件可以使正在目標板上執行的程序讀/寫存儲在主機上的文件,文件的數據是NiosⅡIDE通過Altera下載線纜與目標板進行數據交互的。目標板上的程序可以使用ANSIC標準庫函數如fopen、fread等函數來進行文件的操作,用戶使用Host-Base File System前必須先在NtosII IDE工程中添加這個軟件組件,而且只能運行在Debug模式下。另外,對于上傳至PC的測試數據,也可以使用設置標準輸入/輸出信息存放于主機上的某個文件(在NiosⅡIDE/Run/Run…/Common下指定)而繞開Host-BaseFile System,但是對于主機文件數據下載給目標板的情況,對文件的操作必須添加這個組件。
4.3 測試數據讀、寫控制
    當需要采集測試數據時,首先在FPGA內部用硬件語言編寫模塊把測試數據存入DMA讀從外設的FIFO,然后DMA讀從外設產生中斷請求,NiosⅡ接到中斷請求后,首先查看中斷產生的原因是FIFO寫滿還是數據包結束。若中斷原因是數據包結束,則NiosⅡ讀DMA讀從外設的usedw寄存器獲取FIFO已使用字數,并把這個值作為DMA控制器的傳輸長度發起DMA傳輸;若是FIFO寫滿,則發起固定長度(如FIFO深度)的DMA讀傳輸,DMA傳輸完畢后用ANSIC標準函數fwrite()把數據寫入PC機的數據文件。
    對于存儲在PC機上的數據激勵文件,NiosⅡIDE首先通過ANSIC標準函數fread()讀入NiosⅡ的數據存儲器,在查詢DMA寫從外設中FIFO未滿時,把數據寫入外部的FIFO,完成數據激勵文件的傳輸。

5 系統驗證
5.1 系統測試條件
    本次測試中FPGA芯片為Altera公司的CycloneIII EP3C120F484C8,系統時鐘為50 MHz,使用的JTAG傳輸線纜為USB Blaster,NiosⅡ為經濟模式,自定義DMA讀、寫外設內部FIFO均為2 K×16 b,NiosⅡ數據存儲器On-Chip RAM大小為60 KB,使用Host-Base File System組件,在NiosⅡ工程屬性中選中“Reduced device drivers”,經過NiosⅡIDE編譯后代碼占用程序存儲空間為50 KB。
5.2 測試數據傳輸測試
    在FPGlA目標系統測試數據上傳至PC的測試中,在FPGA內部用verilog語言編寫了一個數據源模塊,數據源輸出為2~8 000的計數值,數據寬度為16位,在數據8 000輸出時,數據包結束信號有效,這樣既可以驗證FIFO滿中斷的情況又可以驗證數據包結束中斷的情況。測試數據源首、尾部的SignalTapⅡ測試波形如圖4所示。在NiosⅡIDE,通過把pritnf()函數輸出的調試信息自動存放到一個文本文件中,刪去首、尾的調試信息即得到有效數據文件。文本文件數據結果如圖5所示,其中數字后面的小黑塊代表換行符,從結果看,此方法實現了測試數據的正確上傳(注:由于測試數據太長,文中只給出數據的首部和尾部的截圖)。

3.JPG

4.JPG


5.3 激勵數據傳輸測試
    在激勵數據傳輸測試時激勵數據為存儲于PC機上的計數值為1~2048二進制流文件,數據寬度為16位,通過加入Host-Base File System組件調用fopen()與fread()函數完成數據的讀出,當查詢DMA寫從設備未滿時發起DMA傳輸,圖6是外部邏輯讀DMA寫從設備中FIFO的Signal Tap II測試波形圖。從圖中的結果看,數據讀出為1~2 048,實現了激勵數據的正確下載。

6 結語
    本文提出了一種基于SoPC的FPGA在線測試方法,這種在線測試方法可以把存儲在FPGA片上FIFO的測試數據通過JTAG接口上傳至PC機并寫入文件,也可以把存儲在PC機上的激勵文件通過JTAG接口下載到FPGA的片上FIFO。相比Altera已有的在線測試方法,此方法采用DMA操作,具有較高的數據吞吐量;采用NiosⅡ控制測試/激勵數據的傳輸,無需手動操作;采集過程的控制由C語言編寫,簡單易用;使用PC機上的激勵文件或者把測試數據存儲為PC機上的文件,可以使用其它分析工具(如Matlab)產生激勵文件或者對測試數據文件進行分析;另外,此方法對測試數據的采樣深度沒有限制。因此,這種在線測試方法具有廣泛的應用前景。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美午夜www高清视频| 欧美在线免费观看视频| 亚洲一区久久久| 国产亚洲福利一区| 亚洲日韩欧美视频一区| 国产精品国产福利国产秒拍| 亚洲国产91| 国产精品自拍小视频| 夜夜夜久久久| 伊人成综合网伊人222| 欧美一区二区在线免费播放| 99re热精品| 欧美国产精品劲爆| 久久激情五月婷婷| 国产精品看片你懂得| 一本久道久久综合婷婷鲸鱼| 亚洲第一中文字幕| 久久一二三区| 性色av一区二区三区红粉影视| 国产精品一区在线观看你懂的| 亚洲一区二区免费| 一本久道久久久| 欧美性片在线观看| 99综合在线| 日韩视频在线观看| 欧美视频一区二区在线观看| 99视频超级精品| 亚洲人成在线播放| 欧美片网站免费| a4yy欧美一区二区三区| 99精品国产一区二区青青牛奶| 欧美片在线播放| 宅男66日本亚洲欧美视频 | 欧美一区二区日韩一区二区| 亚洲手机成人高清视频| 国产精品区一区二区三| 欧美亚洲综合网| 午夜天堂精品久久久久| 国产亚洲精品久久久久婷婷瑜伽| 久久大逼视频| 亚洲日本aⅴ片在线观看香蕉| 亚洲高清av| 欧美三级电影精品| 久久丁香综合五月国产三级网站| 欧美中文在线免费| 亚洲日本久久| 国产精品视频免费一区| 久久久噜噜噜久久久| 99视频精品在线| 亚洲淫性视频| 经典三级久久| 国产精品第十页| 夜夜狂射影院欧美极品| 亚洲一区二区免费视频| 极品尤物久久久av免费看| 欧美日本亚洲韩国国产| 欧美在线观看视频一区二区三区| 亚洲黄色在线视频| 亚洲欧美日韩网| 亚洲人体偷拍| 国产在线播精品第三| 欧美午夜www高清视频| 乱码第一页成人| 欧美一区在线看| 亚洲一区二区三区四区在线观看| 久久成人国产精品| 亚洲欧洲久久| 狠狠色狠狠色综合日日小说| 国产精品99一区二区| 欧美成人乱码一区二区三区| 久久激情综合网| 性一交一乱一区二区洋洋av| 亚洲精品日韩激情在线电影| 久久精品国产成人| 亚洲男女自偷自拍图片另类| 亚洲精品综合久久中文字幕| 亚洲国产精品一区二区第一页 | 欧美日本在线播放| 欧美国产激情| 免费观看成人| 久久这里有精品视频| 欧美在线视频免费播放| 亚洲少妇一区| 亚洲一区二区三区精品动漫| 9久re热视频在线精品| 亚洲伦理在线| 亚洲精品网址在线观看| 亚洲日本中文字幕| 亚洲精品一区二区三区av| 亚洲激情偷拍| 亚洲免费观看高清在线观看 | 欧美成人激情在线| 欧美区一区二| 欧美三级网页| 国产精品久久久久久久久搜平片| 麻豆亚洲精品| 欧美日韩精品免费观看| 欧美日韩精品综合在线| 一本色道久久加勒比88综合| 亚洲一区二区三区视频| 久久久免费精品视频| 欧美成人性生活| 国产精品毛片高清在线完整版| 国产日韩欧美精品一区| 韩日在线一区| 亚洲乱码视频| 午夜精品偷拍| 亚洲另类在线一区| 小黄鸭精品密入口导航| 欧美 日韩 国产一区二区在线视频| 欧美一区1区三区3区公司| 裸体女人亚洲精品一区| 欧美性jizz18性欧美| 精品1区2区3区4区| 欧美激情1区| 欧美成人乱码一区二区三区| 国产一级一区二区| 欧美伊久线香蕉线新在线| 亚洲九九精品| 久久精品视频在线| 欧美午夜精品理论片a级按摩| 国内精品美女av在线播放| 亚洲精品视频二区| 久久精品一二三区| 亚洲一区二区在线播放| 免费久久精品视频| 国产精品永久免费观看| 亚洲区一区二| 国产精品99久久久久久www| 免费日韩视频| 亚洲电影免费观看高清完整版在线| 久久成人羞羞网站| 欧美有码视频| 国产视频久久久久| 欧美一区二区三区免费在线看 | 国产人成精品一区二区三| 日韩一二三在线视频播| 99av国产精品欲麻豆| 欧美乱在线观看| 一区二区欧美视频| 亚洲图片你懂的| 国产精品久久久久久久久久ktv | 亚洲视频高清| 国产日韩一区二区三区在线播放| 亚洲裸体在线观看| 国产精品一区二区视频| 亚洲高清免费| 国产精品sss| 亚洲电影在线| 欧美视频观看一区| 欧美在线播放视频| 欧美黄色免费网站| 中日韩视频在线观看| 久久精品亚洲一区| 亚洲区免费影片| 欧美一区二区黄| 狠狠综合久久av一区二区小说 | 亚洲欧美国产三级| 99精品热视频| 中文精品视频一区二区在线观看| 国产精品一二三视频| 久久福利电影| 欧美日韩视频一区二区| 99xxxx成人网| 久久国产主播精品| 亚洲黄色高清| 欧美一级一区| 在线看国产日韩| 亚洲人成人99网站| 欧美日韩在线影院| 欧美在线1区| 欧美绝品在线观看成人午夜影视| 日韩视频一区二区三区在线播放 | 亚洲国产精品电影| 亚洲欧美美女| 亚洲国产日韩欧美综合久久 | 老司机精品久久| 在线视频精品| 欧美福利电影网| 黄色资源网久久资源365| 亚洲在线观看免费| 国产欧美一区二区三区视频| 亚洲精品1区| 欧美日韩综合一区| 久久爱www.| 欧美午夜精品久久久久久久| 亚洲免费小视频| 欧美国产一区视频在线观看| 亚洲欧美日韩精品综合在线观看| 欧美激情一二区| 亚洲丶国产丶欧美一区二区三区| 亚洲午夜成aⅴ人片| 激情小说另类小说亚洲欧美 | 伊人久久亚洲美女图片| 欧美亚洲日本国产| 亚洲美女av在线播放| 久久久免费观看视频| 亚洲欧美在线免费观看| 欧美黄色精品| 日韩午夜av在线|