在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5685|回复: 7

[求助] PCIE DMA原理

[复制链接]
发表于 2020-4-7 18:22:52 | 显示全部楼层 |阅读模式
100资产
本帖最后由 buzhou2006 于 2020-4-7 18:25 编辑

       现在需要设计了这样一个系统,请高手指导!不胜感激
       (看了一两个月的PCIE,对DMA的原理还是有点模糊的感觉,尤其是PCIE设备向上位机主动发起DMA传输,请大神不吝赐教!!)
          我的设计:                                                                        
                       背景:小弟我需要在XILINX的FPGA上实现一个简单的DMA功能,芯片为ULSTRASCALE系列
                        实现:在FPGA里实现一个简单的DMA 发送 engine,作用就是不断的计算地址,并构造Memory Write Request的TLP,主动发送给上位机
                        问题:1、如何主动发送数据给上位机(主要是TLP包中的ADDRESS该如何填写,这个值初值是如何来的(FPGA侧如何知道这个值的填写))
                                 2、TLP包中的 requester ID ,Completer ID如何填写
                                 3、如果能将FPGA主动发起DMA写内存的原理讲清楚(最好是TLP包格式的各个字段如何填写)那最好不过了





发表于 2020-4-7 18:40:14 | 显示全部楼层
参考xapp 1052
发表于 2020-4-7 22:04:26 | 显示全部楼层
     问题:1、如何主动发送数据给上位机(主要是TLP包中的ADDRESS该如何填写,这个值初值是如何来的(FPGA侧如何知道这个值的填写))   //这个地址应该是上位机内存地址。你应该定义一个变量来接收数据。这个变量在内存的地址
  2、TLP包中的 requester ID ,Completer ID如何填写   // 这个好像是对应上就行。我也忘记了。
  3、如果能将FPGA主动发起DMA写内存的原理讲清楚(最好是TLP包格式的各个字段如何填写)那最好不过了  

发表于 2020-4-7 22:16:45 | 显示全部楼层
 楼主| 发表于 2020-4-8 13:57:34 | 显示全部楼层


pumpkin 发表于 2020-4-7 22:16
http://xillybus.com/tutorials/pci-express-tlp-pcie-primer-tutorial-guide-1/


这个网站的DEMO的核心功能没有开发源码 可惜了,如果开放的话 的却能解决我的问题 不过还是要谢谢你
 楼主| 发表于 2020-4-8 15:17:43 | 显示全部楼层


watertree 发表于 2020-4-7 22:04
问题:1、如何主动发送数据给上位机(主要是TLP包中的ADDRESS该如何填写,这个值初值是如何来的(FPGA ...


还是不太明白 能说的再具体一点么?谢谢
发表于 2020-4-9 23:30:21 | 显示全部楼层


pumpkin 发表于 2020-4-7 22:16
http://xillybus.com/tutorials/pci-express-tlp-pcie-primer-tutorial-guide-1/




根据这个说明,自己写一个简单一些的,并不困难。原来就做过,包括上、下行。
发表于 2024-6-19 16:23:21 | 显示全部楼层
那个网站介绍不错;pcie dma如果按官方应用来或许不太难
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-21 20:57 , Processed in 0.021907 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表