We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 62056

2014.2 Vivado HLS - Floating point IP is not used for casting ap_fixed to float.


In the below code I would expect that floating point IP is used to cast from "ap_fixed" to float.

However, it is not used.

In the generated HDL, floating point IP is used only for the multiply operation.

typedef ap_fixed<16,8> din_t;

void test(din_t k, din_t c, float *m)
    *m = float(c) * float(k);


This is a known issue which is fixed in Vivado 2014.4.
One work-around is to use "ap_int" instead of "ap_fixed". 

AR# 62056
Date Created 09/16/2014
Last Updated 02/20/2015
Status Active
Type Known Issues
  • Vivado Design Suite - 2014.2