Intel® High Level Synthesis Compiler Pro Edition: Reference Manual

ID 683349
Date 12/04/2023
Public
Document Table of Contents
Give Feedback

8.5.2. Additional Data Types Provided By hls_float.h

The Intel® HLS Compiler hls_float.h header files provides some aliases in the ihc namespace for some hls_float data types that you can use instead of explicitly declaring an hls_float data type.

The ihc::bfloat16 Data Type

The bfloat16 data type is a 16-bit floating point number with an 8-bit exponent and a 7-bit mantissa (equivalent to declaring hls_float<8.7>).

On Intel Agilex® 7 devices, dot product operations that involve the bfloat16 (or hls_float<8.7>) data type are mapped to FP16 digital signaling blocks (DSPs). On other device families, dot product operations are mapped to adaptive logic modules (ALMs) and fixed-point 18-bit DSPs.

On all device families, all other math functions are mapped to ALMs and fixed-point 18-bit DSPs.

The ihc::bfloat19 Data Type

The bfloat19 data type is a 19-bit floating point number with an 8-bit exponent and a 10-bit mantissa (equivalent to declaring hls_float<8.10>).

On Intel Agilex® 7 devices, dot product operations that involve the bfloat19 (or hls_float<8.10>) data type are mapped to FP19 digital signaling blocks (DSPs). On other device families, dot product operations are mapped to adaptive logic modules (ALMs) and fixed-point 18-bit DSPs.

On all device families, all other math functions are mapped to ALMs and fixed-point 18-bit DSPs.