FPGA优质开源项目 – PCIE通信

这篇具有很好参考价值的文章主要介绍了FPGA优质开源项目 – PCIE通信。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

本文主要介绍一下XDMA IP核的使用和Vivado工程的源代码结构。文章末尾有该工程源码获取方式,有需要的小伙伴可自取。希望小伙伴们点赞、分享支持一下~

一、软硬件平台

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

二、IP核参数配置

​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 内部寄存器。

FPGA优质开源项目 – PCIE通信,fpga开发,PCIE,开源

  • 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;

FPGA优质开源项目 – PCIE通信,fpga开发,PCIE,开源

PCIE ID配置保持默认选项。

FPGA优质开源项目 – PCIE通信,fpga开发,PCIE,开源

  • 选择PCIE to AXI Lite Master Interface;

  • 空间大小根据实际需要进行选择;

  • PCIE to AXI Translation:BAR地址到AXI地址转换,这里设置为0x8000_0000;

FPGA优质开源项目 – PCIE通信,fpga开发,PCIE,开源

  • User Interrupts:用户中断配置,根据实际需求选择;

  • Legacy Interrupt:XDMA支持Legacy中断;

  • 使能MSI中断;

  • Configuration Management Interface不选;

FPGA优质开源项目 – PCIE通信,fpga开发,PCIE,开源

  • 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的读写。

FPGA优质开源项目 – PCIE通信,fpga开发,PCIE,开源

三、工程源码结构

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

FPGA优质开源项目 – PCIE通信,fpga开发,PCIE,开源

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

FPGA优质开源项目 – PCIE通信,fpga开发,PCIE,开源

四、实现功能 

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

五、源码获取方式

需要该工程源码的小伙伴,请下载我的 资源:《FPGA优质开源项目获取方式 ,里面有Vivado工程源码免费获取方式。 或者点击链接,跳转到原文获取:《FPGA优质开源项目 – PCIE通信》。文章来源地址https://www.toymoban.com/news/detail-631076.html

到了这里,关于FPGA优质开源项目 – PCIE通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA有哪些优质的带源码的IP开源网站?

    这是某乎上的一个问题,我觉得还不错,今天就系统性的总结一下 https://www.fpga4fun.com/ 您可以找到信息页面,以及使用 FPGA 板构建的 FPGA 项目。 注重点:项目。 FPGA 项目使用一种称为 Verilog 的语言,您需要学习它才能理解项目。但是通过此处显示的示例以及其他可用的在线资

    2023年04月12日
    浏览(33)
  • FPGA基于XDMA实现PCIE X4通信方案 提供工程源码和QT上位机程序和技术支持

    PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优

    2023年04月24日
    浏览(54)
  • 【FPGA开发】HDMI通信协议解析及FPGA实现

      笔者在这里使用的开发板是正点原子的达芬奇开发板,FPGA型号为XC7A35TFGG484-2。参考的课程是正点原子的课程手把手教你学达芬奇达芬奇Pro之FPGA开发篇。   HDMI,全称为High Definition Multimedia Interface,即高清多媒体接口。它不仅可以传输视频信号,还可以传输音频信号。上

    2024年02月21日
    浏览(48)
  • FPGA开发(2)——IIC通信

    IIC物理层框图如下图所示。 (1) 它是一个支持多设备的总线。“总线”指多个设备共用的信号线。在一个 I2C 通讯总线中,可连接多个 I2C 通讯设备,支持多个通讯主机及多个通讯从机。 (2) 一个 I2C 总线只使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时钟线(SCL)。数

    2024年02月02日
    浏览(43)
  • Xilinx FPGA PCIE接口调试

            关于在linxu环境下Xilinx FPGA PCIE的接口调试从中遇到了几个问题,第一个就是时钟接口的选择,还有一个就是上位机如何识别XDMA;         操作系统环境:Linux         板卡:两款开发板VC707、KCU105         上位机环境准备:从Xilinx官网下载linux环境的XDMA驱

    2024年02月05日
    浏览(63)
  • 基于 FPGA 的 PCIe IP 核简介

                      在某些高速数据存储场景下,单个NVMe IP已无法满足带宽需求,常需要多个NVMe IP并行工作以提升写入带宽,由于NVMe底层使用PCIe,而Xilinx/Altera等厂家FPGA芯片自带的PCIe硬核往往有限,比如Kintex-7芯片一般只有一个PCIe2.0硬核,此时,基于GTX等高速收发器

    2024年02月14日
    浏览(36)
  • PCIE调试技巧 FPGA:解决问题的有效方法

    PCIE调试技巧 FPGA:解决问题的有效方法 在FPGA开发中,PCI Express(PCIE)接口已经成为了高性能数据传输的首选标准。然而,由于其复杂性,PCIE调试常常成为开发者面临的一项艰巨任务。本文将分享一些PCIE调试心路和一些有效的技巧,帮助开发者识别、定位和解决PCIE相关的问

    2024年03月21日
    浏览(72)
  • 【技术分享】Altera FPGA EP4CGX22CF19C8详解:原理图、PCB图纸、源代码及PCIe二次开发驱动和代码全解析

    altera fpga ep4cgx22cf19c8,有原理图,PCB图纸,源代码,PCIe二次开发驱动和代码等。 ID:313000 681436451614 小明子555 《基于Altera FPGA EP4CGX22CF19C8的硬件开发与PCIe驱动开发》 摘要:本文基于Altera FPGA EP4CGX22CF19C8芯片,探讨了硬件开发和PCIe驱动开发的相关技术。首先介绍了EP4CGX22CF19C8芯片

    2024年04月25日
    浏览(35)
  • 【FPGA开源项目分享】中国铁路网的 Dijkstra 算法实现

    如果本文图片和视频无法显示,请直接跳转到 友晶科技公众号FPGA开源项目分享——中国铁路网的 Dijkstra 算法实现 阅读原文。 常春藤名校之一——康奈尔大学有一门名叫ECE 5760的FPGA 课程,网站( Final Projects ECE 5760)公开了该课程讲师Bruce Land与学生们的项目作品(包含源码

    2024年01月19日
    浏览(46)
  • FPGA PCIe 软核的实现——扒一扒复旦微、国微PCIe软核的实现

    近来复旦微、国微等厂家相继推出了可以兼容XILINX PCIe硬核的PCIe软核,销售也到所里来推广了一下,领导交代让抽自己的时间试用研究一下,看项目中用不用的起来。 读研的时候就接触过,PCIE协议非常非常复杂,要实现非常非常困难,稍微看过一些协议,看球不懂,真给这

    2024年02月16日
    浏览(153)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包