Vivado Hls 设计分析(二).doc
《Vivado Hls 设计分析(二).doc》由会员分享,可在线阅读,更多相关《Vivado Hls 设计分析(二).doc(2页珍藏版)》请在三一文库上搜索。
1、Vivado Hls 设计分析(二)在使用高层次综合,创造高质量的RTL设计时,一个重要部分就是对C代码进行优化。Vivado Hls总是试图最小化loop和funcTIon的latency,为了实现这一点,它在loop和funcTIon上并行执行尽可能多的操作。比如说,在funcTIon级别上,高级综合总是试图并行执行funcTIon。除了这些自动优化,directive是用来:(1) 并行执行多个tasks,例如,同一个function的多次执行或同一loop的多次迭代。这是流水线结构。(2) 调整数组的物理实现((block RAM),函数,循环和端口,以提高数据的可用性,并帮助数据流更
2、快地通过设计。(3) 提供关于数据dependency的信息,或者缺乏数据dependency,允许执行更多的优化。最终的优化是修改C源代码,以消除在代码中意外的dependency,但是这可能会限制硬件的性能。本文使用的sample设计是一个matrix multiplier函数。目标是在每一个时钟周期处理一个新的sample,并实现数据流接口。优化matrix multipliersolution1这里使用矩阵乘法器设计,来显示如何可以完全优化基于loop的设计。设计目标是在每个时钟周期读取一个使用FIFO接口的sample,同时最大限度地减少了面积。此分析包括一个比较在loop级优化和在
3、function级优化的方法。对比loops和function pipeline的使用,创建一个可以处理采样时钟的设计。分析设计不符合性能要求的两个最常见的原因:loops dependency和数据流的限制(或瓶颈)。Step 1:创建并打开Project找到Design_Optimization lab1文件夹,依次在Command Prompt 窗口输入vivado_hls f run_hls.tcl和vivado_hls p matrixmul_prjStep 2:综合分析设计综合后的结果:(1)图中,总的interval为80个时钟周期。因为每个输入数组中都有九个元素,所以设计每输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Vivado Hls 设计分析二 设计 分析
链接地址:https://www.31doc.com/p-3274853.html