时间:2024-07-27 来源:网络搜集 关于我们 0
本文介绍一个FPGA开源项目:PCIE通信。该工程围绕Vivado软件中提供的PCIE通信IP核XDMA IP建立。Xilinx提供了XDMA的开源驱动程序,可在Windows系统或者Linux系统下使用,因此采用XDMA IP进行PCIE通信是比较简单直接的。
本文主要介绍一下XDMA IP核的使用和Vivado工程的源代码结构。文章末尾有该工程源码获取方式,有需要的小伙伴可自取。希望小伙伴们点赞、分享、投个币支持一下~
01
—
软硬件平台软件平台:Vivado 2017.4;
硬件平台:XC7Z035FFG676-2;
02
—
IP核参数配置
2.1 XDMAXDMA (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 内部寄存器。
Max Link Speed:选择5.0GT/s;
Reference Clock:100MHZ;
DMA Interface Option:选择AXI4接口;
AXI Data Width:AXI4总线位宽选择128bits;
AXI Clock:125MHZ;
选择PCIE to AXI Lite Master Interface;
空间大小根据实际需要进行选择;
PCIE to AXI Translation:BAR地址到AXI地址转换,这里设置为0x8000_0000;Configuration Management Interface不选;
其它选项保持默认;
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 Zone 公众号,如涉及作品内容、版权和其它问题,请于联系工作人员微(in0723mango),我们将在第一时间和您对接删除处理!投稿/招聘/广告/课程合作/资源置换 请加微信:13237418207怎样读取Xilinx FPGA芯片的设备标识符---DNA
使用FPGA制作低延时高性能的深度学习处理器
扫码添加客服微信,备注“入群”拉您进凡亿教育官方专属技术微信群,与众位电子技术大神一起交流技术问题及心得~
分享💬 点赞👍 在看❤️ “三连”支持!