基于Spartan-6, Virtex-5/Virtex-6/Virtex-7/7 Series FPGA PCI Express Block Endpoint模块设计PCI Express Endpoint Master DMA.

a、参考xilinx官方提供的xapp1052的设计

该设计有两个严重的缺点,第一个是PCIE DMA传输效率不高;第二个是当PC机正在进行DMA传输时,访问PCIE寄存器地址,会导致PC死机的问题;

b、针对xapp1052的问题,重新设计PCIE DMA架构,结构框图如下

c、PCI Express接口特性

1. 自适应链路速率,支持Gen 1、2.5Gbps/Lane(Spartan-6, Virtex-5 FPGA)和Gen 2、5.0Gbps/Lane(Virtex-6/7 Series FPGA)和Gen 3、8.0Gbps/Lane(Virtex-7/UltraScale Kintex FPGA)
2. 自适应链路宽度,支持PCI Express x8/x4/x2/x1
3. 支持Master DMA Write、Master DMA Read、MSI/传统PCI中断、寄存器读写、RAM读写
4. 支持Master DMA Write和Master DMA Read全双工数据传输
5. PCI Express驱动支持winXP、Windows7 32/64位、Linux等操作系统,如Windriver,linux pcie driver
6. 即插即用,支持热插拔

d、单向传输时的PCI Express性能

1. 1x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达225MB/s;1x PCI Express DMA Read(内存-->FPGA)的速度可达220MB/s.
2. 4x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达905MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达890MB/s.
3. 8x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达1800MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达1760MB/s.
4. 4x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达1810MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达1780MB/s.
5. 8x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达3560MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达3530MB/s.
6. 4x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达3605MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达3550MB/s.
7. 8x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达6150MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达6110MB/s.

e、双向传输时的PCI Express性能

1. 1x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达210MB/s;1x PCI Express DMA Read(内存-->FPGA)的速度可达205MB/s.
2. 4x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达850MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达840MB/s.
3. 8x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达1700MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达1660MB/s.
4. 4x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达1710MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达1680MB/s.
5. 8x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达3350MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达3300MB/s.
6. 4x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达3370MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达3310MB/s.
7. 8x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达5800MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达5780MB/s.

如有PCI Express相关方面的技术合作和交流,可联系我。

联系方式:495673622@qq.com

PCIE DMA实现的更多相关文章

  1. 关于Xilinx PCIE DMA的问答

    关于Xilinx PCIE DMA的问答 很久没上博客园了,但由于之前在博客园写了几篇关于PCIE DMA的文章,很多同学给我发消息询问相关知识点,之前有空的时候都是语音一小时跟人细讲,最近由于工作繁 ...

  2. 基于Camera Link和PCIe DMA的多通道视频采集和显示系统

    基于Camera Link和PCIe DMA的多通道视频采集和显示系统 在主机端PCIe驱动的控制和调度下,视频采集与显示系统可以同时完成对多个Camera Link接口视频采集以及Camera Li ...

  3. 基于JESD204B和PCIe DMA的多通道数据采集和回放系统

    基于JESD204B和PCIe DMA的多通道数据采集和回放系统 在主机端PCIe驱动的控制和调度下,数据采集与回放系统可以同时完成对多个JESD204B接口AD数据的采集以及JESD204B接口DA ...

  4. 基于PCIe DMA的多通道数据采集和回放IP

    基于PCIe DMA的多通道数据采集和回放IP 在主机端PCIe驱动的控制和调度下,数据采集与回放IP Core可以同时完成对多个通道数据的采集以及回放驱动工作,既可采用行缓存机制(无需帧缓存,无需D ...

  5. 基于PCIe DMA的8通道视频采集&显示IP,兼容V4L2

    基于PCIe DMA的8通道视频采集&显示IP,兼容V4L2 Video Capture&Display IP for V4L2 在主机端视频设备内核驱动V4L2 的控制和调度下,Vi ...

  6. pcie dma的玩法

    There is some issue with the implement script. So I took the manual steps. 1. Created the pcie core ...

  7. HI3531由DMA 发起PCIe 事务

    Hi3531 PCIe 控制器内含DMA 控制器,DMA 控制器包含有两个DMA 通道(一个 DMA 读通道和一个DMA 写通道).PCIe 控制器内包含的DMA 控制器用于大数据量 的存储器读写事务 ...

  8. 转载 大话pcie

    原文https://blog.csdn.net/abcamus/article/details/76167747 一.PCIe DMA机制 PCIe控制器也提供DMA(Direct Memory ac ...

  9. 嵌入式开发之hi3519---PCIE DMA

    http://blog.csdn.net/abcamus/article/details/76167747 大话pcie dma http://blog.csdn.net/qingfengtsing/ ...

随机推荐

  1. Codeforce Round #574(Div.2)

                                                                                                        ...

  2. csapp:第八章 异常控制流ECF

    第八章 异常控制流ECF 8.1 异常 Exception graph LR E[异常Exception]-->E2[中断:异步异常] E-->E3[同步异常] E3-->陷阱 E3 ...

  3. redis.windows.conf配置详解

    redis.windows.conf配置详解 转自:https://www.cnblogs.com/kreo/p/4423362.html # redis 配置文件示例 # 当你需要为某个配置项指定内 ...

  4. maven:Fatal error compiling: 无效的目标发行版: 1.8.0_45 -> [Help 1]

    使用mvn clean install命令的时候出现如下的错误: Failed to execute goal org.apache.maven.plugins:maven-compiler-plug ...

  5. 4.String、StringBuffer、StringBuilder

    一.String类型 String类型是一个引用类型,但是该类被final修饰,属于最终类,不能派生子类. 字符串一旦初始化就不能再被更改,因为String类中存储内容的char[]数组是也被fina ...

  6. FreeSql (二十二)Dto 映射查询

    适合喜欢使用 dto 的朋友,很多时候 entity 与 dto 属性名相同,属性数据又不完全一致. 有的人先查回所有字段数据,再使用 AutoMapper 映射. 我们的功能是先映射,再只查询映射好 ...

  7. ListView 字母导航排序

    一.概述 ListView字母导航排序,网上已经有很多代码和博客了, 这篇博文也是照搬网上的.  之所以写到这里,不是为了说明什么,只是为了以后自己查阅方便.本来公司要求实现expandablelis ...

  8. JAVA父类的静态方法能否被子类重写?

    静态: 在编译时所分配的内存会一直存在(不会被回收),直到程序退出内存才会释放这个空间,在实例化之前这个方法就已经存在于内存,跟类的对象没什么关系.子类中如果定义了相同名称的静态方法,并不会重写,而应 ...

  9. JAVA内存模型与JVM内存结构

    问题:什么事java内存模型? 首先呢不要答堆.栈.方法区.这是JVM的内存结构.下面阐述了JMM和JVM的区别和自己对JMM的见解 1.Java内存模型(JMM):即多线程相关的.定义了一个线程对另 ...

  10. SSO-CAS实现单点登录服务端

    目录 CAS-SSO 一.单点登录-CAS 二.下载搭建CAS 1. 下载 CAS 5.3 2. 导入IDEA 3. 打包war 3. war包部署到Tomcat 4. 启动Tomcat,访问 htt ...