Unsupported Features
The following features are not supported in this release.
IMPORTANT: HLS will either issue a warning or error for all the unsupported
features mentioned in this section.
Pragmas
- Pragma DEPENDENCE on an argument that also has an
m_axi
INTERFACE pragma specifying abundle
with two or more ports is not supported.void top(int *a, int *b) { // both a and b are bundled to m_axi port gmem #prgama HLS interface m_axi port=a offset=slave bundle=gmem #prgama HLS interface m_axi port=b offset=slave bundle=gmem #pragma HLS dependence variable=a false }
- Pragma INTERFACE no longer supports the
ap_bus
mode that was supported in Vivado HLS. You should use them_axi
interface instead.
Top-Level Function Argument
IMPORTANT: Vitis™ HLS does not support the INTERFACE pragma inside
sub-functions.
Pragmas on top-level function arguments include:
- Array partition (Supports only dim =1, cyclic/block/complete)
- Array reshape
Top-level argument with C data type of:
- enum or any use of enum (struct, array pointer of enum)
- ap_int<N> (where N is 1-32768)
- _Complex
- _Half, __fp16
HLS Video Library
The hls_video.h for video utilities and functions has been deprecated and replaced by the Vitis vision library. See the Migrating HLS Video Library to Vitis vision on GitHub for more details.
C Arbitrary Precision Types
Vitis HLS does not support C arbitrary precision types. Xilinx recommends using C++ types with arbitrary precision.
In addition, C++ arbitrary precision types in Vitis HLS are limited to a maximum width of 4096 bits, instead of 32K bits supported by Vivado HLS.
C Constructs
- Pointer cast are no longer supported.
- Virtual functions are no longer supported.