【发布时间】:2015-05-11 01:48:41
【问题描述】:
我正在学习vivadoHLS,教程u871已经介绍了如何使用HLS,并优化我的C/C++代码。但我想知道如何将它们加载到我的板上 zynq 7020 中,让它在板上运行。
我要实现的是:主机(板载CPU)调用PL(FPGA)进行计算,并将参数发送给PL,然后PL将结果返回给CPU。
例如,C 中的一个函数:add(int* a, int* b),它将分别添加 a[i] 和 b[i] 并返回一个数组 int * 结果。,通过HLS,我可以展开for循环,这样计算起来会更快。 CPU将a和b的地址发送给PL,PL计算,并将结果地址发送回CPU。
在教程中,它只介绍了如何使用 HLS,没有解释如何通信 PL 和 CPU,或者如何将它加载到板上以便它可以在板上运行。
请推荐一个教程或告诉我在哪里学习,非常感谢!!
【问题讨论】:
-
如果这个芯片没有 PCIe,你如何通过 PCIe 连接 zynq 7020?
-
嗯......对不起......但我真的不明白你的意思?@Paebbels
-
XillyBus 是用于 FPGA 的 PCI Express IP 内核,带有 PCIe DMA 驱动程序。但是你的 Zynq 7020 FPGA 没有 PCIe 接口?!?
-
@Paebbels 哦……现在我明白了……这意味着我不能在我的板上使用 Xillybus。但是如何使用 vivado HLS 在我的板上实现协处理?我的问题改了,请给我一些建议,真的非常感谢!!!
-
@happybunnie_wy 你有没有找到你想要做什么的教程或参考?我还尝试使用 Vivado HLS 创建一个 IP,该 IP 从内存(以数组的形式)输入数据,对其进行操作,然后将结果存储在内存中。从我目前看到的信息来看,包括 IP 上的 AXI 流接口和使用 AXI DMA 似乎是最好的选择。你将如何管理沟通?裸机应用程序中的编程顺序是什么?用于生成 IP 的 C 代码结构是什么?