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

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

3天内不再提示

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

安富利 来源:安富利 2025-06-19 09:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本期文章《基于AMD Versal器件实现PCle5 DMA功能》,诚邀您率先了解如何利用Versal强大性能实现高速数据传输!

序言

Versal是AMD 7nm的SoC高端器件,不仅拥有比16nm性能更强的逻辑性能,并且其PS系统中的CPM PCIe也较上一代MPSoC PS硬核PCIe单元强大得多。本节将基于AMD官方开发板展示如何快速部署PCIe5x8及DMA功能。

1测试环境

Vivado版本:2023.2/2024.2,在windows10或者ubuntu22.04

实验板卡:VPK120

上位机主板:EPYC9124超微主板

上位机系统:Ubuntu20.04/24.04

2Vivado工程生成

File->Project->Open Example

e6f314e8-476c-11f0-b715-92fbcf53809c.png

选择Versal CPM QDMA EP Design

e6ff1f22-476c-11f0-b715-92fbcf53809c.png

选择名称以后,选择器件,注意选择MHP

e70a0ef0-476c-11f0-b715-92fbcf53809c.png

打开CPM5 QDMA Gen5x8 MM Performance Design,然后finish即可

e718b3a6-476c-11f0-b715-92fbcf53809c.png

3BD工程介绍与配置

e72caf32-476c-11f0-b715-92fbcf53809c.png

可以看到从CIPS IP中出现两个CPM_PCIE_NOC口去访问两边的DDR

1)数据访问架构:

在VPK120上有两个CPM控制器0与1,控制器1访问数据的路径有以下三种:ST_CPM2PL、MM_CPM2NoC、MM_CPM2PL,本次示例用两个MM_CPM2NoC,通过NoC直接从DDR中搬运数据。

e739f0e8-476c-11f0-b715-92fbcf53809c.png

2)相关端口

为什么开两个?

下图是MM_CPM2NoC接口,看CPM2NoC接口的位宽与带宽,由于走的是NoC,所以其单个接口的理论带宽是128bit x 1000M(NoC运行频率)=16GB,而PCIe5x8的理论带宽是32GB/s,为此至少需要两个MM端口,又由于担心DDR访问影响,所以demo中两个端口同时去访问两组DDR,保证带宽尽量不受DDR的影响。

e74e65c8-476c-11f0-b715-92fbcf53809c.png

为什么选用MM接口,而不是ST接口?

根据ds959手册以及PG347手册,ST模式下由于只会有一组ST_CPM2PL接口,而且位宽是512bit,所以理论上要到达PCIe5x8的带宽,是需要时钟跑到500M,但由于器件限制,其时钟最高是433M,实际综合下来时序收敛挑战很大。

e75fa1e4-476c-11f0-b715-92fbcf53809c.png

3)细节配置

注意:CPM控制器0的数据路径不如控制器1多,少了MM_CPM2PL,为此这里选择控制器1。

如果要实现两路PCIe5x8,则需要将棕色框两个接口勾选上。

e770db6c-476c-11f0-b715-92fbcf53809c.png

选择QDMA模式下的AXI MM,根据硬件结构选择Lane翻转。

e781c92c-476c-11f0-b715-92fbcf53809c.png

选择bar空间

1:是主要的数据路径接口;

2:类似于之前XDMA挂载寄存器的方式。

e79554a6-476c-11f0-b715-92fbcf53809c.png

转向器选择:这里默认只选择CPM2NoC0,这个后续通过Host profile来指定使用两个CPM2NoC接口

e7a54d3e-476c-11f0-b715-92fbcf53809c.png

4实际运行配置

在配置完后,直接编译后,进入实操环节

安装驱动

参考《pg347》的Using the Provided Software and Drivers章节

#下载驱动源码,注意最好跟vivado版本对应上,master是最新的,对应vivado2024.1/2

git clone https://github.com/Xilinx/dma_ip_drivers.git

#如果之前已经加载过驱动,则先删除驱动

rmmod qdma_pf

rm -rf dma_ip_drivers

#清理+编译

make clean & make

make install

modprobe qdma-pf #安装驱动

lspci -vvv -d 10ee: #查看设备节点是否存在

配置host profile

参考《pg347》的Host profile章节以及下面的链接

https://adaptivesupport.amd.com/s/article/000035811?language=en_US

是通过相关设备节点配置寄存器

e7c419c6-476c-11f0-b715-92fbcf53809c.png

执行CFG启动测试

CFG相关参考:

https://adaptivesupport.amd.com/s/article/Understanding-the-Versal-CPM5-QDMA-Gen4x8-ST-Only-Performance-Design-CED-Example-in-Vivado-2023-2?language=en_US

可以看到能够到25GB/s左右

e7d27f20-476c-11f0-b715-92fbcf53809c.png

5总结

AMD Versal器件CPM单元集成了硬核QDMA功能,只需使用少量逻辑便能实现PCIe Gen5高带宽数据传输。同时官方也集成好了dma-perf等测试程序以及相关驱动,可以快速地进行验证与产品化,但需要注意的是MM模式的优劣以及性能影响因素,比如DDR、NoC带宽等,不是所有应用都适用,适当在ST与MM模式下做选择,可以帮助实现更高的性能。如果想在一个VP1202上实现两个PCIe5x8 MM,如果想在一个VP1202上实现两个PCIe5x8 MM,您可发送邮件至此邮箱寻求技术支持:AMD-xilinxchina@avnet.com。

关于安富利

安富利是全球领先的技术分销商和解决方案提供商,在过去一个多世纪里一直秉持初心,致力于满足客户不断变化的需求。通过遍布全球的专业化和区域化业务覆盖,安富利可在产品生命周期的每个阶段为客户和供应商提供支持。安富利能够帮助各种类型的公司适应不断变化的市场环境,在产品开发过程中加快设计和供应速度。安富利在整个技术价值链中处于中心位置,这种独特的地位和视角让其成为了值得信赖的合作伙伴,能够帮助客户解决复杂的设计和供应链难题,从而更快地实现营收。

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

    关注

    25

    文章

    5647

    浏览量

    138997
  • soc
    soc
    +关注

    关注

    38

    文章

    4514

    浏览量

    227548
  • 开发板
    +关注

    关注

    25

    文章

    6121

    浏览量

    113144
  • Vivado
    +关注

    关注

    19

    文章

    846

    浏览量

    70454

原文标题:基于AMD Versal器件实现PCIe5 DMA功能

文章出处:【微信号:AvnetAsia,微信公众号:安富利】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AMD 7nm Versal系列器件NoC的使用及注意事项

    AMD 7nm Versal系列器件引入了可编程片上网络(NoC, Network on Chip),这是一个硬化的、高带宽、低延迟互连结构,旨在实现可编程逻辑(PL)、处理系统(PS
    的头像 发表于 09-19 15:15 2126次阅读
    <b class='flag-5'>AMD</b> 7nm <b class='flag-5'>Versal</b>系列<b class='flag-5'>器件</b>NoC的使用及注意事项

    【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速平台之 Versal 介绍(2)

    【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速平台之 Versal 介绍,以及Versal 芯片开发流程的简介。
    的头像 发表于 03-07 16:03 2440次阅读
    【ALINX 技术分享】<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> AI Edge 自适应计算加速平台之 <b class='flag-5'>Versal</b> 介绍(2)

    《电子发烧友电子设计周报》聚焦硬科技领域核心价值 第16期:2025.06.16--2025.06.20

    功能的实际应用 6、基于AMD Versal器件实现PCIe5
    发表于 06-20 19:50

    PCIe DMA设计实现

    PCI Express Endpoint Master DMA.1. Master DMA位于FPGA内部,FPGA执行DMA操作,主要包括两大功能
    发表于 01-10 20:36

    PCIE DMA例子

    Xilinx FPGA工程例子源码:PCIE DMA例子
    发表于 06-07 14:13 53次下载

    Versal CPM AXI Bridge模式的地址转换

    Versal 系列的 DMA axi bridge 模式可以在 PL 的 QDMA IP 或者在 CPM(The integrated block for PCIe Rev. 4.0
    的头像 发表于 05-10 09:47 3079次阅读
    <b class='flag-5'>Versal</b> CPM AXI Bridge模式的地址转换

    基于AMD FPGA的PCIE DMA逻辑实现

    AMD FPGA自带PCIE硬核,实现PCIE协议,把串行数据转换为并行的用户数据,以UltraScale系列FPGA为例,其支持Gen1.02.03.04.0,1~16 Lanes
    的头像 发表于 06-09 09:34 2930次阅读
    基于<b class='flag-5'>AMD</b> FPGA的<b class='flag-5'>PCIE</b> <b class='flag-5'>DMA</b>逻辑<b class='flag-5'>实现</b>

    基于AMD FPGA的PCIE DMA逻辑实现

    AMD FPGA自带PCIE硬核,实现PCIE协议,把串行数据转换为并行的用户数据
    的头像 发表于 07-14 15:53 2357次阅读
    基于<b class='flag-5'>AMD</b> FPGA的<b class='flag-5'>PCIE</b> <b class='flag-5'>DMA</b>逻辑<b class='flag-5'>实现</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 1523次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>™ Adaptive SoC CPM <b class='flag-5'>PCIE</b> PIO EP设计CED示例

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

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

    AMD推出第二代Versal Premium系列

    Premium 系列将成为 FPGA 行业首款在硬 IP 中采用 Compute Express Link( CXL )3.11 与 PCIe Gen6 并支持 LPDDR5 存储器的器件
    的头像 发表于 11-13 09:27 1344次阅读

    第二代AMD Versal Premium系列产品亮点

    第二代 AMD Versal Premium 系列提供了全新水平的存储器和数据带宽,具备 CXL 3.1、PCIe Gen6 和 DDR5/LPDDR
    的头像 发表于 01-08 11:50 1215次阅读

    AMD Versal自适应SoC器件Advanced Flow概览(上)

    在最新发布的 AMD Vivado Design Suite 2024.2 中,引入的新特性之一是启用了仅适用于 AMD Versal 自适应 SoC 器件的 Advanced Flo
    的头像 发表于 01-17 10:09 1164次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自适应SoC<b class='flag-5'>器件</b>Advanced Flow概览(上)

    AMD Versal自适应SoC器件Advanced Flow概览(下)

    AMD Vivado Design Suite 2024.2 版本中,Advanced Flow 自动为所有 AMD Versal 自适应 SoC 器件启用。请注意,Advance
    的头像 发表于 01-23 09:33 1339次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自适应SoC<b class='flag-5'>器件</b>Advanced Flow概览(下)

    AMD第二代Versal AI Edge和Versal Prime系列加速量产 为嵌入式系统实现单芯片智能

    我们推出了 AMD 第二代 Versal AI Edge 系列和第二代 Versal Prime 系列,这两款产品是对 Versal 产品组合的扩展,可为嵌入式系统
    的头像 发表于 06-11 09:59 1523次阅读