Can someone give some guidance, since I design in C++ can I use the native datatypes for High Level Synthesis as well?
You can use native datatypes such as int, float, char, double, bool for HLS designs. But do remember that although we use C++ we are ultimately designing hardware which needs to be bit accurate as this has vast effects on PPA metrics. The ideal datatypes to use are the ac datatypes which have various types present to support different use cases. Integers are supported by ac_int, floating point are supported by ac_float, ac_std_float depending on whether IEEE format needs to be used or not. Fixed point is supported by ac_fixed. Quantization and rounding modes of different types are supported by these datatypes with large number of implicit functions for better handling and conversion. These HLS oriented datatypes are ideal for HLS specific designs and is best suited compared to native data types.