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