<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

Versal CPM AXI Bridge模式的地址轉換

XILINX開發者社區 ? 來源:XILINX開發者社區 ? 2023-05-10 09:47 ? 次閱讀

本文來自 AMD XILINX 工程師 Fancheng Meng

1Versal 設備的 Axi bridge mode

Versal 系列的 DMA axi bridge 模式可以在 PL 的 QDMA IP 或者在 CPM(The integrated block for PCIe Rev. 4.0 with DMA and CCIX Rev. 1.0)的 QDMA IP 中選中,CPM 內嵌在CIPS (Control Interfaces and Processing System) 中。不同系列的 Versal 的產品可支持的 PCIE 最高速率不同,能夠支持PCIE5.0協議的產品,例如 VPK120,其 CIPS 內使用的是 CPM5,而只能支持到 PCIE 4.0 協議的產品,例如 VCK190,其 CIPS 內使用的是 CPM4。雖然 CPM5 和 CPM4 的地址轉換參數都可以在界面中配置,但是 CPM5 與 CPM4 地址轉換的配置方式相差很大。如果要在 Versal 系列設備的 PL 中使用 AXI bridge mode,需要打開QDMA的IP, 選擇axi bridge mode。這一點與 Ultrascale 系列不同,Ultrascale 系列設備的 axi bridge mode 需要在 XDMA IP 中打開。

2CPM4 AXI bridge mode 的地址轉換

如何將 AXI 地址轉換為 pcie 地址?
在 CPM4 的 GUI 配置界面中,通過配置 AXIBAR 的參數,來實現將 AXI4 memory map (MM) 的地址范圍映射到 PCIe的地址范圍。在Vivado 2022.1中打開block design,在block design中添加 CIPS IP。在配置 CPM 時,在 PCIe Controller 0 mode 中選擇 DMA,在 Lane width 中選擇 PCIE lane 的數目。

373972d4-ee6f-11ed-90ce-dac502259ad0.png

在 CPM4 PCIE Controller 0 Configuration interface 中,在 Basic、Capabilities 和 legacy/MSI Cap 等界面中選擇所需的參數,然后打開 AXI:BARs 界面:

375c560a-ee6f-11ed-90ce-dac502259ad0.png

選擇 AXI bar 的數量,AXI bar 的數量取決于用戶需要幾段地址映射,想要將幾段 AXI 的地址域映射到 PCIE 域,就選擇幾個 bar。在進行地址映射時,可以選擇將 AXI 地址映射到32位的PCIE 地址或64位的 PCIE 地址,如果想要映射到 32bit 的 PCIE 地址,在 AXI to PCIE Translation 選項中,32到64位需要配為零,以生成32位地址的 TLP包,如果想要將 AXI 地址映射到64位的 PCIE 地址,需要把 AXI to PCIE Translation 的32到64位需要配成非0,才能生產64位地址的TLP包。Aperture base address 和 Aperture High address 分別填寫映射到 PCIe 地址域的 AXI 的起始地址和結束地址,以下通過舉例分別對 AXI 地址映射到32位和64位 PCIE 地址,這兩種情況進行說明。

示例1

示例1是將 AXI 地址映射到32位的 PCIe 地址,使用下圖所配置的參數,可以將 AXI 地址150000-15FFFF 映射到 PCIE 地址 100000-10FFFF。如果發送地址為 150001的 AXI 數據包,則該 IP 會將其轉換為地址為 100001 的 PCIe 數據包。

377536b6-ee6f-11ed-90ce-dac502259ad0.png3798edb8-ee6f-11ed-90ce-dac502259ad0.png

根據 AXI 地址域的大小,AXI to PCIE Translation 的位0-11位必須設置為零。

示例2
示例2是將 AXI 地址映射到64位 PCIe 地址,使用下面的參數,可以把 AXI 的地址 0X120000000000-0x13FFFFFFFFFF 映射到PCIe地址0X200000000000-0X21FFFFFFFFFF。當發送AXI 數據包的地址為 0X12FFFFFFFFFF 時,該 IP 會將地址為0X12FFFFFFFFFF 的 AXI 數據包轉換為地址為 0X20FFFFFFFFFF 的 PCIe 數據包。

37ae2b42-ee6f-11ed-90ce-dac502259ad0.png

3PL Axi bridge mode 的地址轉換

在 block design 中打開 QDMA IP,在 IP 的 function mode 中選擇 axi bridge mode,在切換到 axi bridge mode 即可看到如下圖所示,在 GUI 界面中多了 AXI:BARs 選項,可以在下面選項中選擇是否使用地址轉換。

37cca446-ee6f-11ed-90ce-dac502259ad0.png

如果要使用地址轉換功能,不要勾選上圖選項。在進行地址轉換時,地址的高位,以及轉換的空間大小都需要在 block design 的 address editor 中選擇,本次示例所選擇的地址高位為 AB0_0000_0000,空間大小為 32G,具體配置如下圖所示,起始地址、結束地址和空間大小分別是 AB0_0000_0000,AB7_FFFF_FFFF,32g。

37ed59c0-ee6f-11ed-90ce-dac502259ad0.png

在進行完以上配置后,32GB 的空間就被平均分成了8份。在 AMD Xilinx 的手冊中,通常稱之為 window,每個 window 的大小是固定的 4GB,每個 window 的 AXI 起始地址和結束地址也固定了。用戶可選擇的是使用哪幾個 window,以及每個 window 使用多少空間。如何對每個 window 進行配置呢?在PG344 上對此有所解釋,AXI 的地址轉換的細節是基于 BDF table 進行配置,BDF table 可以理解為 AXI 地址域到 PCIE 地址域的地址轉換配置表,這張表可以通過 s_axil_csr_*. 接口進行配置,CSR 接口如下圖所示,這個接口在 IP 配置界面中是可以選中的。

38135d28-ee6f-11ed-90ce-dac502259ad0.png

每個 window 都有6個寄存器與之對應,如果想要 window 生效,需要對這6個寄存器進行配置,第一個 window 的 6 個寄存器如下所示:
a. 0x2420
b. 0x2424
c. 0x2428
d. 0x242C
e. 0x2430
f. 0x2434

之后每個 window 的起始地址為 0x2420 + (0x20 * i),i 表示第幾個 window。6個寄存器代表的含義如下表所示:

3831eb94-ee6f-11ed-90ce-dac502259ad0.png

本篇 blog 通過 2個 window 的配置流程對此機制進行說明,Window 0 的大小為 4KB ,Window 1 的大小為 4GB。 Window0 將 AXI 地址的 0x0000_0AB0_0000_0000-0x0000_0AB0_0000_0FFF 轉換到 PCIE 的地址 0x0000_0AB7_1234_0000-0x0000_0AB7_1234_0FFF。 Window1 將 AXI 地址的 0x0000_0AB1_0000_0000-0x0000_0AB1_FFFF_FFFF轉換到 PCIE 地址的 0x0000_0AB5_0000_0000-0x0000_0AB5_FFFF_FFFF。
Window0 的 BDF table 配置如下:

384c1c8a-ee6f-11ed-90ce-dac502259ad0.png

如果 AXI 包的地址為 0x0000_0 AB 0_0000_0100,經 window0 轉換后的 PCIE 包的地址為 0x0000_0AB7_1234_0100。
Window1 的 BDF table 配置如下:

386356e8-ee6f-11ed-90ce-dac502259ad0.png

如果 AXI 包的地址為 0x0000_0AB1_0000_0100,經 window1 轉換后的 PCIE 包的地址為 0x0000_0AB5_0000_0100。

審核編輯:湯梓紅

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

    關注

    25

    文章

    5222

    瀏覽量

    132727
  • Xilinx
    +關注

    關注

    70

    文章

    2121

    瀏覽量

    119510
  • Bridge
    +關注

    關注

    0

    文章

    15

    瀏覽量

    11820
  • 地址轉換
    +關注

    關注

    0

    文章

    2

    瀏覽量

    5600
  • Versal
    +關注

    關注

    1

    文章

    151

    瀏覽量

    7547

原文標題:開發者分享|Versal CPM AXI Bridge 模式的地址轉換

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Xilinx zynq AXI總線全面解讀

    4 版本。 AXI總線 ZYNQ有三種AXI總線: (A)AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址
    的頭像 發表于 12-04 12:22 ?6380次閱讀
     Xilinx zynq <b class='flag-5'>AXI</b>總線全面解讀

    axi_pcie3_0編譯的解決辦法?

    。ncvlog:* F,MAXERR:達到最大錯誤計數(5)。source_verilog.f是這樣的文件列表:../axi_bridge/14.4/axi_pcie3_0/ip_2/source
    發表于 07-25 11:26

    如何用zedboard創建一個AXI接口應用程序?

    大家好,我正在使用zedboard創建一個AXI接口應用程序,以突發模式從ARM發送64字節數據到FPGA。為此,我在vivado中創建了一個自定義AXI從站,選擇它作為AXI FUL
    發表于 08-12 10:37

    AXI接口協議詳解

    4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允許最大256輪的數據突發傳輸;AXI
    發表于 04-08 10:45

    ARM地址轉換單元規范

    Arm?地址轉換單元(ATU)允許您將在子系統內存空間中啟動的傳出事務的邏輯地址(LA)轉換為系統內存中的物理地址(PA)。 ATU使您能夠
    發表于 08-09 06:19

    AXI 總線和引腳的介紹

    1、AXI 總線通道,總線和引腳的介紹 AXI接口具有五個獨立的通道: (1)寫地址通道(AW):write address channel (2)寫數據通道( W): write data
    發表于 01-05 08:13 ?9727次閱讀
    <b class='flag-5'>AXI</b> 總線和引腳的介紹

    AXI4接口協議的基礎知識

    AXI-4 Memory Mapped也被稱之為AXI-4 Full,它是AXI4接口協議的基礎,其他AXI4接口是該接口的變形??傮w而言,AXI
    的頭像 發表于 09-23 11:20 ?5574次閱讀
    <b class='flag-5'>AXI</b>4接口協議的基礎知識

    何謂 AXI?關于AXI3/AXI4的相關基礎知識

    引言 近來,幾乎每個賽靈思 IP 都使用 AXI 接口。Zynq、Zynq MP、MicroBlaze 和全新的 Versal 處理器都無一例外使用 AXI 接口。因此,AXI 接口已
    的頭像 發表于 09-27 11:06 ?6001次閱讀
    何謂 <b class='flag-5'>AXI</b>?關于<b class='flag-5'>AXI</b>3/<b class='flag-5'>AXI</b>4的相關基礎知識

    zynq中AXI4的五種互聯結構介紹

    互聯結構包括直通模式、只轉換模式、N-1互聯模式、N-M互聯模式。 1. 直通模式 當只有一個主
    的頭像 發表于 11-16 17:39 ?3203次閱讀
    zynq中<b class='flag-5'>AXI</b>4的五種互聯結構介紹

    你必須了解的AXI總線詳解

    -Stream 的轉換 AXI-FIFO-MM2S:實現從 PS 內存到 PL 通用傳輸通道 AXI-GP-----AXI-Stream 的轉換 A
    的頭像 發表于 10-09 18:05 ?6653次閱讀
    你必須了解的<b class='flag-5'>AXI</b>總線詳解

    Versal中通過NoC從PS-APU對AXI BRAM執行基本讀寫操作

    本篇博文旨在演示如何通過 NoC 從 Versal 應用處理單元 (APU) 訪問 AXI BRAM。
    的頭像 發表于 11-09 10:24 ?465次閱讀

    AXI實戰(二)-AXI-Lite的Slave實現介紹

    可以看到,在AXI到UART中,是通過寄存器和FIFO進行中介的。因為從AXI總線往里看,其控制的是就是地址上所映射的寄存器。
    的頭像 發表于 06-27 10:12 ?2579次閱讀
    <b class='flag-5'>AXI</b>實戰(二)-<b class='flag-5'>AXI</b>-Lite的Slave實現介紹

    用于PCI Express v2.1的Versal ACAP CPM模式產品指南

    電子發燒友網站提供《用于PCI Express v2.1的Versal ACAP CPM模式產品指南.pdf》資料免費下載
    發表于 09-13 11:44 ?0次下載
    用于PCI Express v2.1的<b class='flag-5'>Versal</b> ACAP <b class='flag-5'>CPM</b><b class='flag-5'>模式</b>產品指南

    AXI傳輸數據的過程

    AXI-Stream,其中AXI-Lite和AXI-Full都是基于memory map的形式實現數據傳輸(即包括地址總線),而AXI-St
    的頭像 發表于 10-31 15:37 ?494次閱讀
    <b class='flag-5'>AXI</b>傳輸數據的過程

    AMD Versal? Adaptive SoC CPM PCIE PIO EP設計CED示例

    本文可讓開發者們看懂 AMD Vivado Design Tool 2023.2 中的“AMD Versal Adaptive SoC CPM PCIE PIO EP 設計”CED 示例。?
    的頭像 發表于 05-10 09:39 ?120次閱讀
    AMD <b class='flag-5'>Versal</b>? Adaptive SoC <b class='flag-5'>CPM</b> PCIE PIO EP設計CED示例
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>