Intel®高层次综合编译器专业版: 最佳实践指南

ID 683152
日期 12/04/2023
Public
文档目录

9. 数据类型最佳实践

组件中的数据类型,及其可能进行的变换或转换会极大影响组件的性能和FPGA面积的使用。反复查看数据类型最佳实践获得以最佳方式控制组件中数据类型大小和变换的技巧和指导。

优化设计的算法瓶颈后,可使用任意精度数据类型缩小数据宽度,实现组件中数据类型的微调,从而减小FPGA面积利用率。 Intel® HLS Compiler Pro Edition提供的调试功能能够轻松检测任意精度数据类型中的溢出。

由于C++自动将较小数据类型(如,shortchar)提升为用于操作(如,加法或bit-shifting)的32位数据类型,如果需要在组件中创建窄小的数据通路,则必须使用任意精度数据类型。

演示数据类型最佳实践的教程

Intel® HLS Compiler Pro Edition提供的教程可说明重要的 Intel® HLS Compiler概念并演示良好的编码实践。

查看以下教程了解有关适用于您设计的数据类型最佳实践:
教程 说明
可在您英特尔 Quartus Prime系统额如下位置找到这些教程:
<quartus_installdir>/hls/examples/tutorials
best_practices/ac_datatypes 演示使用ac_int数据类型替代int数据类型的作用。
ac_datatypes/ac_fixed_constructor 演示ac_fixed构造函数(constructor)的使用,以通过编码风格的最小改动获得更好的QoR。
ac_datatypes/ac_int_basic_ops 演示可用于ac_int级的操作符。
ac_datatypes/ac_int_overflow 演示DEBUG_AC_INT_WARNINGDEBUG_AC_INT_ERROR关键字的用途,以助于检测仿真运行期间的上溢。
best_practices/single_vs_double_precision_math 演示使用单精度文字和函数替代双精度文字和函数的作用。
ac_datatypes/ ac_fixed_constructor 演示ac_fixed数学库功能的使用。
hls_float/ 1_reduced_double 演示您的应用程序如何从double更改到hls_float<11,44>基础类型而获益(减少一倍)。
hls_float/ 2_explicit_arithmetic 演示如何使用显示版hls_float二进制操作符执行基于您需要的浮点算法操作。
hls_float/ 3_conversions 演示当使用hls_float数据类型的设计中出现转化时,如何使用不同转换模式生成使用hls_float类型的编译型常数。