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

摘要:針對Altera公司現(xiàn)有FPGA在線測試方法無法適應(yīng)大批量測試/激勵(lì)數(shù)據(jù)自動(dòng)傳輸?shù)那闆r,論文提出了一種基于SoPC的FPGA在線測試方法,該方法采用Nios II控制數(shù)據(jù)傳輸過程、DMA協(xié)助數(shù)據(jù)傳輸、FIFO作為數(shù)據(jù)暫存,采用自定義外設(shè)完成了DMA模塊與FIFO的接口設(shè)計(jì),從而DMA可以直接操作FIFO,測試結(jié)果表明該方法是一種可行且高效的FPGA在線測試方法。創(chuàng)新性在于充分利用JTAG接口完成FPGA的在線測試,同時(shí)測試數(shù)據(jù)能夠?qū)懭隤C中的文件/激勵(lì)數(shù)據(jù)從文件讀出。
關(guān)鍵詞:在線測試:SoPC;DMA;Host-Base File System

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

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

1.JPG



2 SoPC平臺(tái)架構(gòu)
    SoPC系統(tǒng)部件組成見圖2,系統(tǒng)包括Nios II處理器、On-Chip RAM、JTAG UART、EPCS控制器,SYSID、定時(shí)器、DMA讀控制器dma_0、DMA寫控制器dam_1,以及自定義DMA讀從外設(shè)fifo_control與自定義DMA寫從外設(shè)ext_rdfifo_controller。NiosⅡ的復(fù)位地址為EPCS控制器,異常地址為On_ChipRAM。DMA讀控制器的讀主端口連接至自定義DMA讀從外設(shè),寫主端口連接至On-Chip RAM,DMA寫控制器的讀主端口連接至On-Chip RAM,寫主端口連接至自定義DMA寫從外設(shè)。系統(tǒng)的JTAG UART主要實(shí)現(xiàn)JTAG接口的控制,使FPGA能夠通過JTAG接口與PC機(jī)進(jìn)行通信。

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

2.JPG


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

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

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

3.JPG

4.JPG


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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久亚洲影音av资源网| 国产精品区二区三区日本| 亚洲尤物视频在线| 亚洲欧洲日本一区二区三区| 久久国产日本精品| 欧美一区三区三区高中清蜜桃 | 亚洲黑丝在线| 1024成人| 亚洲高清视频在线观看| 亚洲第一页自拍| 亚洲欧洲另类| 亚洲精品欧美精品| 亚洲毛片av| 99视频在线观看一区三区| 亚洲日本成人网| 日韩视频―中文字幕| 99视频有精品| 亚洲一区二区三区免费视频 | 亚洲欧美日韩一区在线观看| 亚洲男人影院| 欧美一区二区在线免费观看| 久久精品国产亚洲aⅴ| 亚洲成色www8888| 亚洲国产视频直播| 亚洲伦理在线免费看| 一本到高清视频免费精品| 亚洲午夜国产一区99re久久 | 国产精品一区免费观看| 国产一区二区中文| 在线观看精品视频| 日韩视频专区| 亚洲欧美日韩精品在线| 欧美一级午夜免费电影| 亚洲国产一区二区三区a毛片| 亚洲精品网站在线播放gif| 中文日韩欧美| 欧美制服丝袜| 欧美91视频| 欧美视频一区在线观看| 国产亚洲精品激情久久| 一区在线电影| 99成人免费视频| 香蕉久久夜色| 亚洲毛片一区二区| 亚洲在线免费| 久久影院午夜论| 欧美日韩伊人| 国产一区二区三区免费在线观看| 亚洲第一在线综合网站| 这里只有精品在线播放| 欧美一区二区在线看| 夜夜嗨av一区二区三区四季av| 亚洲欧美日韩在线综合| 免费一级欧美片在线观看| 欧美日韩一区二区三区四区五区| 国产欧美日本一区二区三区| 亚洲福利视频一区二区| 亚洲一级片在线观看| 亚洲国产精品久久人人爱蜜臀| 在线视频欧美精品| 久久久另类综合| 亚洲黄色一区| 午夜激情综合网| 欧美国产日韩精品| 国产精品一区二区女厕厕| 亚洲欧洲精品一区二区精品久久久| 亚洲午夜电影网| 91久久精品国产91久久性色tv| 亚洲专区一二三| 欧美国产精品va在线观看| 国产精品入口夜色视频大尺度| 亚洲国产成人91精品| 亚洲欧美中文日韩在线| 夜夜嗨av色综合久久久综合网 | 一区二区三区在线视频播放| 亚洲美女中文字幕| 久久激情综合网| 亚洲欧美日韩另类精品一区二区三区| 美女视频一区免费观看| 国产精品一区=区| 亚洲精品视频啊美女在线直播| 欧美一站二站| 欧美亚洲色图校园春色| 欧美日韩国产欧| 一区二区在线视频播放| 午夜一区二区三区不卡视频| 亚洲天天影视| 欧美片网站免费| 尤物视频一区二区| 欧美一区二区三区精品| 中文日韩欧美| 欧美激情久久久久久| 精品成人国产在线观看男人呻吟| 亚洲综合视频一区| 亚洲影院一区| 欧美视频一区二| 91久久亚洲| 亚洲国产欧美一区二区三区久久 | 亚洲国产精品第一区二区| 欧美一区在线看| 国产精品毛片一区二区三区| 日韩视频免费在线| 亚洲人成亚洲人成在线观看图片| 久久嫩草精品久久久精品一| 国产农村妇女毛片精品久久麻豆 | 午夜欧美不卡精品aaaaa| 亚洲精品久久久蜜桃| 欧美系列亚洲系列| 亚洲高清视频一区二区| 亚洲国产视频一区二区| 久久综合九色综合网站| 国语精品一区| 久久国产精品99精品国产| 久久精品欧洲| 国产视频久久久久| 午夜在线a亚洲v天堂网2018| 午夜影院日韩| 国产麻豆日韩欧美久久| 亚洲欧美清纯在线制服| 性色av一区二区怡红| 国产精品夜夜夜| 亚洲欧美视频在线观看| 欧美一区二区久久久| 国产午夜亚洲精品羞羞网站| 欧美一区=区| 久久久久久综合| 一区二区亚洲精品| 亚洲精品久久久久久久久久久| 欧美福利在线| 亚洲精品久久在线| 一区二区三区免费看| 欧美图区在线视频| 亚洲中字黄色| 久久免费少妇高潮久久精品99| 黄色资源网久久资源365| 亚洲激情第一页| 欧美精品在线播放| 在线一区视频| 久久不射网站| 曰本成人黄色| 夜夜嗨av一区二区三区四区| 欧美调教vk| 欧美亚洲综合久久| 噜噜噜91成人网| 亚洲毛片在线看| 亚洲你懂的在线视频| 国产欧美一区二区精品婷婷| 欧美一区二区三区四区在线| 免费成年人欧美视频| 日韩一级成人av| 久久aⅴ国产紧身牛仔裤| 永久域名在线精品| 亚洲午夜久久久久久尤物 | 午夜免费日韩视频| 国产综合久久久久影院| 日韩视频在线观看国产| 国产精品成人国产乱一区| 欧美一级精品大片| 欧美成人精品高清在线播放| 日韩亚洲一区在线播放| 久久久.com| 日韩午夜高潮| 欧美专区第一页| 亚洲激情不卡| 性感少妇一区| 亚洲福利视频一区| 午夜精品在线看| 亚洲成色精品| 性亚洲最疯狂xxxx高清| 亚洲二区精品| 欧美亚洲视频在线看网址| 亚洲激情电影在线| 欧美在线视频一区二区| 亚洲欧洲精品一区二区精品久久久| 午夜欧美精品| 亚洲激情午夜| 久久精品国产96久久久香蕉| 亚洲免费成人av电影| 久久蜜臀精品av| 亚洲午夜在线观看| 欧美激情精品久久久久| 亚洲欧美日韩一区在线观看| 欧美精品播放| 久久爱www| 国产精品久久久久久久久免费樱桃| 亚洲大片免费看| 国产精品美女久久久| 91久久香蕉国产日韩欧美9色 | 亚洲精品欧美在线| 久久久青草婷婷精品综合日韩 | 欧美一区二区三区在线视频| 欧美日韩岛国| 亚洲激情视频| 国外视频精品毛片| 午夜老司机精品| 一区二区三区免费观看| 欧美电影免费观看大全| 欧美一区二区三区日韩视频| 国产精品99免费看| 日韩亚洲精品在线|