VIVADO HLS函数层面的优化

VIVADO HLS函数层面的优化

  • 参考文献
    • 项目简述
  • 数据类型
  • 对函数实现inline操作
  • 函数的Allocation操作
  • 函数的dataflow操作
  • 总结

参考文献

[1]、lauren的FPGA(微信公众号)
[2]、Xilinx暑期学校

项目简述

这篇文章简单从函数层面描述HLS约束的方法有哪些,进一步的掌握HLS的约束方法。

数据类型

要尽量使用任意精度数据类型。例子如下:
VIVADO HLS函数层面的优化_第1张图片

对函数实现inline操作

inline:将简单的函数进行合并。
例子如下:
VIVADO HLS函数层面的优化_第2张图片
阻止inline的方法如下:
VIVADO HLS函数层面的优化_第3张图片VIVADO HLS函数层面的优化_第4张图片VIVADO HLS函数层面的优化_第5张图片
可以看出把inline关掉的话,相应的资源与吞吐率得到了相应的改善。

函数的Allocation操作

可以让函数例化多份:
VIVADO HLS函数层面的优化_第6张图片
生成的资源如下:
VIVADO HLS函数层面的优化_第7张图片

函数的dataflow操作

原理如下:
VIVADO HLS函数层面的优化_第8张图片
例子如下:
VIVADO HLS函数层面的优化_第9张图片

总结

创作不易,认为文章有帮助的同学们可以关注、点赞、转发支持。为行业贡献及其微小的一部分。对文章有什么看法或者需要更近一步交流的同学,可以加入下面的群:
在这里插入图片描述

你可能感兴趣的:(HLS)