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

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

3天内不再提示

基于FPGA的PCIE通信测试

CHANBAEK 来源: FPGA Zone 作者: FPGA Zone 2023-09-04 16:45 次阅读

本文介绍一个FPGA开源项目:PCIE通信。该工程围绕Vivado软件中提供的PCIE通信IP核XDMA IP建立。Xilinx提供了XDMA的开源驱动程序,可在Windows系统或者Linux系统下使用,因此采用XDMA IP进行PCIE通信是比较简单直接的。

本文主要介绍一下XDMA IP核的使用和Vivado工程的源代码结构。

01软硬件平台

  • 软件平台:Vivado 2017.4;
  • 硬件平台:XC7Z035FFG676-2;

02IP核参数配置

2.1 XDMA

XDMA (DMA Subsystem for PCI Express) 是Xilinx提供的可用于PCIE2.0,PCIE3.0的SG模式DMA IP核。该IP核可配置AXI4接口或者AXI4-Stream接口,如果配置成AXI4接口,可方便接入AXI总线互联,与DDR进行数据传输。

另外XDMA还提供可选择的AXI4-Lite Master和AXI4-Lite Slave接口。其中AXI4-Lite Master接口可用于实现 PCIE BAR 地址到 AXI4-Lite 寄存器地址的映射,可以用于读写用户逻辑寄存器,AXI4-Lite Slave接口用来将 XDMA 内部寄存器开放给用户逻辑,用户逻辑可以通过此接口访问 XDMA 内部寄存器。

图片

  • Mode:选择Advanced;
  • Lane Width:根据FPGA硬件型号选择;
  • Max Link Speed:选择5.0GT/s;
  • Reference Clock:100MHZ;
  • DMA Interface Option:选择AXI4接口;
  • AXI Data Width:AXI4总线位宽选择128bits;
  • AXI Clock:125MHZ;

图片

PCIE ID配置保持默认选项。

图片

  • 选择PCIE to AXI Lite Master Interface;
  • 空间大小根据实际需要进行选择;
  • PCIE to AXI Translation:BAR地址到AXI地址转换,这里设置为0x8000_0000;

图片

  • User Interrupts:用户中断配置,根据实际需求选择;
  • Legacy Interrupt:XDMA支持Legacy中断;
  • 使能MSI中断;
  • Configuration Management Interface不选;

图片

  • Number of DMA Read Channel (H2C) 和Number of DMA Write Channel (C2H) :这里选择2,即XDMA 可以提供最多两个独立的写通道和两个独立的读通道;
  • 其它选项保持默认;

2.2 MIG 7 Series & AXI BRAM Controller

为了测试XDMA IP对AXI4总线以及AXI4-Lite总线读写功能,在本工程中添加了BRAM和MIG IP核。其中AXI BRAM Controller IP配置如下,AXI协议选择AXI4LITE;MIG选择AXI4接口挂载到AXI4总线,实现对DDR的读写。

图片

03工程源码结构

下图为最终搭建好的系统的Block Design。本工程是基于Zynq平台建立,但实际只用到PL端资源,因此也可方便移植到其它FPGA平台使用。

图片

地址配置:DDR地址配置从0开始,BRAM配置从0x8000_0000开始,与XDMA中地址映射保持一致。

图片

04实现功能

该Vivado工程主要用于FPGA PCIE 通信基础功能测试,具体为:上位机端通过PCIE接口实现对FPGA端BAR地址空间以及DMA内存地址空间读写操作。在此工程基础上,可在FPGA端访问DDR等模块缓存的PCIE数据,并进行后续一系列处理。

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

    关注

    1602

    文章

    21320

    浏览量

    593201
  • Linux
    +关注

    关注

    87

    文章

    10991

    浏览量

    206736
  • WINDOWS
    +关注

    关注

    3

    文章

    3440

    浏览量

    87144
  • 通信测试
    +关注

    关注

    0

    文章

    55

    浏览量

    49280
  • PCIe
    +关注

    关注

    13

    文章

    1083

    浏览量

    80845
收藏 人收藏

    评论

    相关推荐

    开发FPGA Kintex-7板子的PCIe与DDR模块高速通信,应该准备些什么?

    各位大神请教了,我想开发FPGA Kintex-7板子的PCIe与DDR模块高速通信,应该准备些什么,包括哪方面的知识?多谢了!
    发表于 12-01 22:28

    pc如何通过pcieFPGA通信

    FPGA实现 PCIE 端点设备,我该如何实现这样一个功能,PC发送一条消息(比如一个存储器写事务),然后FPGA用户逻辑获得这个事务包里的内容进行相关操作,比如把一个LED点亮。已知在设计例程中
    发表于 03-12 10:48

    6678 pcieFPGA接口

    6678的pciefpgapcie  TX和RX需要交叉接么?DSP的TX接到FPGA的rx,DSP的RX接到FPGA的TX?  
    发表于 06-21 15:49

    基于AM57x平台的PCIe通信案例(一)

    本次PCIe通信案例测试基于AM5728平台,篇幅较长,共分为三部分,分别阐述:AM57x与Artix-7FPGA、AM57x与Kintex-7 F
    发表于 07-06 10:00

    基于AM57x平台的PCIe通信案例(二)

    本次PCIe通信案例测试基于AM5728平台,篇幅较长,共分为三部分,分别阐述:AM57x与Artix-7FPGA、AM57x与Kintex-7 F
    发表于 07-06 10:32

    基于C66x平台DSP与FPGA通信测试

    `本文为基于创龙TL665xF-EasyEVM开发板的DSP与FPGA通信测试。TL665xF-EasyEV开发板的简介绍如下:由核心板+底板构成。核心板DSP端采用单核TMS320C6655或双核
    发表于 10-31 14:27

    寻求fpga大牛开发一个简单的fpga pcie设备

    需求:两块fpga互联,两块fpga分别模拟成特定的pcie设备,两个设备通过serdes总线互联通信fpga仅仅只要模拟特定的设备就可以
    发表于 02-11 15:31

    AC701能否通过Artix 7的PCIe链路与PC通信

    Artix 7的PCIe链路建立Ac701与主机Pc之间的通信。请使用UG964中描述的套件提供的测试示例:我们使用Questasim跟踪模拟流程,因此我们成功编译了xilinx库并启动
    发表于 09-10 07:56

    如何通过PCIe进行FPGA到PC的通信

    嗨,我正在使用超大规模的FPGA板。我可以通过DMA子系统IP和DDR控制器IP将数据从PC传输到DDR。我打算在FPGA中进行一些处理,然后更新数据,以便PC可以读取。如何通过PCIe指示PC处理
    发表于 05-08 09:40

    2个PCIE PHY在FPGA中连接可能实现吗?

    嗨,我正在尝试使用KC705板进行PCIE RC和端点测试。1)我将把PCIE RC控制器IP设计和FPGA PCIE PHY放在
    发表于 07-26 13:06

    关于xilinx FPGA pcie测试问题

    FPGA pcie dma测试 流程:金手指和电脑连接之后,先加载程序,pc重启; 现象:pc无法开机。 FPGA pcie x8,pc x
    发表于 09-13 18:21

    【含案例源码】IMX8基于FlexSPI、PCIeFPGA的高速通信开发详解!

    本文主要介绍i.MX 8M Mini基于FlexSPI、PCIeFPGA的高速通信案例。
    的头像 发表于 09-02 14:33 2104次阅读
    【含案例源码】IMX8基于FlexSPI、<b class='flag-5'>PCIe</b>与<b class='flag-5'>FPGA</b>的高速<b class='flag-5'>通信</b>开发详解!

    米尔ARM+FPGA架构开发板PCIE2SCREEN示例分析与测试

    本次测试内容为基于ARM+FPGA架构的米尔MYD-JX8MMA7开发板其ARM端的测试例程pcie2screen并介绍一下FPGA端程序的
    的头像 发表于 07-08 14:38 435次阅读
    米尔ARM+<b class='flag-5'>FPGA</b>架构开发板<b class='flag-5'>PCIE</b>2SCREEN示例分析与<b class='flag-5'>测试</b>

    基于FPGAPCIE I/O控制卡通信方案

    本文介绍一个FPGA 开源项目:PCIE I/O控制卡。上一篇文章《FPGA优质开源项目– PCIE通信》开源了基于
    的头像 发表于 09-01 16:18 1507次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>PCIE</b> I/O控制卡<b class='flag-5'>通信</b>方案

    RK3568-PCIe 5G通信测试手册

    RK3568-PCIe 5G通信测试手册
    的头像 发表于 01-18 14:53 294次阅读
    RK3568-<b class='flag-5'>PCIe</b> 5G<b class='flag-5'>通信</b><b class='flag-5'>测试</b>手册