0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的PCIE通信測試

CHANBAEK ? 來源: FPGA Zone ? 作者: FPGA Zone ? 2023-09-04 16:45 ? 次閱讀

本文介紹一個FPGA開源項目:PCIE通信。該工程圍繞Vivado軟件中提供的PCIE通信IP核XDMA IP建立。Xilinx提供了XDMA的開源驅(qū)動程序,可在Windows系統(tǒng)或者Linux系統(tǒng)下使用,因此采用XDMA IP進行PCIE通信是比較簡單直接的。

本文主要介紹一下XDMA IP核的使用和Vivado工程的源代碼結(jié)構(gòu)。

01軟硬件平臺

  • 軟件平臺:Vivado 2017.4;
  • 硬件平臺:XC7Z035FFG676-2;

02IP核參數(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進行數(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配置保持默認選項。

圖片

  • 選擇PCIE to AXI Lite Master Interface;
  • 空間大小根據(jù)實際需要進行選擇;
  • PCIE to AXI Translation:BAR地址到AXI地址轉(zhuǎn)換,這里設置為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 可以提供最多兩個獨立的寫通道和兩個獨立的讀通道;
  • 其它選項保持默認;

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的讀寫。

圖片

03工程源碼結(jié)構(gòu)

下圖為最終搭建好的系統(tǒng)的Block Design。本工程是基于Zynq平臺建立,但實際只用到PL端資源,因此也可方便移植到其它FPGA平臺使用。

圖片

地址配置:DDR地址配置從0開始,BRAM配置從0x8000_0000開始,與XDMA中地址映射保持一致。

圖片

04實現(xiàn)功能

該Vivado工程主要用于FPGA PCIE 通信基礎(chǔ)功能測試,具體為:上位機端通過PCIE接口實現(xiàn)對FPGA端BAR地址空間以及DMA內(nèi)存地址空間讀寫操作。在此工程基礎(chǔ)上,可在FPGA端訪問DDR等模塊緩存的PCIE數(shù)據(jù),并進行后續(xù)一系列處理。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21738

    瀏覽量

    603464
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209542
  • WINDOWS
    +關(guān)注

    關(guān)注

    3

    文章

    3545

    瀏覽量

    88715
  • 通信測試
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    49500
  • PCIe
    +關(guān)注

    關(guān)注

    15

    文章

    1239

    瀏覽量

    82665
收藏 人收藏

    評論

    相關(guān)推薦

    FPGAPCIE接口應用需要注意哪些問題

    并進行相應的優(yōu)化。 綜上所述,FPGAPCIe接口應用需要綜合考慮硬件資源、PCIe版本、時鐘同步、信號完整性、設計優(yōu)化、軟件和驅(qū)動程序、主機系統(tǒng)性能、熱設計和電源管理等多個方面的問題。通過詳細規(guī)劃、設計和
    發(fā)表于 05-27 16:17

    開發(fā)FPGA Kintex-7板子的PCIe與DDR模塊高速通信,應該準備些什么?

    各位大神請教了,我想開發(fā)FPGA Kintex-7板子的PCIe與DDR模塊高速通信,應該準備些什么,包括哪方面的知識?多謝了!
    發(fā)表于 12-01 22:28

    pc如何通過pcieFPGA通信

    FPGA實現(xiàn) PCIE 端點設備,我該如何實現(xiàn)這樣一個功能,PC發(fā)送一條消息(比如一個存儲器寫事務),然后FPGA用戶邏輯獲得這個事務包里的內(nèi)容進行相關(guān)操作,比如把一個LED點亮。已知在設計例程中
    發(fā)表于 03-12 10:48

    6678 pcieFPGA接口

    6678的pciefpgapcie? TX和RX需要交叉接么?DSP的TX接到FPGA的rx,DSP的RX接到FPGA的TX? ?
    發(fā)表于 06-21 15:49

    基于AM57x平臺的PCIe通信案例(一)

    本次PCIe通信案例測試基于AM5728平臺,篇幅較長,共分為三部分,分別闡述:AM57x與Artix-7FPGA、AM57x與Kintex-7 F
    發(fā)表于 07-06 10:00

    基于AM57x平臺的PCIe通信案例(二)

    本次PCIe通信案例測試基于AM5728平臺,篇幅較長,共分為三部分,分別闡述:AM57x與Artix-7FPGA、AM57x與Kintex-7 F
    發(fā)表于 07-06 10:32

    基于C66x平臺DSP與FPGA通信測試

    `本文為基于創(chuàng)龍TL665xF-EasyEVM開發(fā)板的DSP與FPGA通信測試。TL665xF-EasyEV開發(fā)板的簡介紹如下:由核心板+底板構(gòu)成。核心板DSP端采用單核TMS320C6655或雙核
    發(fā)表于 10-31 14:27

    尋求fpga大牛開發(fā)一個簡單的fpga pcie設備

    需求:兩塊fpga互聯(lián),兩塊fpga分別模擬成特定的pcie設備,兩個設備通過serdes總線互聯(lián)通信fpga僅僅只要模擬特定的設備就可以
    發(fā)表于 02-11 15:31

    AC701能否通過Artix 7的PCIe鏈路與PC通信?

    Artix 7的PCIe鏈路建立Ac701與主機Pc之間的通信。請使用UG964中描述的套件提供的測試示例:我們使用Questasim跟蹤模擬流程,因此我們成功編譯了xilinx庫并啟動
    發(fā)表于 09-10 07:56

    如何通過PCIe進行FPGA到PC的通信?

    嗨,我正在使用超大規(guī)模的FPGA板。我可以通過DMA子系統(tǒng)IP和DDR控制器IP將數(shù)據(jù)從PC傳輸?shù)紻DR。我打算在FPGA中進行一些處理,然后更新數(shù)據(jù),以便PC可以讀取。如何通過PCIe指示PC處理
    發(fā)表于 05-08 09:40

    2個PCIE PHY在FPGA中連接可能實現(xiàn)嗎?

    嗨,我正在嘗試使用KC705板進行PCIE RC和端點測試。1)我將把PCIE RC控制器IP設計和FPGA PCIE PHY放在
    發(fā)表于 07-26 13:06

    關(guān)于xilinx FPGA pcie測試問題

    FPGA pcie dma測試 流程:金手指和電腦連接之后,先加載程序,pc重啟; 現(xiàn)象:pc無法開機。 FPGA pcie x8,pc x
    發(fā)表于 09-13 18:21

    【含案例源碼】IMX8基于FlexSPI、PCIeFPGA的高速通信開發(fā)詳解!

    本文主要介紹i.MX 8M Mini基于FlexSPI、PCIeFPGA的高速通信案例。
    的頭像 發(fā)表于 09-02 14:33 ?2884次閱讀
    【含案例源碼】IMX8基于FlexSPI、<b class='flag-5'>PCIe</b>與<b class='flag-5'>FPGA</b>的高速<b class='flag-5'>通信</b>開發(fā)詳解!

    米爾ARM+FPGA架構(gòu)開發(fā)板PCIE2SCREEN示例分析與測試

    本次測試內(nèi)容為基于ARM+FPGA架構(gòu)的米爾MYD-JX8MMA7開發(fā)板其ARM端的測試例程pcie2screen并介紹一下FPGA端程序的
    的頭像 發(fā)表于 07-08 14:38 ?741次閱讀
    米爾ARM+<b class='flag-5'>FPGA</b>架構(gòu)開發(fā)板<b class='flag-5'>PCIE</b>2SCREEN示例分析與<b class='flag-5'>測試</b>

    基于FPGAPCIE I/O控制卡通信方案

    本文介紹一個FPGA 開源項目:PCIE I/O控制卡。上一篇文章《FPGA優(yōu)質(zhì)開源項目– PCIE通信》開源了基于
    的頭像 發(fā)表于 09-01 16:18 ?3427次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>PCIE</b> I/O控制卡<b class='flag-5'>通信</b>方案