Vitis™ HLS brings some fundamental changes
in the way HLS synthesizes the C code, supports language constructs, and supports
existing commands, pragmas, and directives. For example, the
std::complex<long double> data type is not supported in Vitis HLS, and should not be used. These changes have
implications on the application QoR.
recommends reviewing this section before using the tool.
Tip: Due to the behavioral differences between Vitis HLS and Vivado HLS, you might need to differentiate your code for use in the Vitis tool. To enable the same source code to be used in both tools, Vitis HLS supports the
__VITIS_HLS__predefined macro to encapsulate source code written specifically for use in that tool. Use
#if defined( __VITIS_HLS__)type pre-processor declarations to encapsulate tool specific code.