一種基于SoPC的FPGA在線(xiàn)測試方法
5 系統驗證
5.1 系統測試條件
本次測試中FPGA芯片為Altera公司的CycloneIII EP3C120F484C8,系統時(shí)鐘為50 MHz,使用的JTAG傳輸線(xiàn)纜為USB Blaster,NiosⅡ為經(jīng)濟模式,自定義DMA讀、寫(xiě)外設內部FIFO均為2 K×16 b,NiosⅡ數據存儲器On-Chip RAM大小為60 KB,使用Host-Base File System組件,在NiosⅡ工程屬性中選中“Reduced device drivers”,經(jīng)過(guò)NiosⅡIDE編譯后代碼占用程序存儲空間為50 KB。
5.2 測試數據傳輸測試
在FPGlA目標系統測試數據上傳至PC的測試中,在FPGA內部用verilog語(yǔ)言編寫(xiě)了一個(gè)數據源模塊,數據源輸出為2~8 000的計數值,數據寬度為16位,在數據8 000輸出時(shí),數據包結束信號有效,這樣既可以驗證FIFO滿(mǎn)中斷的情況又可以驗證數據包結束中斷的情況。測試數據源首、尾部的SignalTapⅡ測試波形如圖4所示。在NiosⅡIDE,通過(guò)把pritnf()函數輸出的調試信息自動(dòng)存放到一個(gè)文本文件中,刪去首、尾的調試信息即得到有效數據文件。文本文件數據結果如圖5所示,其中數字后面的小黑塊代表?yè)Q行符,從結果看,此方法實(shí)現了測試數據的正確上傳(注:由于測試數據太長(cháng),文中只給出數據的首部和尾部的截圖)。本文引用地址:http://dyxdggzs.com/article/191263.htm
5.3 激勵數據傳輸測試
在激勵數據傳輸測試時(shí)激勵數據為存儲于PC機上的計數值為1~2048二進(jìn)制流文件,數據寬度為16位,通過(guò)加入Host-Base File System組件調用fopen()與fread()函數完成數據的讀出,當查詢(xún)DMA寫(xiě)從設備未滿(mǎn)時(shí)發(fā)起DMA傳輸,圖6是外部邏輯讀DMA寫(xiě)從設備中FIFO的Signal Tap II測試波形圖。從圖中的結果看,數據讀出為1~2 048,實(shí)現了激勵數據的正確下載。
6 結語(yǔ)
本文提出了一種基于SoPC的FPGA在線(xiàn)測試方法,這種在線(xiàn)測試方法可以把存儲在FPGA片上FIFO的測試數據通過(guò)JTAG接口上傳至PC機并寫(xiě)入文件,也可以把存儲在PC機上的激勵文件通過(guò)JTAG接口下載到FPGA的片上FIFO。相比Altera已有的在線(xiàn)測試方法,此方法采用DMA操作,具有較高的數據吞吐量;采用NiosⅡ控制測試/激勵數據的傳輸,無(wú)需手動(dòng)操作;采集過(guò)程的控制由C語(yǔ)言編寫(xiě),簡(jiǎn)單易用;使用PC機上的激勵文件或者把測試數據存儲為PC機上的文件,可以使用其它分析工具(如Matlab)產(chǎn)生激勵文件或者對測試數據文件進(jìn)行分析;另外,此方法對測試數據的采樣深度沒(méi)有限制。因此,這種在線(xiàn)測試方法具有廣泛的應用前景。
評論