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.
Xilinx®
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.