Intel® 高层次综合编译器专业版Pro版: 参考手册

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

13.2. Intel® HLS Compiler Pro版头文件

编写组件代码以便由 Intel® HLS Compiler进行编译时需要您将hls.h头文件包含其中。随附 Intel® HLS Compiler提供的其他头文件为某些C和C++函数带来优化的FPGA实现。

表 37.   Intel® HLS Compiler Pro版头文件总结
HLS头文件 描述
HLS/hls.h 组件识别和组件参数接口需要该文件。
HLS/math.h 包含math.h中数学函数特定于FPGA的定义,以用于操作系统。
HLS/extendedmath.h 包括math.h中没有的其他FPGA特定数学函数定义。
HLS/ac_int.h 提供FPGA优化的任意宽度整数支持。
HLS/ac_fixed.h

提供FPGA优化的任意精度定点支持。

HLS/ac_fixed_math.h

提供FPGA优化的任意精度定点数学函数。

HLS/ac_complex.h 提供FPGA优化的复数支持。
HLS/hls_float.h 提供优化的FPGA任意精度IEEE-754编译浮点数支持。
HLS/hls_float_math.h 提供FPGA优化的浮点数学函数。
HLS/math_dsp_control.h 提供ihc::math_dsp_control函数以控制本地范围内支持的数据类型和数学函数的硬件实现。
HLS/stdio.h 提供组件的printf支持,以便printf声明在x86仿真中有效,但在编译成为FPGA架构时在组件中被禁用。
<iostream> 在组建中使用coutcerr,通过HLS_SYNTHESIS宏守卫声明。

hls.h头文件

句法
#include "HLS/hls.h"
描述
组件识别和组件参数接口需要该文件。

math.h头文件

句法
#include "HLS/math.h"
描述
包括来自您的操作系统math.h的数学函数特定于FPGA的定义。

要了解更多信息,请查看以下教程: <quartus_installdir>/hls/examples/tutorials/best_practices/single_vs_double_precision_math.

extendedmath.h头文件

句法
#include "HLS/extendedmath.h"
描述
包括非math.h中的数学函数而具有的其他特定于FPGA的定义 。

要了解更多信息,请查看以下设计: <quartus_installdir>/hls/examples/QRD.

ac_int.h头文件

句法
#include "HLS/ac_int.h"
描述
Intel® HLS Compiler版本的ac_int头文件。

提供优化的FPGA任意宽度整数支持。

要了解更多信息,请查看以下教程:
  • <quartus_installdir>/hls/examples/tutorials/ac_datatypes/ac_int_basic_ops
  • <quartus_installdir>/hls/examples/tutorials/ac_datatypes/ac_int_overflow
  • <quartus_installdir>/hls/examples/tutorials/best_practices/struct_interfaces

ac_fixed.h头文件

句法
#include "HLS/ac_fixed.h"
描述
Intel® HLS Compiler版的ac_fixed头文件。

提供优化的FPGA的任意精度定点支持。

要了解更多信息,请查看以下教程: <quartus_installdir>/hls/examples/tutorials/ac_datatypes/ac_fixed_constructor.

ac_fixed_math.h头文件

句法
#include "HLS/ac_fixed_math.h"
描述
Intel® HLS Compiler版的ac_fixed_math头文件。

提供优化的FPGA的任意精度定点数学函数。

要了解更多信息,请查看以下教程: <quartus_installdir>/hls/examples/tutorials/ac_datatypes/ac_fixed_math_library.

ac_complex.h头文件

句法
#include "HLS/ac_complex.h"
描述
Intel® HLS Compiler版的ac_comple头文件。

提供优化的FPGA的复杂数学函数。

hls_float.h头文件

句法
#include "HLS/hls_float.h"
描述
提供优化的FPGA任意精度IEEE 754合规浮点数支持的头文件。
要了解更多信息,请查看以下教程:
  • <quartus_installdir>/hls/examples/tutorials/hls_float/1_reduced_doubl
  • <quartus_installdir>/hls/examples/tutorials/hls_float/2_explicit_arithmetic
  • <quartus_installdir>/hls/examples/tutorials/hls_float/3_conversions

hls_float_math.h头文件

句法
#include "HLS/hls_float_math.h"
描述
hls_float数据类型提供数学函数支持的头文件。
要了解更多信息,请查看以下教程:
  • <quartus_installdir>/hls/examples/tutorials/hls_float/1_reduced_doubl
  • <quartus_installdir>/hls/examples/tutorials/hls_float/2_explicit_arithmetic
  • <quartus_installdir>/hls/examples/tutorials/hls_float/3_conversions

math_dsp_control.h头文件

句法
#include "HLS/math_dsp_control.h"
描述
该头文件提供ihc::math_dsp_control函数以在局部范围内控制支持的数据类型和数学函数的硬件实现。

对于在全局范围内的控制,请使用i++命令的--dsp-mode选项。

要了解更多信息,请查看以下教程: <quartus_installdir>/hls/examples/tutorials/best_practices/control_of_dsp_usage

stdio.h头文件

句法
#include "HLS/stdio.h"
描述
为组件提供printf支持,以便printf声明在x86仿真中有效工作,但在编译成为FPGA架构时在组件中被禁用。

标准C++ <iostream>头文件

句法
#include <iostream>
描述
要使用由标准<iostream>标头提供的C++标准输出流(coutcerr),您必须通过HLS_SYNTHESIS宏保证任何标准输出声明。

该宏确保组件中的声明在x86仿真中有效工作,但在编译为FPGA架构时在组件中被禁用。