在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

PCIE XDMA開發環境搭建以及環路測試

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 2025-01-13 09:38 ? 次閱讀

1.1 課程介紹

這一章開始主要介紹 XILINX FPGA PICE IP XDMA IP的使用。XDMA IP使用部分教程LINUX 篇和WINDOWS篇兩個部分。通過實戰,面向應用,提供給大家 XILINX FPGA PCIE 應用解決方案。

本教程以MZ7035FA作為樣機測試。在正式開始教程內容前,有必要把MZ7035FA開發板的特點說明下。這是一款高性價比的FPGA開發板。帶PCIE接口SFP通信接口,3路千兆以太網口,2路SATA接口,1路HDMI輸出,1路串口,1路TF卡接口。支持MSXBO(米聯客)FEP標準擴展接口。采用的CPU型號為XC7Z035-FFG676。PL端搭載32bit 1024MB DDR3內存,PS端搭載32bit 1024MB DDR3內存,FPGA讀寫DDR支持的最大數據時鐘為1600M,可以進行很多復雜的開發任務。

1.2 XDMA 概述

Xilinx 提供的DMASubsystem for PCIExpressIP是一個高性能,可配置的適用于PCIE2.0,PCIE3.0 的SG 模式 DMA,提供用戶可選擇的 AXI4 接口或者 AXI4-Stream接口。一般情況下配置成 AXI4 接口可以加入到系統總線互聯,適用于大數據量異步傳輸,通常情況都會使用到 DDR,AXI4-Stream 接口適用于低延遲數據流傳輸。

XDMA 是SGDMA,并非Block DMA,SG 模式下,主機會把要傳輸的數據組成鏈表的形式,然后將鏈表首地址通過BAR 傳送給XDMA,XDMA 會根據鏈表結構首地址依次完成鏈表所指定的傳輸任務。

dd0ba102-cf08-11ef-9310-92fbcf53809c.png

1.3 XDMA 提供如下接口:

AXI4、AXI4-Stream,必須選擇其中一個,用來數據傳輸

AXI4-Lite Master,可選,用來實現PCIE BAR 地址到AXI4-Lite 寄存器地址的映射,可用來讀寫用戶邏輯寄

存器

AXI4-Lite Slave,可選,用來將XDMA 內部寄存器開放給用戶邏輯,用戶邏輯可以通過此接口訪問XDMA

內部寄存器,不會映射到BAR

AXI4 Bypass 接口,可選,用來實現PCIE 直通用戶邏輯訪問,可用于低延遲數據傳輸

1.4 XDMA IP 配置

Mode:配置模式,選擇 Advanced 高級配置

Lane Width:MZ7035 支持X4

Max Link Speed:選擇5.0GT/s 即PCIE2.0

Reference Clock :100MHZ,參考時鐘 100M

DMA Interface Option:接口選擇 AXI4 接口

AXI Data Width:128bit,即 AXI4 數據總線寬度為128bit

AXI Clock :125M,即AXI4 接口時鐘為 125MHZ

dd23845c-cf08-11ef-9310-92fbcf53809c.png

PCIE ID 配置

我們配置成Memory controller 讓IP 自動選擇VID 等

dd36b66c-cf08-11ef-9310-92fbcf53809c.png

PCIE BAR 配置,這里面的配置比較重要

首先使能PCIE to AXI Lite Master Interface ,這樣可以在主機一側通過PCIE 來訪問用戶邏輯側寄存器或者其他AXI4-Lite 總線設備

映射空間選擇 1M,當然用戶也可以根據實際需要來自定義大小。

PCIE to AXI Translation:這個設置比較重要,通常情況下,主機側PCIE BAR 地址與用戶邏輯側地址是不一樣的,這個設置就是進行BAR 地址到AXI 地址的轉換,比如主機一側 BAR 地址為0,IP 里面轉換設置為0x80000000,則主機訪問 BAR 地址0 轉換到AXI LIte 總線地址就是0x80000000

PCIE to DMA Interface :選擇64bit 使能

DMA Bypass 暫時不用

dd4dfe62-cf08-11ef-9310-92fbcf53809c.png

PCIE 中斷設置

User Interrupts:用戶中斷,XDMA 提供16 條中斷線給用戶邏輯,這里面可以配置使用幾條中斷線。

Legacy Interrupt:XDMA 支持 Legacy 中斷

選擇MSI 中斷

注意:MSI 中斷和 MSI-X 中斷只能選擇一個,否則會報錯,如果選擇了 MSI 中斷,則可以選擇 Legacy 中斷,如果選擇了 MSI-X 中斷,那么 MSI 必須取消選擇,同時Legacy 也必須選擇None。此 IP 對于7 系列設置有這么個問題,如果使用Ultrascale 系列,則可以全部選擇

dd65c736-cf08-11ef-9310-92fbcf53809c.png

配置DMA 相關內容

Number of DMA Read Channel(H2C)和Number of DMA Write Channel(C2H)通道數,對于PCIE2.0 來說最大只能選擇 2,也就是 XDMA 可以提供最多兩個獨立的寫通道和兩個獨立的讀通道,獨立的通道對于實際應用中有很大的作用,在帶寬允許的前提前,一個PCIE 可以實現多種不同的傳輸功能,并且互不影響。這里我們選擇1

Number of Request IDs for Read (Write)channel :這個是每個通道設置允許最大的 outstanding 數量,按照默認即可

dd7be4e4-cf08-11ef-9310-92fbcf53809c.png

配置完成以后,點擊Run Block Auto,可以看到之前的配置信息,如果有發現和目標配置不一樣的,需要手動修改,點擊OK,完成配置

dd914d52-cf08-11ef-9310-92fbcf53809c.png

ddad736a-cf08-11ef-9310-92fbcf53809c.png

配置完成以后,VIVADO 會自動進行必要的連接

ddbb43fa-cf08-11ef-9310-92fbcf53809c.png

到此為止,XDMA IP 配置就完成了只要再進行時鐘和 GTP 約束即可。

1.5 MIG 7 SERIES 的配置

Step1:任單擊 IP Catalog,選取 Memory Interface Generator(MIG 7 series)IP 添加到 Block design。雙擊 MIG 7 SERIES ,對這個 IP 進行配置。

ddd8355a-cf08-11ef-9310-92fbcf53809c.png

雙擊生成的IP核

dde32e38-cf08-11ef-9310-92fbcf53809c.png

單擊NEXT

ddf7f804-cf08-11ef-9310-92fbcf53809c.png

繼續單擊NEXT

de0aaa44-cf08-11ef-9310-92fbcf53809c.png

選擇DDR3 單擊NEXT

de245cfa-cf08-11ef-9310-92fbcf53809c.png

設置MIG 內核時鐘頻率為、內存型號、內存的數據位寬

de443d72-cf08-11ef-9310-92fbcf53809c.png

設置MIG AXI4 最大支持的位寬,對于2片DDR 最大位寬為256bit

de6412be-cf08-11ef-9310-92fbcf53809c.png

設置輸入頻率

de7a379c-cf08-11ef-9310-92fbcf53809c.png

系統和參考時鐘時鐘選擇no buffer,MIG低電平復位

de935c0e-cf08-11ef-9310-92fbcf53809c.png

Step9:終端阻抗選擇50hms,設置DCI

deb3aec8-cf08-11ef-9310-92fbcf53809c.png

選擇Fixed Pin Out

decdd24e-cf08-11ef-9310-92fbcf53809c.png

根據原理圖手動填寫PIN 腳定義,或者選擇Read XDC/UCF直接讀入pin腳定義,本課程下提供了MZ7035.ucf 的DDR 配置文件,直接讀入既可。

dee2adea-cf08-11ef-9310-92fbcf53809c.png

填寫完成后,先單擊Validate再單擊NEXT

deff0fd0-cf08-11ef-9310-92fbcf53809c.png

繼續單擊NEXT

df2418c0-cf08-11ef-9310-92fbcf53809c.png

繼續單擊NEXT

df31b5de-cf08-11ef-9310-92fbcf53809c.png

繼續單擊NEXT

df53b530-cf08-11ef-9310-92fbcf53809c.png

繼續單擊NEXT

df633d48-cf08-11ef-9310-92fbcf53809c.png

最后單擊Generate,至此MIG的配置完成

df7baf5e-cf08-11ef-9310-92fbcf53809c.png

1.6基礎測試系統搭建

我們的測試目標是進行PCIE AXI4總線與外設進行讀寫操作,PCIE AXI4-Lite 總線進行用戶邏輯寄存器或者其他 AXI4-Lite 總線設備訪問操作。AXI4總線上掛載到MIG控制器DDR上去,實現對DDR的讀寫控制。

為此搭建系統為下圖所示:

df92039e-cf08-11ef-9310-92fbcf53809c.png

進行地址分配:

這里我們把掛在M_AXI上的DDR地址分配從0開始(對于widnows系統必須為0), M_AXI是需要進行DMA操作的。而M_AXI_LITE掛載的BRAM是需要進行BAR空間操作,所以地址設置為0x80000000和XMDA IP里面設置的地址對應。

dfac3408-cf08-11ef-9310-92fbcf53809c.png

1.7LINUX下驅動程序編譯安裝測試1.7.1 驅動編譯和安裝(下必須重新編譯)

官方驅動包選擇 2017 版本以后的,注意 2016 版本的有 BUG!!!

在終端進入到xdma 目錄,輸入make ,進行驅動編譯

dfbf257c-cf08-11ef-9310-92fbcf53809c.png

執行以下指令:

- Change directory to the driver directory.

cd driver

- Compile the kernel module driver.

make

- Change directory to the tests directory.

cd tests

- Compile the provided example software.

make

- Copy the provided driver rules from the etc directory to the

/etc/ directory on your system.

cp ../etc/udev/rules.d/* /etc/udev/rules.d/

關于驅動加載,這里有兩點要說明一下,首先是在驅動加載之前,如果檢測到系統中已經加載過驅動,那么它會將已經加載的驅動卸載,然后再加載。然后就是PCIe DMA的工作方式可以通過加載驅動傳輸參數進行修改。默認情況下DMA工作在中斷模式,可以通過修改load_driver.sh腳本改為輪循模式如下圖所示,但是可能驅動有問題,實際測試輪詢模式有些程序無法正常執行,所以建議大家不要使用輪詢模式。

dfdaf7d4-cf08-11ef-9310-92fbcf53809c.png

在準備加載驅動前,確保你的開發板已經下載PCIE工程的bit文件,而且已經重啟過電腦。好了,現在加載驅動。

./load_driver.sh

如下顯示驅動安裝成功

dff26e8c-cf08-11ef-9310-92fbcf53809c.png

在終端執行命令:

./dma_from_device -d /dev/xdma0_c2h_0 -f ./test.bin-s 4096-a 0 -c 1

e00730ec-cf08-11ef-9310-92fbcf53809c.png

./dma_to_device -d /dev/xdma0_h2c_0 -f ./test.bin-s 4096-a0-c 1

e048d920-cf08-11ef-9310-92fbcf53809c.png

-d:device 設備.

-f:file 文件

-s:size 大小

-a:addr 起始地址

-c:count

這兩個操作分別是從板卡讀 4096 Bytes 數據到文件 test.bin 以及從 test.bin 讀出4096 Bytes 數據發送給板卡。

原文鏈接;

https://openatomworkshop.csdn.net/674532733a01316874d81597.html

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

    關注

    16

    文章

    1301

    瀏覽量

    84363
  • 環路測試
    +關注

    關注

    0

    文章

    9

    瀏覽量

    5962

原文標題:PCIE XDMA 開發環境搭建以及環路測試

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    【米爾-Xilinx XC7A100T FPGA開發板試用】+02.PCIE接口測試(zmj)

    通信速率可高達 5G bit 帶寬。本例程中通過利用 XILINX 的 XDMA IP 來實現 PCIE 的發送和接收速度測試。 1.1參考電路 米爾-Xilinx XC7A100T FPGA
    發表于 11-12 16:05

    ZYNQ調用XDMA PCIE IP同時讀寫PS DDR,導致藍屏問題。

    你好!我在ZYNQ 7015里(或者7035)調用XDMA PCIE IP 從上位機HOST PC通過PCIE接口給ZYNQ的PS DDR發送數據(XDMA
    發表于 11-21 10:35

    開發環境搭建教程

    android Windows系統下開發環境搭建
    發表于 03-22 17:42 ?0次下載

    本地測試環境搭建

    本文主要介紹了本地測試環境搭建搭建一個本地測試環境無疑是個明智的選擇,再結合GitHub、Jen
    的頭像 發表于 01-31 16:01 ?3009次閱讀
    本地<b class='flag-5'>測試</b><b class='flag-5'>環境</b><b class='flag-5'>搭建</b>

    測試環境搭建和維護_軟硬件測試環境

     測試環境搭建,每個公司都有不一樣的流程和方法。一種是運維或者開發負責搭建和維護,另一種是測試
    的頭像 發表于 01-31 18:30 ?7092次閱讀
    <b class='flag-5'>測試</b><b class='flag-5'>環境</b>的<b class='flag-5'>搭建</b>和維護_軟硬件<b class='flag-5'>測試</b><b class='flag-5'>環境</b>

    搭建測試環境常用linux命令_linux下web測試環境搭建

    本文主要介紹的是搭建測試環境常用的一些linux命令以及linux下web測試環境
    的頭像 發表于 01-31 18:41 ?1.2w次閱讀
    <b class='flag-5'>搭建</b><b class='flag-5'>測試</b><b class='flag-5'>環境</b>常用linux命令_linux下web<b class='flag-5'>測試</b><b class='flag-5'>環境</b>的<b class='flag-5'>搭建</b>

    如何搭建鴻蒙開發環境

    開發某一個平臺的程序,那么首先要搭建出本地開發環境,那么如何搭建鴻蒙開發
    的頭像 發表于 02-24 11:25 ?4017次閱讀
    如何<b class='flag-5'>搭建</b>鴻蒙<b class='flag-5'>開發</b><b class='flag-5'>環境</b>

    Digispark開發環境搭建

    Digispark開發環境搭建
    發表于 11-15 20:51 ?16次下載
    Digispark<b class='flag-5'>開發</b><b class='flag-5'>環境</b><b class='flag-5'>搭建</b>

    STM32 搭建開發環境

    STM32 搭建開發環境
    發表于 12-08 14:36 ?21次下載
    STM32 <b class='flag-5'>搭建</b><b class='flag-5'>開發</b><b class='flag-5'>環境</b>

    XDMA/PCIE IP的定制和Block Design的搭建

    IP,基于這些IP我們設置不需要知道TLP包的組包原理我們便可以把PCIE使用起來。這篇博客我們主要把FPGA作為endpoint來進行講解,當然也對作為root port進行簡單的描述。我們使用的主要IP是XDMA,主要參考資料是米聯客。如果對IP的使用感覺到疑惑可以
    的頭像 發表于 06-01 15:52 ?1.3w次閱讀

    高頻探針如何搭建測試環境及下針

    在高頻測試領域,搭建適合的測試環境以及正確下針對于確保準確的測量結果至關重要。
    的頭像 發表于 05-29 18:25 ?1711次閱讀

    基于FPGA的PCIE通信測試

    本文介紹一個FPGA開源項目:PCIE通信。該工程圍繞Vivado軟件中提供的PCIE通信IP核XDMA IP建立。Xilinx提供了XDMA的開源驅動程序,可在Windows系統或者
    的頭像 發表于 09-04 16:45 ?4029次閱讀
    基于FPGA的<b class='flag-5'>PCIE</b>通信<b class='flag-5'>測試</b>

    PyTorch深度學習開發環境搭建指南

    PyTorch作為一種流行的深度學習框架,其開發環境搭建對于深度學習研究者和開發者來說至關重要。在Windows操作系統上搭建PyTorc
    的頭像 發表于 07-16 18:29 ?1889次閱讀

    如何搭建企業AI開發環境

    搭建企業AI開發環境是一個復雜而細致的過程,涉及硬件選擇、操作系統配置、軟件安裝、工具選用以及實踐等多個方面。下面,AI部落小編將詳細介紹如何搭建
    的頭像 發表于 12-20 10:37 ?525次閱讀

    NVMe IP over PCIe 4.0:擺脫XDMA,實現超高速!

    基于NVMe加速引擎,它直接放棄XDMA,改為深度結合PCIe,通過高速傳輸機制開發。同時利用UVM驗證平臺驗證,有效提升工作效率。
    的頭像 發表于 04-16 14:57 ?152次閱讀
    NVMe IP over <b class='flag-5'>PCIe</b> 4.0:擺脫<b class='flag-5'>XDMA</b>,實現超高速!
    主站蜘蛛池模板: 欧美不卡视频 | 国产黄网站 | 日本又粗又长一进一出抽搐 | 日本wwwxx | 天天插天天舔 | 免费一级毛片清高播放 | 成人国产精品高清在线观看 | 久青草视频在线播放 | 欧美日本俄罗斯一级毛片 | 天天噜噜日日噜噜久久综合网 | 俺去啦五月 | 91啦中文在线观看 | 三级毛片在线播放 | 天天久久综合 | 国产精品好好热在线观看 | 国产精品你懂的在线播放 | 午夜精品久久久久久99热7777 | 亚洲 欧美 另类 综合 日韩 | 欧美一区二区三区影院 | www.黄色免费 | 久久久综合色 | 久久综合成人网 | 欧美亚洲综合一区 | h视频在线观看免费网站 | 免费公开视频人人人人人人人 | 国产三级日产三级韩国三级 | 91寡妇天天综合久久影院 | 久久精品影院永久网址 | 级毛片 | 欧美性猛| 特级毛片免费看 | 欧美日韩国产成人高清视频 | 国内视频一区二区 | 精品一区二区视频 | 天天射夜夜操 | 人人狠狠综合88综合久久 | 天天做夜夜爽 | 网站在线播放 | 久久国产视频网站 | 午夜影视啪啪免费体验区深夜 | h版欧美一区二区三区四区 h网站亚洲 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品