本文介紹一個FPGA開源項目:PCIE通信。該工程圍繞Vivado軟件中提供的PCIE通信IP核XDMA IP建立。Xilinx提供了XDMA的開源驅(qū)動程序,可在Windows系統(tǒng)或者Linux系統(tǒng)下使用,因此采用XDMA IP進(jìn)行PCIE通信是比較簡單直接的。
本文主要介紹一下XDMA IP核的使用和Vivado工程的源代碼結(jié)構(gòu)。文章末尾有該工程源碼獲取方式,有需要的小伙伴可自取。希望小伙伴們點(diǎn)贊、分享支持一下~
一、軟硬件平臺
- 軟件平臺:Vivado 2017.4;
-
硬件平臺:XC7Z035FFG676-2;
二、IP核參數(shù)配置
?2.1 XDMA
XDMA (DMA Subsystem for PCI Express) 是Xilinx提供的可用于PCIE2.0,PCIE3.0的SG模式DMA IP核。該IP核可配置AXI4接口或者AXI4-Stream接口,如果配置成AXI4接口,可方便接入AXI總線互聯(lián),與DDR進(jìn)行數(shù)據(jù)傳輸。
另外XDMA還提供可選擇的AXI4-Lite Master和AXI4-Lite Slave接口。其中AXI4-Lite Master接口可用于實現(xiàn)?PCIE BAR?地址到?AXI4-Lite?寄存器地址的映射,可以用于讀寫用戶邏輯寄存器,AXI4-Lite Slave接口用來將?XDMA?內(nèi)部寄存器開放給用戶邏輯,用戶邏輯可以通過此接口訪問?XDMA?內(nèi)部寄存器。
-
Mode:選擇Advanced;
-
Lane Width:根據(jù)FPGA硬件型號選擇;
-
Max Link Speed:選擇5.0GT/s;
-
Reference Clock:100MHZ;
-
DMA Interface Option:選擇AXI4接口;
-
AXI Data Width:AXI4總線位寬選擇128bits;
-
AXI Clock:125MHZ;
PCIE ID配置保持默認(rèn)選項。
-
選擇PCIE to AXI Lite Master Interface;
-
空間大小根據(jù)實際需要進(jìn)行選擇;
-
PCIE to AXI Translation:BAR地址到AXI地址轉(zhuǎn)換,這里設(shè)置為0x8000_0000;
-
User Interrupts:用戶中斷配置,根據(jù)實際需求選擇;
-
Legacy Interrupt:XDMA支持Legacy中斷;
-
使能MSI中斷;
-
Configuration Management Interface不選;
-
Number of DMA Read Channel (H2C)?和Number of DMA Write Channel (C2H)?:這里選擇2,即XDMA?可以提供最多兩個獨(dú)立的寫通道和兩個獨(dú)立的讀通道;
-
其它選項保持默認(rèn);
2.2 MIG 7 Series & AXI BRAM Controller
為了測試XDMA IP對AXI4總線以及AXI4-Lite總線讀寫功能,在本工程中添加了BRAM和MIG IP核。其中AXI BRAM Controller IP配置如下,AXI協(xié)議選擇AXI4LITE;MIG選擇AXI4接口掛載到AXI4總線,實現(xiàn)對DDR的讀寫。
三、工程源碼結(jié)構(gòu)
下圖為最終搭建好的系統(tǒng)的Block Design。本工程是基于Zynq平臺建立,但實際只用到PL端資源,因此也可方便移植到其它FPGA平臺使用。
地址配置:DDR地址配置從0開始,BRAM配置從0x8000_0000開始,與XDMA中地址映射保持一致。
四、實現(xiàn)功能?
該Vivado工程主要用于FPGA PCIE 通信基礎(chǔ)功能測試,具體為:上位機(jī)端通過PCIE接口實現(xiàn)對FPGA端BAR地址空間以及DMA內(nèi)存地址空間讀寫操作。在此工程基礎(chǔ)上,可在FPGA端訪問DDR等模塊緩存的PCIE數(shù)據(jù),并進(jìn)行后續(xù)一系列處理。文章來源:http://www.zghlxwxcb.cn/news/detail-631076.html
五、源碼獲取方式
需要該工程源碼的小伙伴,請下載我的 資源:《FPGA優(yōu)質(zhì)開源項目獲取方式》?,里面有Vivado工程源碼免費(fèi)獲取方式。?或者點(diǎn)擊鏈接,跳轉(zhuǎn)到原文獲?。骸禙PGA優(yōu)質(zhì)開源項目 – PCIE通信》。文章來源地址http://www.zghlxwxcb.cn/news/detail-631076.html
到了這里,關(guān)于FPGA優(yōu)質(zhì)開源項目 – PCIE通信的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!