Advantages and Limitations of Arbitrary Precision Data Types
- You can achieve narrower data paths and processing elements for various operations in the circuit.
- The data types ensure that all operations are carried out in a size guaranteed not to lose any data. However, you can still lose data if you store data in a location where the data type is too narrow in size.
- Multipliers are limited to generating 512-bit results.
- Dividers forac_intdata types are limited to a maximum of 128-bit unsigned or 127-bit signed.
- Dividers forac_fixeddata types are limited to a maximum of 64-bits (unsigned or signed).
- Theac_fixeddata type currently does not support operations with double-precision floating-point numbers. Cast double values to single-precision floating-point (float) when using them with theac_fixeddata type.
- The emulation flow does not support usingac_intandhls_floatdata types inparallel_forkernels.
- hls_floatdata type is not currently supported on Windows.
- While the floating-point optimization of converting into constants is performed forfloatanddoubledata types, it is not performed for thehls_floatdata type.
- A limited set of math functions is supported. For details, see Math Functions Supported by hls_float Data Type.
- Constant initialization works only with the round-towards-zero (RZERO) rounding mode.
- When castinghls_floatdata types to integers, only signed integer casts are supported. Casting to unsigned integer simply generates a signed integer cast.