UPGRADE YOUR BROWSER
We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!
修改时间 02-12-2019 02:34 PM
Hi @hisrg,
首先我们在IPI中提供了包括CDMA,VDMA以AXI DMA等多种可以访问DDR的DMA IP。对于这些IP还需要根据实际应用要求进行选择。
使用这些IP时最好系统中有CPU Core,如果是纯逻辑系统的话,使用这些IP可能不是很方便。所以你可以更加详细的描述一下你现在的系统,以及具体的应用要求。
修改时间 02-12-2019 06:43 PM
如这张图所示,我们做的是一个低功耗的FPGA CNN加速器系统,由于FPGA 片上的BRAM容量少于CNN网络权值所需的容量,因此考虑将数据和权值放在PL侧的片外DDR4 中,工作时步骤如下:
1、PS端先将数据和权值通过CPU core转存到DDR4中,此间用的DMA总线,这里的CPU Core 打算用micrbolaze 软核。
2、CPU Core 先读取CNN 网络中(存于之前的DDR4中)的部分权值和数据,通过DMA总线放入CNN加速器的local memory中。
3、启动加速器的计算,计算中的部分中间结果也会回写到DDR4中,回写完毕后再读取另一部分的权值和数据。
4、完成一帧图像计算后,会将结果发给CPU Core,再由其转发给PS,由PS完成显示。
此外需要注意的是,在CNN加速器工作时,PS端尽可能保持静默状态,直到计算完毕才产生中断唤醒PS端的ARM CPU。microblaze端的程序由C语言编写,负责PL侧的模块控制和任务调度。
请问能否有可以参考的IPI方案?谢谢
修改时间 02-13-2019 09:52 AM
Hi @hisrg,
在你的框图中有两处需要使用DMA进行数据传输,我的理解这个topic中你主要想问的是左边与片外ddr连接的这一路。
你可以去参考一下AXI DMA和CDMA这两个IP,应该可以满足你的要求。需要注意的是,这两个IP的接口都是AXI Bus的,所以片外DDR还是需要加一个MIG IP的。