• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2023-03-27 03:11:03金璐
      科技資訊 2023年4期
      關(guān)鍵詞:性能

      金璐

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

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

      1 XDMA IP 核概述

      Xilinx DMA/Bridge Subsystem for PCI Express?是Xilinx 公司2017 年前后新推出的PCIe FPGA 解決方案[5]。功能上涵蓋了PCIe IP 核、SGDMA 功能、多通道分離,同時(shí)支持AXI 總線訪問等。XDMA 支持Ultra‐Scale+、UltraScale 和Virtex7 XT Gen3,以及7 系列[6]。最高支持4 對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 核可通過AXI Memory Mapped 接口或者通過AXI Streaming 接口來配置,以支持直接連接至RTL 邏輯。在PCIe 地址空間與AXI 地址空間之間可使用所提供的字符驅(qū)動(dòng)程序通過以上任一接口進(jìn)行高性能塊數(shù)據(jù)移動(dòng)。除了基本DMA 功能外,DMA 還支持最多4 條上行和下行通道、支持PCIe 流量繞過DMA 引擎(主機(jī)DMA 旁路),還支持通過可選描述符旁路來管理來自FPGA 互連結(jié)構(gòu)的描述符,以滿足需要最高性能和最低時(shí)延的應(yīng)用的需求。

      2. 2 PCIe Bridge

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

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

      3 XDMA IP 核配置說明

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

      3. 1 PL 端配置說明

      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 即地址映射,用于訪問存儲(chǔ)類的設(shè)備, 另一個(gè) AXI Stream 表示AXI 數(shù)據(jù)流,沒有地址,數(shù)據(jù)直接流入或流出。

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

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

      PCIe to DMA Interface:默認(rèn)選項(xiàng),Host 主機(jī)訪問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,為漏極開路且低電平有效(相應(yīng)的IRQ 應(yīng)編程為電平觸發(fā)方式)。

      3.1.2 ZYNQ7 Processing System 核配置情況

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

      使能M AXI GP0 interface,用于PS 端訪問BRAM使用;使能S AXI HP0 interface,用于PC 端訪問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 端配置說明

      下面介紹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)沒有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 提供的中斷庫文件xscugic.h,以下僅中斷函數(shù)庫提供的函數(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(對應(yīng)IRQ_F2P[15:0]配置個(gè)數(shù),注冊中斷回調(diào)函數(shù))。

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

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

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

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

      3.3.1 DMA Engine

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

      (1)申請一個(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)注冊中斷回調(diào)函數(shù)XDMA_UserIsrRegister。

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

      WDF_INTERRUPT_CONFIG_INIT(&config,EvtInterruptIsr,EvtInterruptDpc)。

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

      (4)HandleUserEvent 函數(shù)。

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

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

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

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

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

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

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

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

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

      猜你喜歡
      性能
      復(fù)合型SBS在改性瀝青中的應(yīng)用性能研究
      石油瀝青(2022年4期)2022-09-03 09:29:56
      CoN-I高模量改性瀝青制備及性能研究
      石油瀝青(2022年1期)2022-04-19 13:10:30
      保暖襪透濕性能測定的不確定度分析
      提供將近80 Gbps的帶寬性能 DisplayPort 2.0正式發(fā)布
      20MnMoNb抗HIC性能及焊接接頭抗SSCC性能的研究
      純電動(dòng)汽車性能仿真
      電子制作(2017年20期)2017-04-26 06:57:35
      PP—g—GMA的制備及其增容PP/PA6共混物的性能
      中國塑料(2016年5期)2016-04-16 05:25:39
      Al-Se雙元置換的基于LGPS的thio-LISICON的制備與性能表征
      580 MPa 級熱軋高擴(kuò)孔鋼的組織與性能
      上海金屬(2015年1期)2015-11-28 06:01:09
      強(qiáng)韌化PBT/PC共混物的制備與性能
      中國塑料(2015年4期)2015-10-14 01:09:28
      乌鲁木齐县| 南康市| 佛山市| 临泉县| 和政县| 葫芦岛市| 兴安盟| 长乐市| 苍溪县| 随州市| 定州市| 梨树县| 黑龙江省| 睢宁县| 东港市| 赤峰市| 准格尔旗| 大港区| 岳普湖县| 尼木县| 肇庆市| 英德市| 自治县| 广河县| 莱阳市| 安图县| 镇康县| 正阳县| 尼木县| 佛学| 龙州县| 郴州市| 仙游县| 凤山市| 都昌县| 城固县| 浦东新区| 噶尔县| 葫芦岛市| 平舆县| 栖霞市|