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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4852|回复: 13

[讨论] PCIE:端点设备FPGA可以对端点存储器进行读写吗

[复制链接]
发表于 2016-3-15 14:30:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
使用FPGA 实现一个pcie端点设备,现在希望实现pc与端点的数据交互,普通读写,非DMA,(Xilinx中是PIO 模式,[/code]Altera中是rc_slave读写endpoint memory),现在已经可以实现PC读写这个BAR0映射的端点存储器了。 、

问题有两个:1、如果PC发一个写事务包(MWr),数据写到这个端点存储器里了,我该怎么在FPGA里得到这个数据进行一些其他逻辑操作。
2、在FPGA怎样往这个端点存储器里的某个地址写一个数据。

总之实现的操作就是,pc发一个控制信息给FPGA,FPGA完成某些操作后 ,完成的状态让PC读走。

希望各位给个思路~
 楼主| 发表于 2016-3-16 14:01:32 | 显示全部楼层
居然没人
发表于 2016-3-16 22:12:29 | 显示全部楼层
回复 1# nothing92
   按照你的描述,FPGA实现了一个EP的功能,那么PC相当于就是RC了,RC已经可以访问EP的BAR0了。表示PCIE链路已经通了。   你的问题是FPGA怎么得到EP BAR空间的数据,这个其实有些让人费解,因为实际上EP的BAR空间映射的就是EP用户的Memory空间,事实上这块Memory本身应该就在FPGA里,EP本身不会实现 这块Memory的,所以这块memory应该是你FPGA设计本身需要实现的。而RC已经可以访问EP的BAR (读写),说明这块memory已经存在了。
   建议你仔细检查你FPGA的Top,一定有一块逻辑(在pcie EP之外),实现了这块Memory。只要找到memory的接口,那么FPGA自然可以读写Memory的数据。如果没有memory,实际上不大可能,你可以找EP的IP手册,EP的出口端会有将受到的memory读写TLP转化成memory读写请求的接口信号。
 楼主| 发表于 2016-3-17 09:20:04 | 显示全部楼层
回复 3# acgoal
如你所说,确实有一个这样的memory,现在已经开始使用了,这个memory是一个双口ram,因为例程生成的时候这个ram的很多接口没有引出,没当做双口ram。谢谢-
发表于 2016-3-29 15:13:39 | 显示全部楼层
回复 3# acgoal

RC通过访问EP的BAR获得的地址是不是就是FPGA在RC这边的映射地址?还有就是如果RC要跟FPGA实现数据交互是不是可以直接操作这个地址,即向这个地址写或读?
发表于 2016-3-29 23:14:55 | 显示全部楼层
好好好好好好好好好好
发表于 2016-3-29 23:15:44 | 显示全部楼层
好好好好好好好好好好好好好好
 楼主| 发表于 2016-4-15 08:47:45 | 显示全部楼层
回复 5# ainolike


   你说的都没错,就是这样
发表于 2016-4-15 09:41:07 | 显示全部楼层
回复 3# acgoal
  大神太牛了
发表于 2016-11-16 09:44:50 | 显示全部楼层
回复 1# nothing92
您好,我遇到了跟您一样的问题。
我生成IPcore时开辟了512字节的bar0空间,目前在pc端可以读写数据到这个空间。
我想实现的是在pc端写数据到bar0,在fpga读取这个数据进行操并将结果存回bar0,最后让pc读取这个结果。

我现在在fpga没有找到这个bar0空间。我用了sample里面的PIO_EP_MEM_ACCESS,但结果好像不对。

我现在比较困惑这个bar0的位置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-1-22 17:46 , Processed in 0.039697 second(s), 26 queries , Gzip On.

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