基于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. Fiddler 手机爬虫

    Fiddler抓包工具 配置Fiddler 添加证书信任,Tools - Options - HTTPS,勾选 Decrypt Https Traffic 后弹出窗口,一路确认 ...from bro ...

  2. webpack多页应用架构系列(一):一步一步解决架构痛点

    这系列文章讲什么? 前些时间,写过一个项目,前后端分离,没有借助任何框架,项目页面特别的多,页面都是html直接写的,许多公共html,写了好多处,有一个地方需要改就得改好多地方,js也是随意写,每个 ...

  3. 《即时消息技术剖析与实战》学习笔记4——IM系统如何保证消息的可靠性

    IM 系统中,保证消息的可靠投递主要体现在两方面,一是消息的不丢失,二是消息的不重复. 一.消息不丢失 消息丢失的原因 首先看一下发送消息的流程,如下图所示: 消息.可以采取"时间戳比对&q ...

  4. Visual Studio Code安装以及C/C++运行环境搭建

    众所周知VSCode是全宇宙最好用的编辑器 (雾 配置了很久,今日终于配置完成了,还是有点麻烦的,本文是为了方便一些不懂怎么配置的小白,以及还有一些美化教程. 一.安装 Visual Studio C ...

  5. gh-ost 原理剖析

    gh-ost 原理 一 简介 上一篇文章介绍 gh-ost 参数和具体的使用方法,以及核心特性-可动态调整 暂停,动态修改参数等等.本文分几部分从源码方面解释gh-ost的执行过程,数据迁移,切换细节 ...

  6. Linux 笔记 - 第十章 Shell 基础知识

    博客地址:http://www.moonxy.com 一.前言 Shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行.实际上 Shell 是一 ...

  7. (七十)c#Winform自定义控件-饼状图

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

  8. [scikit-learn] 特征二值化

    1.首先造一个测试数据集 #coding:utf-8 import numpy import pandas as pd from sklearn.preprocessing import OneHot ...

  9. (2)安装elastic6.1.3及插件kibana,x-pack,essql,head,bigdesk,cerebro,ik

    5.2kibana安装 5.2.1解压kibana安装包,修改config/kibana.yml中端口,服务器地址,elastic连接地址 -linux-x86_64.tar.gz cd kibana ...

  10. springboot之全局处理统一返回

    springboot之全局处理统一返回 简介 在REST风格的开发中,避免通常会告知前台返回是否成功以及状态码等信息.这里我们通常返回的时候做一次util的包装处理工作,如:Result类似的类,里面 ...