Intel® High Level Synthesis Compiler Pro Edition: Reference Manual

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

12.1.1. Math Function Hardware Implementation Summary

The following table summarizes the default hardware implementations for math functions for different data type and what combinations of data type and math function support hardware implementation control.

This table applies to the following device families: Intel Agilex® 7, Intel® Arria® 10, and Intel® Stratix® 10.
Table 33.  Math Function Hardware Implementation SummaryThis table does not list operations between two constants because they are always implemented by soft-logic, and are often optimized away by the compiler.

Operand 1
Data Type

Operand 2
Data Type

Addition Subtraction Multiplication Division

Dot
Product

float
Variable

float
Variable

(D)/S (D)/S D S+D D

float
Constant

(D)/S (D)/S S

<const numerator> D
<const denominator> S

D

double
Variable

double
Variable

S S S+D S+D S+D

double
Constant

S S S

<const numerator> D
<const denominator> S

S

int/ac_int
Variable

int/ac_int
Variable

S S S+D S S+D

int/ac_int
Constant

S S S

<const numerator> D
<const denominator> S

S

ac_fixed
Variable

ac_fixed
Variable

S S S+D S+D S+D

ac_fixed
Constant

S S S

<const numerator> D
<const denominator> S

S

hls_float
Variable

hls_float
Variable

The hls_float<8,23> data type uses the same implementation as float.

Other hls_float data types use the same implementation as double.

hls_float
Constant

S
Math function is implemented only in soft logic with ALMs.
D
Math function is implemented only using DSPs.
S+D
Math function is implemented with a combination of soft logic (ALMs) and DSPs.
(D)/S
Bold text indicates that hardware implementation controls are available for that data type and math function.

Bold-italic text in parentheses indicates the default hardware implementation in the absence of applying any hardware implementation controls.