摘要: 对Throughput的优化 对Latency的优化 对Area/Utilization的优化 阅读全文
posted @ 2020-06-24 18:56 云远·笨小孩 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 案例1: 常数边界的循环合并 期待的情形: HLS综合的结果 做的操作:循环合并 操作的结果 循环边界均为常数,但不相等时,按最大的边界进行循环合并 案例2: 变量边界的循环合并 能合并的循环,边界必须相同! 案例3: 数据流 HLS默认综合结果 使用Dataflow的结果 案例4: 数据流 HLS 阅读全文
posted @ 2020-06-24 16:56 云远·笨小孩 阅读(975) 评论(0) 推荐(0) 编辑
摘要: 函数并行运行:使用ALLOCATION Pipeline的选项rewind 其他可供参考的资料 UG871! UG902! HLS-> Open Example Project! 阅读全文
posted @ 2020-06-24 16:05 云远·笨小孩 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 优化的原理 HLS会自动尝试最小化循环的延迟. 除了这些自动的优化之外,directive文件负责 执行并行任务; 例如相同函数的多次执行,以及相同循环的多次迭代. 要进行pipeline设计; 重新设计数组(Block arrays),函数,循环和端口等的物理实现,改善数据的访存; 提供数据依赖的 阅读全文
posted @ 2020-06-24 11:13 云远·笨小孩 阅读(1535) 评论(0) 推荐(0) 编辑
摘要: 数据类型 支持的C/Cpp类型 Character Types char 8bits wchar_t Integer Types signed char 8bits [signed] short [int] 16bits [signed] int 32bits [signed] long [int] 阅读全文
posted @ 2020-06-24 09:36 云远·笨小孩 阅读(1658) 评论(0) 推荐(0) 编辑
摘要: 优化手段 1 优化之:循环展开 对某个标记的循环进行Directive-> Unroll. 对循环展开的越彻底(Directive-> Unroll → complete),消耗的资源数和端口数越多,带来的吞吐量越大.需要trade-off. 那么该展开到什么程度呢? 可以全部展开(complete 阅读全文
posted @ 2020-06-24 08:59 云远·笨小孩 阅读(1990) 评论(0) 推荐(0) 编辑