色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

PCIE XDMA開(kāi)發(fā)環(huán)境搭建以及環(huán)路測(cè)試

FPGA設(shè)計(jì)論壇 ? 來(lái)源:FPGA設(shè)計(jì)論壇 ? 2025-01-13 09:38 ? 次閱讀

1.1 課程介紹

這一章開(kāi)始主要介紹 XILINX FPGA PICE IP XDMA IP的使用。XDMA IP使用部分教程LINUX 篇和WINDOWS篇兩個(gè)部分。通過(guò)實(shí)戰(zhàn),面向應(yīng)用,提供給大家 XILINX FPGA PCIE 應(yīng)用解決方案。

本教程以MZ7035FA作為樣機(jī)測(cè)試。在正式開(kāi)始教程內(nèi)容前,有必要把MZ7035FA開(kāi)發(fā)板的特點(diǎn)說(shuō)明下。這是一款高性價(jià)比的FPGA開(kāi)發(fā)板。帶PCIE接口SFP通信接口,3路千兆以太網(wǎng)口,2路SATA接口,1路HDMI輸出,1路串口,1路TF卡接口。支持MSXBO(米聯(lián)客)FEP標(biāo)準(zhǔn)擴(kuò)展接口。采用的CPU型號(hào)為XC7Z035-FFG676。PL端搭載32bit 1024MB DDR3內(nèi)存,PS端搭載32bit 1024MB DDR3內(nèi)存,F(xiàn)PGA讀寫(xiě)DDR支持的最大數(shù)據(jù)時(shí)鐘為1600M,可以進(jìn)行很多復(fù)雜的開(kāi)發(fā)任務(wù)。

1.2 XDMA 概述

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

XDMA 是SGDMA,并非Block DMA,SG 模式下,主機(jī)會(huì)把要傳輸?shù)臄?shù)據(jù)組成鏈表的形式,然后將鏈表首地址通過(guò)BAR 傳送給XDMA,XDMA 會(huì)根據(jù)鏈表結(jié)構(gòu)首地址依次完成鏈表所指定的傳輸任務(wù)。

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

1.3 XDMA 提供如下接口:

AXI4、AXI4-Stream,必須選擇其中一個(gè),用來(lái)數(shù)據(jù)傳輸

AXI4-Lite Master,可選,用來(lái)實(shí)現(xiàn)PCIE BAR 地址到AXI4-Lite 寄存器地址的映射,可用來(lái)讀寫(xiě)用戶邏輯寄

存器

AXI4-Lite Slave,可選,用來(lái)將XDMA 內(nèi)部寄存器開(kāi)放給用戶邏輯,用戶邏輯可以通過(guò)此接口訪問(wèn)XDMA

內(nèi)部寄存器,不會(huì)映射到BAR

AXI4 Bypass 接口,可選,用來(lái)實(shí)現(xiàn)PCIE 直通用戶邏輯訪問(wèn),可用于低延遲數(shù)據(jù)傳輸

1.4 XDMA IP 配置

Mode:配置模式,選擇 Advanced 高級(jí)配置

Lane Width:MZ7035 支持X4

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

Reference Clock :100MHZ,參考時(shí)鐘 100M

DMA Interface Option:接口選擇 AXI4 接口

AXI Data Width:128bit,即 AXI4 數(shù)據(jù)總線寬度為128bit

AXI Clock :125M,即AXI4 接口時(shí)鐘為 125MHZ

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

PCIE ID 配置

我們配置成Memory controller 讓IP 自動(dòng)選擇VID 等

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

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

首先使能PCIE to AXI Lite Master Interface ,這樣可以在主機(jī)一側(cè)通過(guò)PCIE 來(lái)訪問(wèn)用戶邏輯側(cè)寄存器或者其他AXI4-Lite 總線設(shè)備

映射空間選擇 1M,當(dāng)然用戶也可以根據(jù)實(shí)際需要來(lái)自定義大小。

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

PCIE to DMA Interface :選擇64bit 使能

DMA Bypass 暫時(shí)不用

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

PCIE 中斷設(shè)置

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

Legacy Interrupt:XDMA 支持 Legacy 中斷

選擇MSI 中斷

注意:MSI 中斷和 MSI-X 中斷只能選擇一個(gè),否則會(huì)報(bào)錯(cuò),如果選擇了 MSI 中斷,則可以選擇 Legacy 中斷,如果選擇了 MSI-X 中斷,那么 MSI 必須取消選擇,同時(shí)Legacy 也必須選擇None。此 IP 對(duì)于7 系列設(shè)置有這么個(gè)問(wèn)題,如果使用Ultrascale 系列,則可以全部選擇

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

配置DMA 相關(guān)內(nèi)容

Number of DMA Read Channel(H2C)和Number of DMA Write Channel(C2H)通道數(shù),對(duì)于PCIE2.0 來(lái)說(shuō)最大只能選擇 2,也就是 XDMA 可以提供最多兩個(gè)獨(dú)立的寫(xiě)通道和兩個(gè)獨(dú)立的讀通道,獨(dú)立的通道對(duì)于實(shí)際應(yīng)用中有很大的作用,在帶寬允許的前提前,一個(gè)PCIE 可以實(shí)現(xiàn)多種不同的傳輸功能,并且互不影響。這里我們選擇1

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

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

配置完成以后,點(diǎn)擊Run Block Auto,可以看到之前的配置信息,如果有發(fā)現(xiàn)和目標(biāo)配置不一樣的,需要手動(dòng)修改,點(diǎn)擊OK,完成配置

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

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

配置完成以后,VIVADO 會(huì)自動(dòng)進(jìn)行必要的連接

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

到此為止,XDMA IP 配置就完成了只要再進(jìn)行時(shí)鐘和 GTP 約束即可。

1.5 MIG 7 SERIES 的配置

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

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

雙擊生成的IP核

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

單擊NEXT

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

繼續(xù)單擊NEXT

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

選擇DDR3 單擊NEXT

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

設(shè)置MIG 內(nèi)核時(shí)鐘頻率為、內(nèi)存型號(hào)、內(nèi)存的數(shù)據(jù)位寬

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

設(shè)置MIG AXI4 最大支持的位寬,對(duì)于2片DDR 最大位寬為256bit

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

設(shè)置輸入頻率

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

系統(tǒng)和參考時(shí)鐘時(shí)鐘選擇no buffer,MIG低電平復(fù)位

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

Step9:終端阻抗選擇50hms,設(shè)置DCI

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

選擇Fixed Pin Out

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

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

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

填寫(xiě)完成后,先單擊Validate再單擊NEXT

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

繼續(xù)單擊NEXT

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

繼續(xù)單擊NEXT

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

繼續(xù)單擊NEXT

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

繼續(xù)單擊NEXT

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

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

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

1.6基礎(chǔ)測(cè)試系統(tǒng)搭建

我們的測(cè)試目標(biāo)是進(jìn)行PCIE AXI4總線與外設(shè)進(jìn)行讀寫(xiě)操作,PCIE AXI4-Lite 總線進(jìn)行用戶邏輯寄存器或者其他 AXI4-Lite 總線設(shè)備訪問(wèn)操作。AXI4總線上掛載到MIG控制器DDR上去,實(shí)現(xiàn)對(duì)DDR的讀寫(xiě)控制。

為此搭建系統(tǒng)為下圖所示:

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

進(jìn)行地址分配:

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

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

1.7LINUX下驅(qū)動(dòng)程序編譯安裝測(cè)試1.7.1 驅(qū)動(dòng)編譯和安裝(下必須重新編譯)

官方驅(qū)動(dòng)包選擇 2017 版本以后的,注意 2016 版本的有 BUG!!!

在終端進(jìn)入到xdma 目錄,輸入make ,進(jìn)行驅(qū)動(dòng)編譯

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

執(zhí)行以下指令:

- 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/

關(guān)于驅(qū)動(dòng)加載,這里有兩點(diǎn)要說(shuō)明一下,首先是在驅(qū)動(dòng)加載之前,如果檢測(cè)到系統(tǒng)中已經(jīng)加載過(guò)驅(qū)動(dòng),那么它會(huì)將已經(jīng)加載的驅(qū)動(dòng)卸載,然后再加載。然后就是PCIe DMA的工作方式可以通過(guò)加載驅(qū)動(dòng)傳輸參數(shù)進(jìn)行修改。默認(rèn)情況下DMA工作在中斷模式,可以通過(guò)修改load_driver.sh腳本改為輪循模式如下圖所示,但是可能驅(qū)動(dòng)有問(wèn)題,實(shí)際測(cè)試輪詢模式有些程序無(wú)法正常執(zhí)行,所以建議大家不要使用輪詢模式。

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

在準(zhǔn)備加載驅(qū)動(dòng)前,確保你的開(kāi)發(fā)板已經(jīng)下載PCIE工程的bit文件,而且已經(jīng)重啟過(guò)電腦。好了,現(xiàn)在加載驅(qū)動(dòng)。

./load_driver.sh

如下顯示驅(qū)動(dòng)安裝成功

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

在終端執(zhí)行命令:

./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 設(shè)備.

-f:file 文件

-s:size 大小

-a:addr 起始地址

-c:count

這兩個(gè)操作分別是從板卡讀 4096 Bytes 數(shù)據(jù)到文件 test.bin 以及從 test.bin 讀出4096 Bytes 數(shù)據(jù)發(fā)送給板卡。

原文鏈接;

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

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

    關(guān)注

    15

    文章

    1244

    瀏覽量

    82863
  • 環(huán)路測(cè)試
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    5923

原文標(biāo)題:PCIE XDMA 開(kāi)發(fā)環(huán)境搭建以及環(huán)路測(cè)試

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【米爾-Xilinx XC7A100T FPGA開(kāi)發(fā)板試用】+02.PCIE接口測(cè)試(zmj)

    通信速率可高達(dá) 5G bit 帶寬。本例程中通過(guò)利用 XILINX 的 XDMA IP 來(lái)實(shí)現(xiàn) PCIE 的發(fā)送和接收速度測(cè)試。 1.1參考電路 米爾-Xilinx XC7A100T FPGA
    發(fā)表于 11-12 16:05

    ZYNQ調(diào)用XDMA PCIE IP同時(shí)讀寫(xiě)PS DDR,導(dǎo)致藍(lán)屏問(wèn)題。

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

    開(kāi)發(fā)環(huán)境搭建教程

    android Windows系統(tǒng)下開(kāi)發(fā)環(huán)境搭建
    發(fā)表于 03-22 17:42 ?0次下載

    本地測(cè)試環(huán)境搭建

    本文主要介紹了本地測(cè)試環(huán)境搭建搭建一個(gè)本地測(cè)試環(huán)境無(wú)疑是個(gè)明智的選擇,再結(jié)合GitHub、Jen
    的頭像 發(fā)表于 01-31 16:01 ?2890次閱讀
    本地<b class='flag-5'>測(cè)試</b><b class='flag-5'>環(huán)境</b><b class='flag-5'>搭建</b>

    測(cè)試環(huán)境搭建和維護(hù)_軟硬件測(cè)試環(huán)境

     測(cè)試環(huán)境搭建,每個(gè)公司都有不一樣的流程和方法。一種是運(yùn)維或者開(kāi)發(fā)負(fù)責(zé)搭建和維護(hù),另一種是測(cè)試
    的頭像 發(fā)表于 01-31 18:30 ?6865次閱讀
    <b class='flag-5'>測(cè)試</b><b class='flag-5'>環(huán)境</b>的<b class='flag-5'>搭建</b>和維護(hù)_軟硬件<b class='flag-5'>測(cè)試</b><b class='flag-5'>環(huán)境</b>

    搭建測(cè)試環(huán)境常用linux命令_linux下web測(cè)試環(huán)境搭建

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

    arm的開(kāi)發(fā)環(huán)境有哪些_使用Eclipse搭建ARM架構(gòu)MCU開(kāi)發(fā)環(huán)境

    本文主要介紹了關(guān)于arm的開(kāi)發(fā)環(huán)境有哪些以及使用Eclipse搭建ARM架構(gòu)MCU開(kāi)發(fā)環(huán)境。Ec
    的頭像 發(fā)表于 02-01 16:19 ?2w次閱讀

    如何搭建鴻蒙開(kāi)發(fā)環(huán)境

    開(kāi)發(fā)某一個(gè)平臺(tái)的程序,那么首先要搭建出本地開(kāi)發(fā)環(huán)境,那么如何搭建鴻蒙開(kāi)發(fā)
    的頭像 發(fā)表于 02-24 11:25 ?3810次閱讀
    如何<b class='flag-5'>搭建</b>鴻蒙<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>環(huán)境</b>

    Digispark開(kāi)發(fā)環(huán)境搭建

    Digispark開(kāi)發(fā)環(huán)境搭建
    發(fā)表于 11-15 20:51 ?16次下載
    Digispark<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>環(huán)境</b><b class='flag-5'>搭建</b>

    STM32 搭建開(kāi)發(fā)環(huán)境

    STM32 搭建開(kāi)發(fā)環(huán)境
    發(fā)表于 12-08 14:36 ?20次下載
    STM32 <b class='flag-5'>搭建</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>環(huán)境</b>

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

    IP,基于這些IP我們?cè)O(shè)置不需要知道TLP包的組包原理我們便可以把PCIE使用起來(lái)。這篇博客我們主要把FPGA作為endpoint來(lái)進(jìn)行講解,當(dāng)然也對(duì)作為root port進(jìn)行簡(jiǎn)單的描述。我們使用的主要IP是XDMA,主要參考資料是米聯(lián)客。如果對(duì)IP的使用感覺(jué)到疑惑可以
    的頭像 發(fā)表于 06-01 15:52 ?1.2w次閱讀

    高頻探針如何搭建測(cè)試環(huán)境及下針

    在高頻測(cè)試領(lǐng)域,搭建適合的測(cè)試環(huán)境以及正確下針對(duì)于確保準(zhǔn)確的測(cè)量結(jié)果至關(guān)重要。
    的頭像 發(fā)表于 05-29 18:25 ?1427次閱讀

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

    本文介紹一個(gè)FPGA開(kāi)源項(xiàng)目:PCIE通信。該工程圍繞Vivado軟件中提供的PCIE通信IP核XDMA IP建立。Xilinx提供了XDMA的開(kāi)源驅(qū)動(dòng)程序,可在Windows系統(tǒng)或者
    的頭像 發(fā)表于 09-04 16:45 ?3400次閱讀
    基于FPGA的<b class='flag-5'>PCIE</b>通信<b class='flag-5'>測(cè)試</b>

    PyTorch深度學(xué)習(xí)開(kāi)發(fā)環(huán)境搭建指南

    PyTorch作為一種流行的深度學(xué)習(xí)框架,其開(kāi)發(fā)環(huán)境搭建對(duì)于深度學(xué)習(xí)研究者和開(kāi)發(fā)者來(lái)說(shuō)至關(guān)重要。在Windows操作系統(tǒng)上搭建PyTorc
    的頭像 發(fā)表于 07-16 18:29 ?1156次閱讀

    如何搭建企業(yè)AI開(kāi)發(fā)環(huán)境

    搭建企業(yè)AI開(kāi)發(fā)環(huán)境是一個(gè)復(fù)雜而細(xì)致的過(guò)程,涉及硬件選擇、操作系統(tǒng)配置、軟件安裝、工具選用以及實(shí)踐等多個(gè)方面。下面,AI部落小編將詳細(xì)介紹如何搭建
    的頭像 發(fā)表于 12-20 10:37 ?177次閱讀
    主站蜘蛛池模板: 热综合一本伊人久久精品| 男人免费网站| 欧美日韩亚洲综合2019| 在线自拍综合亚洲欧美| 精品久久久久中文字幕日本| 午夜福利影院私人爽爽| 古代荡乳尤物H妓女调教| 欧美做真爱欧免费看| 99久久国产综合精品成人影院| 精品夜夜澡人妻无码AV| 亚洲男人天堂2018av| 国产这里有精品| 亚洲精品久久午夜麻豆| 好男人好资源在线观看| 亚洲精品免播放器在线观看| 果冻传媒9CM在线观看| 亚洲欧美偷拍视频一区| 果冻传媒视频在线播放| 杨幂视频在线观看1分30秒| 久草大| 2020美女视频黄频大全视频| 免费人成网站永久| 成人国产三级在线播放| 桃花色影院| 黄色软件视频app| 18国产精品白浆在线观看免费| 蜜臀AV精品久久无码99| 99久久综合| 试看2分钟AA片| 国产中文在线观看| 中文字幕不卡在线视频| 男人脱女人衣服吃奶视频| 成人中文字幕在线观看| 丝袜美腿美女被狂躁在线观看| 国产一及毛片| 91精品乱码一区二区三区| 全黄H全肉禁乱公| 国产剧情福利AV一区二区| 樱桃BT在线观看| 欧美乱妇15p图| 国产乱国产乱老熟300部视频|