XDMA是XILINX提供的一个封装比较全面的IP,基本不用用户太了解PCIE底层协议,驱动侧就更不用说了,直接提供了读写的API函数。
XDMA网上的教程也很多了,主要的运用大部分都是和DDR绑定在一起,例如下图:

XDMA由于发起读写需要由RC端主动发起,所以大部分设计只能通过将DDR和XDMA绑定在一起,但是这种方案带来一个问题,由于DDR本身是不支持同时读写的,所以需要实时更新数据时,在写DDR时,可能无法对DDR进行访问,一种方式是可以多加一组DDR,这样可以通过pingpang的方式进行读写切换,这样的方案主要是对硬件要求就高了,增加DDR3对IO资源也是一种挑战。另外当实际工程使用时,可能存储的数据是各种数据。同时写进DDR3最后再分开可能也会带来一定的难度;

  • 这里介绍一种相对简单的方式,就是将XDMA接口M_AXI转换为FIFO接口,将DDR3的控制前移,不要和XDMA直接绑定在一起,这样用户可以直接接管DDR3,时钟就更加灵活了,只需要通过检测最后一级FIFO的数据量,只要不够一定的阀值,就从DDR3里读取数据即可,当然读取DDR3需要在DDR3写不在进行时进行,因为一定要保证写优先,丢失实际需要存储的数据是无法接收的;

  • 封装完的接口如上图所示

  • 该方案上可以做到AD数据的流水流盘,效率也有近80%,制约系统的瓶颈主要在于PC的流盘速度,该方案的设计思路,主要借鉴RIFFA PCIE的设计思路,如有大容量存储、落盘的业务可以联系!

  • PS:也可以设计传统PCIE DMA引擎方案,同时有读写SSD纯FPGA方案,欢迎联系!

FPGA XDMA PCIE 大容量存储流盘方案相关推荐

  1. 基于FPGA的PCIe接口实现(具体讲解了数据流向)

    转载自:https://www.cnblogs.com/chengqi521/p/7094544.html 时间:2014-12-09 来源:西安电子科技大学电子工程学院 作者:姜 宁,陈建春,王 沛 ...

  2. FPGA与PCI-E

    从并行到串行: PCI Express(又称PCIe)是一种高性能.高带宽串行通讯互连标准,取代了基于总线的通信架构,如:PCI.PCI Extended (PCI-X) 以及加速图形端口(AGP). ...

  3. Android 双u盘方案

     1      L1813系统上双U盘设计方案--系统设计 1.1     方案背景 Android原生的磁盘管理方案,设计的思想是将EMMC上的空间通过sdcard的server模拟成一个Sto ...

  4. 傲腾无盘服务器,傲腾方案和顺网加速盘方案对比测试

    傲腾方案:16G内存条,需要主板上有M2接口或者支持PCI-E通道,只负责兜回写(意思客户机产生回写优先写傲腾). SSD加速盘方案:120GSATASSD,可以带系统加速.游戏加速.兜回写,系统热备 ...

  5. 基于FPGA实现PCI-E接口和DMA控制器设计

    随着网络的飞速发展,人们可获取的信息量日益增长,数据的处理及存储速率的要求也越来越高.万兆网(10Gb以太网)的普及,高速存储设备的应用(如DDR2,传输速率可达800M)对系统带宽带来极大的挑战. ...

  6. 国产ARM与低成本FPGA高速通信的3种方案,基于全志T3/A40i

    前 言 近年来,随着中国新基建.中国制造2025的持续推进,单ARM处理器越来越难胜任工业现场的功能要求,特别是能源电力.工业控制.智慧医疗等行业通常需要ARM+FPGA架构的处理器平台来实现特定的功 ...

  7. 单机和分布式场景下,有哪些流控方案?

    简介:不同的场景下所需的流控算法不尽相同,那应该如何选择适用的流控方案呢?本文分享单机及分布式流控场景下,简单窗口.滑动窗口.漏桶.令牌桶.滑动日志等几种流控算法的思路和代码实现,并总结了各自的复杂度 ...

  8. 基于FPGA实现PCIE IP功能仿真

    基于FPGA实现PCIE IP功能仿真 1 开发工具 modelsim simulator或vivado simulator,本设计采用modelsim进行仿真. 2 参数配置

  9. 篇1:如何为FPGA选择合适的电源管理方案

                                        如何为FPGA选择合适的电源管理方案 0    背景 当项目中FPGA选型已确定,开始设计电路原理图时,硬件工程师面临的首要问题 ...

最新文章

  1. python实现洗牌算法_为什么渔民耶茨最有用的洗牌算法?
  2. 想自学Python却不知该如何入门?这篇文章带你轻松入门Python
  3. GitHub万星的中文机器学习资源:路线图、视频、电子书、学习建议全在这
  4. 别再说你不会!kafka延迟队列
  5. rust设置里面那个是能见度_IDEA maven设置里面的Repositories这个设置问题
  6. python3中的type与object
  7. yii2 mysql save_Yii2 开发 MySQL 数据备份功能
  8. SQL_Server_2008完全学习之第八章Transact-SQL编程
  9. 关于Java中try-catch-finally-return语句的思考
  10. 你应该知道的缓存进化史
  11. [程序人生]: 判断字符串是否为出栈序列
  12. require.js引入css文件,[DikeJS]RequireJS引入CSS样式文件(五)
  13. php图片处理之本地图片转base64格式上传
  14. linux 命令安装 wine,如何在Ubuntu 18.04 LTS上安装Wine
  15. 鬼话描绘形式_桥接形式
  16. Docker容器解决没有Vim命令
  17. Unix网络编程开篇
  18. labview连接周立功的USB转CAN(一)
  19. Delphi中使用ReportMachine 6.5中汇总行不进行汇总的设置问题
  20. 【竞品分析】Android音乐播放器的竞品分析

热门文章

  1. 【MySQL高级】Mysql锁问题
  2. 罗技压枪脚本教学(二)
  3. 人工智能保卫网络安全:Waston开始被用于打击网络犯罪了
  4. 神经网络+深度学习+增强学习
  5. OpenOffice在线预览附件
  6. 如何使用示波器测量电阻的阻值
  7. 有一种自卑叫自信,有一种跌倒叫爬起。
  8. 知名天使投资人列出愿意投资的30大创意方向
  9. 推荐一款免费实用的报表工具
  10. 开发手机客户端旅游、机票、酒店等系统