[X]关闭

ZYNQ里面 通过PCIE读取ARM端的数据,什么样的方案会比较快?

文档创建者:DoEnjoy
浏览次数:4744
最后更新:2019-10-15
需要ARM把数据传到若干个地址里面,比如传给1024个地址32位的数据(可以存在PL 的 BRAM里或者REG里,甚至DDR里),然后PC端可以通过ZYNQ 的 PCIE 接口来读取这些数据。

要求:
1.可以根据上位机给的地址,随意通过PCIE去读取一个数据。
2.需要速度尽量快。

目前我尝试的方案是 ARM--M AXI GP0 -- AXI BRAM CTRL --双口BRAM --- AXI BRAM CTRL ---PCIE 核
可以实现ARM到PCIE之间的通信,也可以随意读BRAM某个地址的数据。
但是有两个问题,一个速度不够快,另一个是BRAM好像设置不大。

各位大佬是否有更好的方案?
用AXI HP接口,或者DMA可以更好吗?其他办法有没有?

谢谢!

发表评论已发布 3

uisrc

发表于 2019-10-15 11:57:41 | 显示全部楼层

放到DDR 或者放到BRAM 都可以,通过AXI4总线,对于PCIE和ARM来说他们都是访问一个地址空间的地址
越努力越幸运!加油!

DoEnjoy

发表于 2019-10-15 13:34:45 | 显示全部楼层

msxbo 发表于 2019-10-15 11:57
放到DDR 或者放到BRAM 都可以,通过AXI4总线,对于PCIE和ARM来说他们都是访问一个地址空间的地址

谢谢解答!
放在BRAM的方式,我已经实现了。如问题描述所说。

我是想知道还有哪种方式会更快一些。

这两天我也在查阅资料,可能通过AXI HP和DMA, 再连到PCIE,会比我现有的方案快。正在尝试。
希望的目标:1.更快些,2 PCIE可以通过地址访问。

其他如果有符合的方式,也想试一下。

uisrc

发表于 2019-10-15 14:13:54 | 显示全部楼层

深度快就是全部通过FPGA访问PS DDR不要ARM 参与,有ARM参与 慢的是ARM
越努力越幸运!加油!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则