999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ZYNQ平臺(tái)的XDMAIP核性能研究

2023-03-27 03:11:03金璐
科技資訊 2023年4期

金璐

關(guān)鍵詞: Xilinx XDMA 數(shù)據(jù)通路 性能

PCIe Gen5 信號(hào)速率已經(jīng)達(dá)到32 Gb/s[1],在數(shù)據(jù)采集、雷達(dá)通信、遙感探測(cè)等領(lǐng)域,數(shù)據(jù)量的日益增大和數(shù)據(jù)處理的日益復(fù)雜化,使高速數(shù)據(jù)傳輸逐漸成為通信系統(tǒng)設(shè)計(jì)中的關(guān)鍵點(diǎn)[2]。XDMA 是Xilinx 系列FPGA 中官方自帶的PCIe“高級(jí)”IP[3],所謂的“高級(jí)”指的就是XDMA 操作層面比較“高級(jí)”,其操作層面主要在應(yīng)用層,簡(jiǎn)單來(lái)說(shuō),在FPGA 例化配置完以后基本上不需要FPGA 在邏輯層面上進(jìn)行過(guò)多的操作[4],F(xiàn)PGA 只需要對(duì)Host 主機(jī)進(jìn)行中斷觸發(fā)操作即可,所有的DMA 操作完全由Host 主機(jī)通過(guò)PCIe 配置XDMA的寄存器來(lái)實(shí)現(xiàn)。

1 XDMA IP 核概述

Xilinx DMA/Bridge Subsystem for PCI Express?是Xilinx 公司2017 年前后新推出的PCIe FPGA 解決方案[5]。功能上涵蓋了PCIe IP 核、SGDMA 功能、多通道分離,同時(shí)支持AXI 總線訪問(wèn)等。XDMA 支持Ultra‐Scale+、UltraScale 和Virtex7 XT Gen3,以及7 系列[6]。最高支持4 對(duì)Host-to-Card(H2C)和Card-to-Host(C2H)數(shù)據(jù)通道。

2 XDMA IP 核結(jié)構(gòu)

該IP 核的主要功能就是完成Host 主機(jī)和FPGA 之間完成PCIe 接口的數(shù)據(jù)傳輸。配置部分主要分為DMA 配置和PCIe Bridge 配置這兩個(gè)部分具體描述如下(如圖1 所示)。

2. 1 DMA 配置

XDMA IP 核可通過(guò)AXI Memory Mapped 接口或者通過(guò)AXI Streaming 接口來(lái)配置,以支持直接連接至RTL 邏輯。在PCIe 地址空間與AXI 地址空間之間可使用所提供的字符驅(qū)動(dòng)程序通過(guò)以上任一接口進(jìn)行高性能塊數(shù)據(jù)移動(dòng)。除了基本DMA 功能外,DMA 還支持最多4 條上行和下行通道、支持PCIe 流量繞過(guò)DMA 引擎(主機(jī)DMA 旁路),還支持通過(guò)可選描述符旁路來(lái)管理來(lái)自FPGA 互連結(jié)構(gòu)的描述符,以滿足需要最高性能和最低時(shí)延的應(yīng)用的需求。

2. 2 PCIe Bridge

接收到PCIe 數(shù)據(jù)包將被轉(zhuǎn)換為AXI 流量,接收到的AXI 流量則將被轉(zhuǎn)換為PCIe 流量。橋接功能適合需要快速且輕松地訪問(wèn)PCI Express 子系統(tǒng)的AXI 外設(shè)使用。橋接功能可用作為端點(diǎn)(Endpoint)或根端口(Root Port)。

讀寫(xiě)部分分為兩種:一種是數(shù)據(jù)的讀寫(xiě),DMA 通過(guò)MIG 控制DDR 完成數(shù)據(jù)讀寫(xiě);另一種是配置數(shù)據(jù)的讀寫(xiě),通過(guò)AXI-lite 總線與BRAM 連接后,XDMA 將PCIe 配置信息存在BRAM。

3 XDMA IP 核配置說(shuō)明

配置說(shuō)明主要包括3 個(gè)部分來(lái)介紹XDMA IP 的使用方式,分別是PL 端的配置說(shuō)明、PS 端的配置說(shuō)明及XDMA 驅(qū)動(dòng)相關(guān)設(shè)計(jì)。

3. 1 PL 端配置說(shuō)明

PL 端搭建最基本的Block Design,如圖2 所示,該設(shè)計(jì)使用的軟件版本是Vivado 2020.2。

其中DMA/Bridge Subsystem for PCI Express 核與ZYNQ7 Processing System 的相關(guān)配置情況如下。

3.1.1 DMA/Bridge Subsystem for PCI Express 核配置情況

(1)Basic 項(xiàng)。lane width 表示PCIe 通信并行數(shù)據(jù)寬度,設(shè)計(jì)中使用的ZYNQ7 最高只支持X4,兼容情況需考慮Host 主機(jī)的PCI 卡槽最大支持。

link speed 選擇最大的,這里的IP 核都是PCIe 2.0協(xié)議的。

AXI clock 是AXI 總線時(shí)鐘頻率,選125 M。

DMA interface 是AXI Memory Mapped 即地址映射,用于訪問(wèn)存儲(chǔ)類(lèi)的設(shè)備, 另一個(gè) AXI Stream 表示AXI 數(shù)據(jù)流,沒(méi)有地址,數(shù)據(jù)直接流入或流出。

(2)PCIe ID 項(xiàng)。這里是一些廠商ID、設(shè)備ID 等配置,保持默認(rèn)即可,否則對(duì)應(yīng)驅(qū)動(dòng)需要修改INF 文件。

(3)PCIe:BARs 項(xiàng)。PCIe to AXILite Master Interface:XDMA 作為PCI-AXI 橋接器時(shí),Host 主機(jī)可以通過(guò)XDMA 訪問(wèn)PL 端的BRAM,值得注意的是PCIe toAXI Translation 需要PC 與PL 端商定,否則訪問(wèn)地址會(huì)出現(xiàn)偏差。

PCIe to DMA Interface:默認(rèn)選項(xiàng),Host 主機(jī)訪問(wèn)DDR 的方式如下 Host->XDMA->PS->DDR。

PCIe to DMA Bypass Interface:不做勾選,如勾選則IP 核僅作為PCIe 使用,如需使用DMA 功能,可另行添加定制DMA 核配合使用。

(4)PCIe:MISC 項(xiàng)。

User Interrupts:這里選擇2 個(gè),即PL2PC 的中斷一共兩個(gè)。

Legacy Interrupt Settings:這種使用的INTA,為漏極開(kāi)路且低電平有效(相應(yīng)的IRQ 應(yīng)編程為電平觸發(fā)方式)。

3.1.2 ZYNQ7 Processing System 核配置情況

(1)PS-PL 配置項(xiàng)。

使能M AXI GP0 interface,用于PS 端訪問(wèn)BRAM使用;使能S AXI HP0 interface,用于PC 端訪問(wèn)DDR使用。

(2)MIO 配置項(xiàng)。

使能Quad SPI Flash,固化程序;使能UART1,用于調(diào)試輸出。

(3)Interrupt 配置項(xiàng)。

使能IRQ_F2P[15:0]選項(xiàng),用于PL 端到PS 端的中斷觸發(fā)通路,具體PS 端的中斷響應(yīng)后面會(huì)進(jìn)行描述。

3. 2 PS 端配置說(shuō)明

下面介紹PS 端搭建設(shè)置,Vivado2020.2 與以往的Vivado 版本不同需要手動(dòng)關(guān)聯(lián). xsa 文件,具體流程如下。

3.2.1 Export Hardware

生成bit 文件后,F(xiàn)ile->Export,在這個(gè)界面下可以看到Vivado2020.2 這個(gè)版本已經(jīng)沒(méi)有SDK 的啟動(dòng)選項(xiàng)了,Include bitstream 文件->Next。

3.2.2 生成xsa 文件

文件生成路徑選擇默認(rèn)路徑,項(xiàng)目根目錄下->Next,即可生成文件。

3.2.3 創(chuàng)建Demo 工程

后面根據(jù)需要?jiǎng)?chuàng)建工程即可,這里創(chuàng)建了一個(gè)Hello World 基礎(chǔ)工程。

3.2.4 添加中斷觸發(fā)函數(shù)

由于使用到PL 端到PS 端中斷觸發(fā),所以需要在main.c 中添加PL 中斷的觸發(fā)函數(shù),這里使用到了SDK 提供的中斷庫(kù)文件xscugic.h,以下僅中斷函數(shù)庫(kù)提供的函數(shù)變量和函數(shù)體,具體操作可自行查閱資料,默認(rèn)即可。在該設(shè)計(jì)中使用的到函數(shù)具體介紹如下。

(1)產(chǎn)生一個(gè)中斷控制器實(shí)例——XScuGic。

(2)中斷控制器配置實(shí)例——XScuGic_Config。

(3)找到scugic 實(shí)體——XScuGic_LookupConfig。

(4)初始化scugic——XScuGic_CfgInitialize。

(5)Xilinx 提供的通用異常處理程序——Xil_ExceptionRegisterHandler。

(6)中斷處理函數(shù)——XScuGic_InterruptHandler(中斷方式為查表方式)。

(7)使能異常處理——Xil_ExceptionEnable。

(8)連接到自己定義的中斷處理函數(shù)——XScuGic_Connect(對(duì)應(yīng)IRQ_F2P[15:0]配置個(gè)數(shù),注冊(cè)中斷回調(diào)函數(shù))。

(9)設(shè)立的中斷實(shí)例——XScuGic_Enable。

基本流程為:初始化中斷控制器→建立中斷→注冊(cè)特定的中斷→寫(xiě)中斷處理函數(shù)。PL 到PS 的中斷就完成了。

3. 3 XDMA 驅(qū)動(dòng)設(shè)計(jì)說(shuō)明

下面介紹PL 到PC 的中斷控制搭建,需要結(jié)合XDMA 驅(qū)動(dòng)說(shuō)明,該設(shè)計(jì)中使用的是Xilinx 官方提供的驅(qū)動(dòng)文件,編譯環(huán)境是VS2017,針對(duì)Win10 平臺(tái)編譯,這里僅講解XDMA 驅(qū)動(dòng)通路設(shè)計(jì)原理,不進(jìn)行過(guò)多的邏輯編程。pg195-pcie-dma 提到,XDMA 模塊中的DMA 操作以描述符形式。

3.3.1 DMA Engine

XDMA 驅(qū)動(dòng)中的DMA Engine Framework 使用的也是描述符操作,基本操作步驟如下。

(1)申請(qǐng)一個(gè)DMA Channel。

(2)根據(jù)設(shè)備(Slave)特性,配置DMA Channel。

(3)要進(jìn)行DMA 傳輸?shù)臅r(shí)候,獲取一個(gè)用于識(shí)別該次傳輸?shù)拿枋龇╠escriptor)。

(4)將該次傳輸提交給dma engine 并啟動(dòng)傳輸。

(5)等待傳輸結(jié)束。

(6)然后,重復(fù)3~5 次即可。

3.3.2 User interrupt

(1)注冊(cè)中斷回調(diào)函數(shù)XDMA_UserIsrRegister。

(3)注冊(cè)中斷ISR 和DPC 的回調(diào)函數(shù)。

WDF_INTERRUPT_CONFIG_INIT(&config,EvtInterruptIsr,EvtInterruptDpc)。

(3)中斷DPC 處理函數(shù)EvtInterruptDpc。

(4)HandleUserEvent 函數(shù)。

4 具體測(cè)試方案結(jié)果及結(jié)論

如圖3 所示,針對(duì)BRAM 測(cè)試結(jié)果如下。

bypass mode:64 bytes≈0.000058s,lite mode 與bypassmode 測(cè)試速率一樣。

如圖4 所示,針對(duì)DDR 測(cè)試結(jié)果如下。

XDMA X1Gen2 模式(PS DDR)讀取速率 400 MB/s左右,寫(xiě)入速率340 MB/s 左右。

XDMA X2Gen2 模式(PS DDR)讀取速率 600 MB/s左右,寫(xiě)入速率640 MB/s 左右。

XDMA X2Gen2 PC 全速讀取PL DDR 速率(PLDDR),讀取速率670 MB/s 左右。

XDMA X2Gen2 PL 讀寫(xiě)PL DDR 時(shí),PC 讀取PLDDR 速率(PL DDR),讀取速率360 MB/s 左右。

PCIE X1Gen2 模式的理論速率是500 MB/s,X2Gen2 模式的理論速率是1 GB/s,XDMA 實(shí)測(cè)結(jié)果達(dá)到PCIe 的理論數(shù)值的70% 左右。

主站蜘蛛池模板: 99热国产这里只有精品9九| 国产主播一区二区三区| 亚洲动漫h| 亚洲综合激情另类专区| 国产精品无码翘臀在线看纯欲| 99热这里只有精品国产99| 久久香蕉国产线看观看亚洲片| 国产精品免费入口视频| 久久国产毛片| 天堂在线视频精品| a亚洲视频| 亚洲成人精品在线| 少妇精品网站| 久青草网站| jizz在线免费播放| 精品一区二区无码av| 2019国产在线| 一区二区自拍| 欧美在线精品怡红院| 亚洲欧美一区在线| 亚洲一区二区精品无码久久久| 午夜毛片免费观看视频 | 不卡无码网| 欧美a在线视频| 色综合久久88色综合天天提莫 | 热久久国产| 国产乱子伦无码精品小说| 国产成人精品男人的天堂下载| 国产成人免费| 免费无遮挡AV| 国产高清在线观看| 国产综合网站| 国产对白刺激真实精品91| 国产系列在线| 激情乱人伦| 色婷婷亚洲综合五月| 国产欧美日韩另类| 中文字幕av无码不卡免费| 免费A级毛片无码无遮挡| 成人免费一区二区三区| 国产专区综合另类日韩一区| 欧美一级夜夜爽| 乱人伦99久久| 视频二区中文无码| 米奇精品一区二区三区| 国产日本视频91| 欧洲精品视频在线观看| 亚洲av无码久久无遮挡| 国产女人18毛片水真多1| 毛片在线看网站| 国产99久久亚洲综合精品西瓜tv| 久久综合国产乱子免费| 国产丝袜啪啪| 影音先锋丝袜制服| 在线欧美a| 久久中文电影| 国产情侣一区二区三区| 99伊人精品| 国产视频一区二区在线观看 | 成人福利在线观看| 99尹人香蕉国产免费天天拍| 日本在线视频免费| 一区二区影院| 天天视频在线91频| 欧美日韩91| 毛片久久网站小视频| 国产成人精品一区二区三在线观看| 国产精品久久久精品三级| 中日韩一区二区三区中文免费视频 | 2021国产v亚洲v天堂无码| 嫩草在线视频| 亚洲欧美激情另类| 97在线公开视频| 热久久综合这里只有精品电影| 欧美一区二区人人喊爽| 国产精品亚洲а∨天堂免下载| 国产精品无码AV中文| 国产成人免费手机在线观看视频 | 亚洲不卡av中文在线| 国产99久久亚洲综合精品西瓜tv| 91av成人日本不卡三区| 国产免费久久精品99re不卡|