惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
A
About on SuperTechFans
Vercel News
Vercel News
博客园 - 【当耐特】
爱范儿
爱范儿
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
D
Docker
博客园 - 叶小钗
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
H
Help Net Security
I
InfoQ
博客园 - 三生石上(FineUI控件)
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - huakaimanlin的博客

verilog 扰乱信号名方法 volatile 关键字用法及场景总结 iverilog、gtkwave工具链接 Petalinux 2018.3构建zynq7020 linux系统 Prototyping ARM Cortex-A Processors using FPGA platforms 资料汇总 AXI unaligned 芯片之SRAM介绍 仿真、硬件加速验证、FPGA原型验证的一些基础概念 ARM 相关文章分享 开源VIP 分享 分享zynq acp的用法example 异步CDC及异步FIFO分享 Verilog 排序算法 预读取FIFO实现原理 Linux系统硬盘读写测试--转载 异步fifo转载 基于CYUSB3014的Mass Storage方案介绍 彩色转灰度图像如何而来。
基于Lattice Crosslink PCIe DMA框架(一种通用PCIe DMA框架...
huakaimanlin的博客 · 2022-04-11 · via 博客园 - huakaimanlin的博客

  上图所示为一种通用的PCIe DMA框架图,对于FPGA来讲,PCIe核本身一般是硬核,PCIe核内部负责的是PCIe协议层的东西,对外的接口一般是通过AXI Stream或者类似的接口出来,协议的内容为TLP包的内容,因此在实现基于PCIe的DMA是需要直接和TLP报文打交道,当然如果使用厂家提供的DMA IP是不用关心TLP的,厂家一般会把TLP的报文格式封装起来,对外只留AXI协议的访问接口。好处是可以直接拿来用,满足大部分引用场景;但是也就了解不了其中的原理了。

  比较通用的DMA一般是会做成链式DMA,Altera提供的DMA较早的器件上都是提供了一个Channing DMA的源码的实例,实际使用过程中还是有些bug存在的。Xilinx厂家生成的一个很简单的PIO访问的例子,不能满足大部分应用场景。还有一些开源的DMA,个人看过在Xilinx平台上实现的开源PCIe DMA “epee”,代码很高,不过没有相关文档,需要看代码,感兴趣的读者可以搜索去看一下。

  链式DMA的应用场景是在主机单次配置的数据需要保存在主机DDR中的多个不连续的位置时用到,此时的效率最高,可以支持的场景更多。不过大部分的应用场景其实也用不到链式DMA;上图所示为一个Simple模式的DMA,即通过简单的配置地址、长度、开始位就可以开启DMA传输,已经在Lattice Crosslink 系列及安路的PH100平台上验证,效率也很好,在大数据量传输的时候效率可以达到80%。实现上述DMA的初衷也是上述两个厂家不能提供有效好用的DMA,提供的Demo太过粗糙,于是笔者在结合以前使用经验及开源代码的理解基础上实现了上述DMA框架,分享给大家。

  另外分享一个相关的连接:http://xillybus.com/tutorials/pci-express-tlp-pcie-primer-tutorial-guide-1/ 

  感兴趣的可以加Q交流:QQ:314097602

************************************************************************************************
作者:huakaimanlin
出处:https://www.cnblogs.com/huakaimanlin/
版权所有,如需转载请声明出处