优化

编译、调试与优化

作者:
Jayashree Rangarajan 赛灵思公司交互设计工具部高级工程总监 jayr@xilinx.com
Fernando Martinez Vallina 赛灵思公司 SDAccel 产品部软件开发经理 vallina@xilinx.com
Vinay Singh 赛灵思公司 SDAccel 产品部高级产品营销经理 singhj@xilinx.com

赛灵思的 SDAccel 开发环境为 FPGA 提供软件应用设计流程。

在lab1中,你不能使用流接口。C代码指定同一地址多访问的本质防止了流接口的应用。

•在流接口中,值必须按顺序进行访问。

•在代码中,访问也指端口的访问,高层次综合不能删除和优化。C代码规定了在每次product循环启动时,往端口res写0值。这可能是预期的行为的一部分。HLS不能简单地决定改变该算法的规范。

代码直观捕获到矩阵乘法的行为,但这样就阻止了在硬件上流访问行为要求。

这个实验练习使用了C代码更新的版本。在lab1中,你也工作在这个版本下。下面介绍了C代码如何更新的。

图161展示了I/O访问模式对在lab1中的代码。出于需要地址值显示用小的字体。

当变量I,j,和k从0到3迭代时,图161下面部分展示了地址产生为了读a,b和写res。此外,在每次Product循环启动时,res被设置为0。

以顺序流访问的硬件设计,端口的访问仅发生在高亮红色的时候。为了读端口,数据必须被内部缓存为了保证设计不重读端口。为了写端口res,数据必须被保存在临时变量里,并仅在周期里(红色显示的)往端口写。

本视频是SDSoC开发环境详细介绍的第二部分 - 优化与调试。视频首先回顾了在实现过程中存在的挑战,以及SDSoC将如何帮助解决这些挑战,完整实现一个设计,并进行修改以对一些需要加速的函数进行深度优化。最后视频还将演示SDSoC是如何对设计实现进行“交互式调试”的。

在该参考系统中,James Lucero介绍了如何改进Virtex®-5FXT FPGA上的PowerPC 440处理器块的系统性能。该参
考系统实例说明了如何使XPS Central DMA主接口与PLB Slave 0(SPLB0)或PLB Slave 1(SPLB1)上的Processor Local Bus(PLB)v4.6连接。然后,您可修改DMA引擎的XPS Central DMA的参数,便于通过交叉开关矩阵实现并行读写。对于HDMA而言,本文讨论设置中断阈值,更改缓冲区描述符主内存和发射/接收缓冲器的地址。一个简单的环回内核与一个HDMA上的LocalLink接口连接。

同步内容