vivado HLS入门(4)

简介

针对最常见循环和数组的优化;

15th-24th

15 for循环的优化

基本指标术语
在这里插入图片描述
c循环边界的处理与rtl边界的处理是不同的!参考计数器原理
在这里插入图片描述
1 流水操作
2 循环展开(完全展开或部分展开)

在这里插入图片描述
在这里插入图片描述

16 循环合并

3 循环合并 利用rtl的并行性将多个循环进行合并
分以下情形
循环边界相同
循环边界不同
一个循环边界为变量 无法合并
都为变量 通过修改代码合并
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

17 数据流

Task之间存在依赖关系 不适合循环合并 但适合dataflow(乒乓操作)
使相邻for循环并行(流水)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

18 嵌套循环

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
unroll 与flat意义不通
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
矩阵的优化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

19 rewind与变量边界

默认情况,HLS对多个循环任务做顺序执行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

20 数组的分割

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

21 map and reshape

在这里插入图片描述
在这里插入图片描述
中间可以添加offset, 调整结构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

22 ROM

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数组的初始化

在这里插入图片描述
在这里插入图片描述

23 函数层面优化

数据类型
在这里插入图片描述
inline
在这里插入图片描述
allocation
在这里插入图片描述
dataflow
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值