0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AMD Versal CPM5 QDMA Gen4x8 ST Only Performance Design CED示例

XILINX开发者社区 来源:XILINX开发者社区 2026-03-23 09:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文作者:AMD 工程师 Padmini Boreddy

一文看懂AMD Vivado2024.1 中 “AMD VersalCPM5 QDMA Gen4x8 ST Only Performance Design” CED 示例。

本篇博文演示了在AMD Vivado Design Suite 2024.1 中生成 CPM5_QDMA_Gen4x8_ST_Only_Performance_Design 并使用为 QDMA 提供的驱动程序来运行性能测试的步骤。这是 AMD Versal 自适应 SoC CPM QDMA 端点 (EP) 设计中可用的预设之一。

对于 PL PCIe IP,用户可以使用“Open Example Design”选项来生成示例设计。

此示例设计对于 CPM5 PCIe 不适用;因此改为通过 AMD CED Store GitHub 仓库提供示例设计。如需了解有关 AMD CED Store 的更多详细信息,请访问以下链接:

https://github.com/Xilinx/XilinxCEDStore

注释:性能数据取决于硬件和软件(系统调谐、使用的队列数量等)。如果所得到的性能数据与您的预期不符,请联系您的销售代表或 AMD 技术支持。

生成 Versal 自适应 SoC CPM5 Gen4x8 QDMA 端点设计

步骤 1:启动 Vivado,然后转至“Tools -> Vivado Store”。

7c40a900-2383-11f1-90a1-92fbcf53809c.png

步骤 2:下载最新版本的目录:

选择“Example Designs-> PCIe -> Versal CPM QDMA EP Design”,然后单击“Update”。

7c9d277a-2383-11f1-90a1-92fbcf53809c.png7cf80df2-2383-11f1-90a1-92fbcf53809c.png

步骤 3:从“Quick Start”页面中选择“Open Example Project”。

7d55e6ca-2383-11f1-90a1-92fbcf53809c.png

步骤 4:如下截屏所示,访问 Versal CPM QDMA 端点设计:

7dad4ec4-2383-11f1-90a1-92fbcf53809c.png

步骤 5:根据所选开发板会自动选择“CPM_Config”,针对 VCK190 会选中 CPM4,针对 VPK120 则选中 CPM5。选择 Versal VPK120 评估平台。

7e0dd79e-2383-11f1-90a1-92fbcf53809c.png

步骤 6:对于 CPM5_Preset,请选择

CPM5_QDMA_Gen4x8_ST_Only_Performance_Design。

这是含“Streaming”选项的 Versal CPM5 Gen4x8 QDMA 端点设计。其中已启用 4PF、240VF 和 SRIOV。

7e65f83e-2383-11f1-90a1-92fbcf53809c.png

步骤 7:复查“Project Summary”,确认所选部件和产品家族正确。

7ec3e6e2-2383-11f1-90a1-92fbcf53809c.png

示例设计架构

在其他正常工作的示例设计中,用户逻辑功能要求在用户逻辑专用寄存器中配置包数、包长度和队列 ID,并且需要通过配置特定寄存器来触发包生成。

如需了解更多详情,请参阅本文:运行 Versal 自适应 SoC CPM5 PCIE Gen4x8 QDMA CED 示例设计 :

https://adaptivesupport.amd.com/s/article/000034687?language=zh_CN

ST 性能参考设计包含仅限 AXI4-Stream 的包生成器(适用于 C2H 方向),以及同时适用于 C2H 方向和 H2C 方向的性能测量工具。当存在可用描述符时,该参考设计会生成已知的数据模式(时间戳),并在 C2H 方向上发送用户指定的包长度。此数据模式可由 dma-perf 应用环回到 H2C 方向,并进行性能测量。

以下截屏显示了 CED 的“Sources”层级。cpm_pcie_qdma_ep_wrapper 模块框图包括 cpm_pcie_bridge_ep 块、用于 AXI4-Stream 模式生成器和检查器逻辑的用户控制逻辑,以及实现 C2H 和 H2C 性能计数器逻辑的 axi_st_module。

7f1ecbc0-2383-11f1-90a1-92fbcf53809c.png

以下是“cpm_pcie_qdma_ep.bd”的模块框图:

7f7f4d4c-2383-11f1-90a1-92fbcf53809c.png

CPM5 配置

生成的 Versal CPM5 QDMA Gen4x8 ST Only Performance Design 配置如下:

Gen4x8 DMA 模式

PCIE 控制器 1 配置为含 AXI4-Stream 接口的 QDMA

启用 4PF、240VF 和 SRIOV

内部模式

注释:在此 CED 的 2023.2 及更低版本中,VF 的地址映射存在已知问题。

这在 2024.1 版中已得到修复。如果使用 2023.2 或更低版本,需要使用下图所示的数值更新“PCIe : BARs”选项卡和“SRIOV VF BARs”选项卡,以便在 VF 器件上执行 C2H 和 H2C 传输事务。

7fd70514-2383-11f1-90a1-92fbcf53809c.png

8033d960-2383-11f1-90a1-92fbcf53809c.png

808bc8b4-2383-11f1-90a1-92fbcf53809c.png

80ee9a48-2383-11f1-90a1-92fbcf53809c.png

81466250-2383-11f1-90a1-92fbcf53809c.png

81a3127a-2383-11f1-90a1-92fbcf53809c.png

81fbc672-2383-11f1-90a1-92fbcf53809c.png

8258e190-2383-11f1-90a1-92fbcf53809c.png

82ac97cc-2383-11f1-90a1-92fbcf53809c.png

PS PMC 配置

830ccd7c-2383-11f1-90a1-92fbcf53809c.png

8367102a-2383-11f1-90a1-92fbcf53809c.png

硬件测试

更新 CPM5 IP 配置(如上所述)后,保存设计,然后单击“Generate Device Image”。

将 VPK120 评估板连接到主机 PC。

使用 CED 生成的 PDI 文件对 FPGA 进行烧录。

重新启动主机 PC。

使用“lspci”命令检查端点器件检测情况。

83c5c07a-2383-11f1-90a1-92fbcf53809c.png

QDMA 驱动程序安装

运行以下命令。如需了解更多详情,请参阅:

https://xilinx.github.io/dma_ip_drivers/master/QDMA/linux-kernel/html/build.html

841eca94-2383-11f1-90a1-92fbcf53809c.png

使用 dma-ctl 列出系统中可用的功能,请参阅:

https://xilinx.github.io/dma_ip_drivers/master/QDMA/linux-kernel/html/dmactl.html#device-management-commands

dma-ctl dev list

847e54b4-2383-11f1-90a1-92fbcf53809c.png

SOLUTIPF 上的传输事务

队列分配

84d5f048-2383-11f1-90a1-92fbcf53809c.png


如需了解更多信息,请参阅:
https://xilinx.github.io/dma_ip_drivers/master/QDMA/linux-kernel/html/userguide.html#allocate-the-queues-to-a-function

8536c3d2-2383-11f1-90a1-92fbcf53809c.png

为 C2H 串流模式测试添加和启动队列

如需了解更多信息,请参阅:

https://xilinx.github.io/dma_ip_drivers/master/QDMA/linux-kernel/html/dmactl.html#add-a-queue


https://xilinx.github.io/dma_ip_drivers/master/QDMA/linux-kernel/html/dmactl.html#start-a-queue

8590a6b8-2383-11f1-90a1-92fbcf53809c.png

85eca602-2383-11f1-90a1-92fbcf53809c.png

运行不同传输大小的串流模式 C2H(从设备发出 DMA )测试

如需了解更多信息,请参阅:
https://xilinx.github.io/dma_ip_drivers/master/QDMA/linux-kernel/html/dma_from_device.html


与 CPM QDMA 端点功能测试设计不同,用户无需配置任何寄存器即可初始化数据传输。CED 的 `user_control` 模块会在内部产生报文。

8648ecf0-2383-11f1-90a1-92fbcf53809c.png

为 H2C 串流模式测试添加和启动队列

如需了解更多信息,请参阅:
https://xilinx.github.io/dma_ip_drivers/master/QDMA/linux-kernel/html/dmactl.html#add-a-queue


https://xilinx.github.io/dma_ip_drivers/master/QDMA/linux-kernel/html/dmactl.html#start-a-queue

86a5d244-2383-11f1-90a1-92fbcf53809c.png

86fe41a4-2383-11f1-90a1-92fbcf53809c.png

运行不同传输大小的串流模式 H2C(DMA 到设备)测试

如需了解更多信息,请参阅 :

https://xilinx.github.io/dma_ip_drivers/master/QDMA/linux-kernel/html/dma_to_device.html

877cc150-2383-11f1-90a1-92fbcf53809c.png

运行 dma-perf 应用

“dma-perf”是一款定制工具,用于收集单向和双向流量的性能指标。

可使用“fio”等标准 I/O 工具,通过字符设备接口执行 I/O 操作。但是,大多数工具仅限于每次发送或接收 1 个包,并等待该包处理完成,因此无法使驱动程序或硬件保持足够繁忙以进行性能测量。尽管 fio 也支持异步接口,但它不会在并行轮询完成的同时持续提交 I/O 请求。

“dma-perf”工具会利用 libaio 库提供的异步功能。通过使用 libaio,应用程序可向驱动程序提交 I/O 请求,驱动程序会立即将控制权返回给调用方(即,非阻塞)。完成通知是单独发送的,因此应用程序随后即可轮询完成情况,并在收到完成通知后释放缓冲区。


如需了解有关 dma-perf 工具的更多信息,请参阅 QDMA Linux 内核参考驱动程序用户指南,本指南托管于:

https://xilinx.github.io/dma_ip_drivers/master/QDMA/linux-kernel/html/dmaperf.html

用于串流模式测试的 dma-perf 配置文件包含在 Linux 参考内核驱动程序源文件内,这些源文件托管于https://github.com/Xilinx/dma_ip_drivers的 QDMA/linux-kernel/apps/dma-perf/dmaperf_config 目录下:

C2H 单向:st-c2h-pfetch1.zip

H2C 单向:st-h2c.zip

C2H 和 H2C 双向:st-bi.zip

测试用例 - 1:bi_st_1_1_pfetch-cmptsz1_4096.txt

作为 dma-perf 工具输入的配置文件为测试设置了以下标志:

队列的模式和方向 - 串流,双向

PCI 总线:61,器件 - 00,功能 - 0 (PF),每个方向单个队列 (q_range) - 0 : 0

包数 - 64,每个包大小 - 4096 字节

87d72a78-2383-11f1-90a1-92fbcf53809c.png

使用以下命令搭配 bi_st_1_1_pfetch-cmptsz1_4096.txt 配置执行 dma-perf 测试:

8833bb9e-2383-11f1-90a1-92fbcf53809c.png

qdma-perf 工具负责:

以 H2C 方向的 idx 0 添加和启动 1 个队列

以 C2H 方向的 idx 0 添加和启动 1 个队列

C2H 和 H2C 数据传输

停止并删除已添加的 C2H 和 H2C 队列

收集并显示写入 (H2C) 和读取 (C2H) 性能结果

测试用例 - 2:bi_st_1_4_pfetch-cmptsz1_4096.txt

作为 dma-perf 工具输入的配置文件为测试设置了以下标志:

队列的模式和方向 - 串流,双向

PCI 总线:61,器件 - 00,功能 - 0 (PF),每个方向 4 个队列 (q_range) - 0 : 3

包数 - 64,每个包大小 - 4096 字节

888b0d7c-2383-11f1-90a1-92fbcf53809c.png

使用以下命令搭配 bi_st_1_4_pfetch-cmptsz1_4096.txt 配置执行 dma-perf 测试:

88e7fc62-2383-11f1-90a1-92fbcf53809c.png

qdma-perf 工具负责:

以 H2C 方向的 idx 0-3 添加和启动 4 个队列

以 C2H 方向的 idx 0-3 添加和启动 4 个队列

C2H 和 H2C 数据传输

停止并删除已添加的 C2H 和 H2C 队列

收集并显示写入 (H2C) 和读取 (C2H) 性能结果

VF 上的传输事务

启用 VF 器件

以下命令显示了为 1 个 PF 器件 (BDF: 61:00.0) 启用 2 个 VF 的操作:

893fcf3c-2383-11f1-90a1-92fbcf53809c.png

以下命令列出了这些 PF 器件和 VF 器件:

89a0a7da-2383-11f1-90a1-92fbcf53809c.png

如需了解更多信息,请参阅:
https://xilinx.github.io/dma_ip_drivers/master/QDMA/linux-kernel/html/userguide.html#instantiate-the-virtual-functions

89fc6034-2383-11f1-90a1-92fbcf53809c.png

lspci 命令列出了启用的 PF 器件和 VF 器件,如下所示:

8a5fbe86-2383-11f1-90a1-92fbcf53809c.png

预留 VF 的队列

8ab811a8-2383-11f1-90a1-92fbcf53809c.png

“dma-ctl dev list”给出了预留的队列的数量。

如需了解更多信息,请参阅:
https://xilinx.github.io/dma_ip_drivers/master/QDMA/linux-kernel/html/userguide.html#reserve-the-queues-for-vfs

8b14eea0-2383-11f1-90a1-92fbcf53809c.png

在 VF 上添加和启动双向队列以执行 C2H 和 H2C 串流模式测试

8b695ad0-2383-11f1-90a1-92fbcf53809c.png

8bc72bba-2383-11f1-90a1-92fbcf53809c.png

运行包大小为 64 字节的 C2H 和 H2C 测试

8c2855c0-2383-11f1-90a1-92fbcf53809c.png

在 VF 器件上运行 dma-perf 应用

作为 dma-perf 工具输入的配置文件 vf_bi_st_1_1_pfetch-cmptsz1_4096.txt 为测试设置了以下标志:

队列的模式和方向 - 串流,双向

PCI 总线:61,器件 - 02,功能 - 0 (VF),每个方向单个队列 (q_range) - 0 : 0

vf_perf = 1

包数 - 64,每个包大小 - 4096 字节

8c84cb5c-2383-11f1-90a1-92fbcf53809c.png

使用以下命令搭配 vf_bi_st_1_1_pfetch-cmptsz1_4096.txt 配置执行 dma-perf 测试:

8cd91f90-2383-11f1-90a1-92fbcf53809c.png

qdma-perf 工具负责:

以 H2C 方向的 idx 0 添加和启动 1 个队列

以 C2H 方向的 idx 0 添加和启动 1 个队列

C2H 和 H2C 数据传输

停止并删除已添加的 C2H 和 H2C 队列

收集并显示写入 (H2C) 和读取 (C2H) 性能结果

AMD 自适应 SoC 及 FPGA 中文技术支持社区

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • amd
    amd
    +关注

    关注

    25

    文章

    5703

    浏览量

    140386
  • soc
    soc
    +关注

    关注

    40

    文章

    4619

    浏览量

    230079
  • 驱动程序
    +关注

    关注

    19

    文章

    872

    浏览量

    50713
  • Vivado
    +关注

    关注

    19

    文章

    860

    浏览量

    71383

原文标题:开发者分享 | AMD Vivado™ 2024.1 中 “AMD Versal™ CPM5 QDMA Gen4x8 ST Only Performance Design” CED 示例

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于AMD Versal器件实现PCIe5 DMA功能

    VersalAMD 7nm的SoC高端器件,不仅拥有比16nm性能更强的逻辑性能,并且其PS系统中的CPM PCIe也较上一代MPSoC PS硬核PCIe单元强大得多。本节将基于AMD
    的头像 发表于 06-19 09:44 2000次阅读
    基于<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>器件实现PCIe<b class='flag-5'>5</b> DMA功能

    AMD Versal系列CIPS IP核建立示例工程

    接着上一篇“AMD Versal系列CIPS IP核介绍”文章来进一步讲解如何来建立CIPS IP核示例工程。
    的头像 发表于 12-05 13:34 1745次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>系列CIPS IP核建立<b class='flag-5'>示例</b>工程

    AMD】Physical Design Engineer

    AMD超威半导体上海研发中心招聘 Physical Design Engineer,请有意向者将简历发送到 Cherry.Zhang@amd.com 以及
    发表于 02-28 17:24

    AMD热招 Physical Design Engineer

    AMD超威半导体上海研发中心招聘 Physical Design Engineer,请有意向者将简历发送到 Cherry.Zhang@amd.com 以及
    发表于 02-28 17:27

    AMD】Physical Design Engineer

    scale ASIC chip physical design4. Knowledgeable in all aspects of deep submicron ASIC design flow5
    发表于 03-13 16:45

    AMD热招 Physical Design Engineer

    with 6+ years or Bachelor with 8+ years of industrial experience in ASIC design2. 5+ years or more
    发表于 05-03 10:17

    AMD社招】Physical Design Engineer

    : 1. MSEE with 6+ years or Bachelor with 8+ years of industrial experience in ASIC design 2. 5
    发表于 06-06 17:46

    利用设计网关的 IP 内核在 Xilinx VCK190 评估套件上加速人工智能应用

    6.Figure 6: Performance comparison of NVMe PCIe Gen3 and Gen4 SSD with Design Gateway's NVM
    发表于 11-25 16:29

    PCIe Gen 4/5协议故障注入

    提供针对PCIe Gen 4Gen 5各种接口的测试插卡和模块,包括U.2, U.3, M.2, AIC (x8
    的头像 发表于 10-16 11:11 5556次阅读

    Versal CPM AXI Bridge模式的地址转换

    ,其 CIPS 内使用的是 CPM4。虽然 CPM5CPM4 的地址转换参数都可以在界面中配置,但是 CPM5CPM4 地址转换
    的头像 发表于 05-10 09:47 3614次阅读
    <b class='flag-5'>Versal</b> <b class='flag-5'>CPM</b> AXI Bridge模式的地址转换

    AMD Versal™ Adaptive SoC CPM PCIE PIO EP设计CED示例

    本文可让开发者们看懂 AMD Vivado Design Tool 2023.2 中的“AMD Versal Adaptive SoC CPM
    的头像 发表于 05-10 09:39 1929次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>™ Adaptive SoC <b class='flag-5'>CPM</b> PCIE PIO EP设计<b class='flag-5'>CED</b><b class='flag-5'>示例</b>

    AMD Versal自适应SoC CPM5 QDMA的Tandem PCIe启动流程介绍

    本文将从硬件设计和驱动使用两个方面介绍基于 CPM5 QDMAAMD Versal 自适应 SoC 的 Tandem 设计和启动流程。
    的头像 发表于 09-18 10:07 2942次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自适应SoC <b class='flag-5'>CPM5</b> <b class='flag-5'>QDMA</b>的Tandem PCIe启动流程介绍

    AMD推出第二代Versal Premium系列

    近日,AMD(超威,纳斯达克股票代码:AMD )今日宣布推出第二代 AMD Versal Premium 系列,这款自适应 SoC 平台旨在面向各种工作负载提供最高水平系统加速。第二代
    的头像 发表于 11-13 09:27 1779次阅读

    AMD推出了Versal Premium Series Gen 2,这是业界第一个支持CXL 3.1和PCIe Gen6的FPGA平台。

    AMD推出了Versal Premium Series Gen 2,这是业界第一个支持CXL 3.1和PCIe Gen6的FPGA平台。   AMD
    的头像 发表于 11-21 15:59 2305次阅读
    <b class='flag-5'>AMD</b>推出了<b class='flag-5'>Versal</b> Premium Series <b class='flag-5'>Gen</b> 2,这是业界第一个支持CXL 3.1和PCIe <b class='flag-5'>Gen</b>6的FPGA平台。

    AMD Power Design Manager 2025.1现已推出

    AMD Power Design Manager 2025.1 版(PDM)现已推出——增加了对第二代 AMD Versal AI Edge 和 第二代
    的头像 发表于 07-09 14:33 1377次阅读