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

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

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

基于FPGA的PCIE通信測(cè)試

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

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

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

01軟硬件平臺(tái)

  • 軟件平臺(tái):Vivado 2017.4;
  • 硬件平臺(tái):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進(jìn)行數(shù)據(jù)傳輸。

另外XDMA還提供可選擇的AXI4-Lite Master和AXI4-Lite Slave接口。其中AXI4-Lite Master接口可用于實(shí)現(xiàn) PCIE BAR 地址到 AXI4-Lite 寄存器地址的映射,可以用于讀寫用戶邏輯寄存器,AXI4-Lite Slave接口用來將 XDMA 內(nèi)部寄存器開放給用戶邏輯,用戶邏輯可以通過此接口訪問 XDMA 內(nèi)部寄存器。

圖片

  • Mode:選擇Advanced;
  • Lane Width:根據(jù)FPGA硬件型號(hào)選擇;
  • 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)選項(xiàng)。

圖片

  • 選擇PCIE to AXI Lite Master Interface;
  • 空間大小根據(jù)實(shí)際需要進(jìn)行選擇;
  • PCIE to AXI Translation:BAR地址到AXI地址轉(zhuǎn)換,這里設(shè)置為0x8000_0000;

圖片

  • User Interrupts:用戶中斷配置,根據(jù)實(shí)際需求選擇;
  • Legacy Interrupt:XDMA支持Legacy中斷;
  • 使能MSI中斷;
  • Configuration Management Interface不選;

圖片

  • Number of DMA Read Channel (H2C) 和Number of DMA Write Channel (C2H) :這里選擇2,即XDMA 可以提供最多兩個(gè)獨(dú)立的寫通道和兩個(gè)獨(dú)立的讀通道;
  • 其它選項(xiàng)保持默認(rèn);

2.2 MIG 7 Series & AXI BRAM Controller

為了測(cè)試XDMA IP對(duì)AXI4總線以及AXI4-Lite總線讀寫功能,在本工程中添加了BRAM和MIG IP核。其中AXI BRAM Controller IP配置如下,AXI協(xié)議選擇AXI4LITE;MIG選擇AXI4接口掛載到AXI4總線,實(shí)現(xiàn)對(duì)DDR的讀寫。

圖片

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

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

圖片

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

圖片

04實(shí)現(xiàn)功能

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

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

    關(guān)注

    1624

    文章

    21538

    瀏覽量

    600474
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11161

    瀏覽量

    208467
  • WINDOWS
    +關(guān)注

    關(guān)注

    3

    文章

    3509

    瀏覽量

    88207
  • 通信測(cè)試
    +關(guān)注

    關(guān)注

    0

    文章

    56

    瀏覽量

    49467
  • PCIe
    +關(guān)注

    關(guān)注

    15

    文章

    1174

    瀏覽量

    82251
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGAPCIE接口應(yīng)用需要注意哪些問題

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

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

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

    pc如何通過pcieFPGA通信

    FPGA實(shí)現(xiàn) PCIE 端點(diǎn)設(shè)備,我該如何實(shí)現(xiàn)這樣一個(gè)功能,PC發(fā)送一條消息(比如一個(gè)存儲(chǔ)器寫事務(wù)),然后FPGA用戶邏輯獲得這個(gè)事務(wù)包里的內(nèi)容進(jìn)行相關(guān)操作,比如把一個(gè)LED點(diǎn)亮。已知在設(shè)計(jì)例程中
    發(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平臺(tái)的PCIe通信案例(一)

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

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

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

    基于C66x平臺(tái)DSP與FPGA通信測(cè)試

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

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

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

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

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

    如何通過PCIe進(jìn)行FPGA到PC的通信?

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

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

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

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

    FPGA pcie dma測(cè)試 流程:金手指和電腦連接之后,先加載程序,pc重啟; 現(xiàn)象:pc無法開機(jī)。 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 ?2717次閱讀
    【含案例源碼】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示例分析與測(cè)試

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

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

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