通过对Xilinx Demo以及相关知识进行了解,得出部分个人总结,可能有错误的地方,请大家指正!
首先对PCIe接口做一简单介绍:

首先对整个IP core的内部结构做简单了解。
通过该IP core,位于上层(FPGA)的用户应用可以与主机通过PCIE接口进行通信。在上图中按照从右往左,从上往下的方向进行介绍:
1.Integrated Blockfor PCIe IP
即最底层的PCIe数据收发模块。
2.用户接口分为 4 个独立接口,数据通过这些接口在 PCIe 链路与用户应用之间进行传输:RQ(请求方请求)、RC(请求方完成)、CQ(完成方请求)以及CC(完成方完成)接口
在PCIe传输协议中,一般一个事务的起始发出方被称为请求方,而对请求方消息进行实际执行的一方被称为完成方,事务类型可能是寄存器的读写、内存读写之类,所以PCIe设备可根据不同的事务具有请求方或者完成方的身份。在FPGA设备中,用户可以是请求主机(PC或其他设备)完成相应事务的发起方,也可以是响应主机事务的完成方,所以在这里的四个接口可以理解如下:
• PCIe 完成方请求 (Completer Request, CQ) 接口,源自链路的请求通过该接口交付到用户应用。这里主机向PCIe设备(指FPGA)发出请求消息,最终由用户逻辑完成相关的事务,所以在CQ接口这里,对主机来说它是完成方,对用户逻辑来说它是请求方,所以这里称为完成方请求。(PS:这里纯属个人理解,可能和文档的本意有出入,还请各位指出)其他三个接口类似分析。
• PCIe 完成方完成 (Completer Completion, CC) 接口,用户应用通过该接口将响应发送回完成方请求接口。用户应用可将所有非转发 (Non-Posted) 的传输事务作为独立拆分的传输事务来进行处理。即,它可持续接受完成方请求接口上的新请求,同时针对请求发送完成 (completion) 包。
• PCIe 请求方请求 (Requester Request, RQ) 接口,用户应用可通过该接口生成请求并发送到链路随附的远程 PCIe 器件。
• PCIe 请求方完成 (Requester Completion, RC) 接口,用户应用可通过该接口接收来自链路的完成包(以作为 PCIe请求方来响应用户应用请求)
3.H2C通道
H2C 通道负责处理从主机到卡的 DMA 传输。它负责根据最大读取请求大小和可用内部资源来拆分读取请求。
4.C2H通道
C2H 通道负责处理从卡到主机的 DMA 传输。
5.AXI写入/读取接口(MM或ST)
根据使用环境来选择协议类型,通过DDR进行大量数据读写时,会使用AXI-full总线模式,也就是在IP核设置中的AXI Memory Mapped选项。AXI Stream协议是不包含地址线的,所以在读写FIFO等没有地址的数据缓存区时,可以使用AXI Stream协议,也就是AXI Stream选项。
6.IRQ模块
IRQ 模块会接收到来自用户逻辑的中断连线,其数量可配置,每个 DMA 通道 1 条中断连线。此模块负责基于 PCIe 生
成中断。可在 IP 配置期间指定对 MSI-X、MSI 和传统中断的支持。
7.目标桥接器
目标桥接器用于接收来自主机的请求。根据 BAR,请求将通过 AXI4-Lite 主接口转发至内部目标用户或 CQ 旁路端口。
在下游用户逻辑返回非转发请求的数据后,目标桥接器就会生成读取完成 TLP,并通过 CC 总线将其发送至 PCIe IP。
8.PCIe to AXI Lite Master Interface
在BARs页面中,会有PCIe to AXI Lite Master Interface一栏,由于主机访问地址与下位机实际控制地址是不一样的,所以PCIe to AXI Lite Master Interface这个接口就是将上位机地址与下位机地址进行一个映射,将两部分联系起来,比如在这一栏中设置0x80000000,那么实际的意义就是bar的0地址对应的是外设的0x80000000地址,当上位机对0地址进行操作的时候实际是对下位机的0x80000000地址进行操作。
9.主机 DMA 旁路(AXI MM 主接口)
到达 PCIe 到 DMA 旁路 BAR 的主机请求都将被发送到此模块。旁路主端口属于 AXI4 MM 接口,支持读写访问。
以下为根据Xilinx的一个通过PCIe接口对DDR进行读写的demo配置:
1.首先是Basic界面


使用DMA/Bridge Subsystem for PCI Express相关相关推荐

  1. XILINX DMA/Bridge Subsystem for PCI Express (XDMA)笔记1(基于VU250 board)

    XILINX DMA/Bridge Subsystem for PCI Express (XDMA)笔记1(基于VU250 board)https://blog.csdn.net/linpeng_95 ...

  2. PG195 DMA/Bridge Subsystem for PCI Express

    Introdction Xilinx® DMA/Bridge Subsystem for PCI Express® (PCIe®) 实现了一个高性能.可配置的 Scatter Gather DMA,用 ...

  3. XILINX PCIE DMA/Bridge Subsystem for PCI Express (XDMA)笔记

    前段时间在公司项目中调试了PCIE,正好做一个总结,那些介绍XDMA.PCIE之类的多余的东西网上能搜到很多,我这里就不多说.我写的只是自己的一些想法,以及自己的设计思路. 同每一个刚开始调试PCIE ...

  4. PCI Express相关经典书籍

    源出处: http://pdfcarebook.blogspot.com/2012/03/pci-system-architecture.html PDF FIle Download Ebook Ma ...

  5. PCI Express学习篇---PCIe Ordering Rule

    声明:此文章为原创,转载请注明 转自https://mp.csdn.net/editor/html/115790068 针对同一TC,PCIe有一套Ordering rules. Ordering r ...

  6. PCI Express解析——系列文章【5】:PCIe原理分析之——PCI Express 配置解析(BDF、BAR)、 MEM Read举例

    PCI Express解析--系列文章[5]:PCIe原理分析之--PCI Express 配置解析BDF.BAR. MEM Read举例 2.5 Memory Read举例 (1)事务层TLP包准备 ...

  7. Xilinx IP核AXI Memory Mapped to PCI Express使用

    作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 性能 测试平台:长城的FT15 ...

  8. PCI Express架构概述

    目录 1. PCIe 总线概述 2. PCIe 拓扑结构 3. PCIe 分层结构 4. PCIe 事务层类型 5. PCIe 配置和地址空间 1. PCIe 总线概述 PCIe(Peripheral ...

  9. PCI Express

    PCI Express是新一代的总线接口,而采用此类接口的显卡产品,已经在2004年正式面世.早在2001年的春季"英特尔开发者论坛"上,英特尔公司就提出了要用新一代的技术取代PC ...

最新文章

  1. python 列表有几个元素_python怎么向列表中添加多个元素
  2. C++ 中的 IO流
  3. yum安装nginx的负载均衡详解
  4. CodeForces - 86D Powerful array(莫队)
  5. 无内鬼,来点ICML/ACL审稿人笑话
  6. OpenCV中的函数子
  7. 程序员与代码之间的搞笑日常,笑的人肚子痛
  8. 化繁就简 · 万物互联,华为云All-Connect企业级云网络正式发布
  9. [强烈推荐] 新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析
  10. python 残差图_为啥一定要用残差图检查你的回归分析?
  11. 腾讯云服务器安全组配置
  12. 数据在网络中如何传输的
  13. marked转换html失败,解析markdown之marked
  14. 零基础如何学习C语言?大神亲手总结 17 招,教你玩转C语言!
  15. 深入分析ConcurrentHashMap的源码设计(中)-hash冲突
  16. 玉米社:SEM百度竞价推广转化成本过高要如何处理?
  17. 7-7 社交集群 (30 分) (集合数组的方法)
  18. BeautifulSoup详解
  19. 诛仙更新服务器正在维护,【正式服】3月7日例行更新维护公告
  20. 19.C语言求圆周率

热门文章

  1. 高通骁龙870有哪些哪些值得购买 高通骁龙870有什么手机
  2. 用js实现简单放大镜效果
  3. 药品使用说明书 (转载)
  4. Attention Is All You Need-笔记
  5. 树莓派ZeroW:一根数据线轻松玩转苹果的HomeBridge
  6. currentStyle
  7. 《Computed tomography recent history and future perspectives》文献解读
  8. 央视《创新中国》记录驭势成长:有意思、有意义、有故事
  9. 【43天|1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零 】
  10. [PHP初级]手把手教你写注册程序 1