UPGRADE YOUR BROWSER

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# 51503

Vivado HLS 2012.2- SystemC synthesis results in error: "@E [HLS-70] Compilation errors found: error: request for member 'to_bool'in... "

Description

When to_bool() is used, Synthesis reports the following error.

@E [HLS-70] Compilation errors found:
source.cpp: In member function 'void top_function::func()':
source.cpp:220: error: request for member 'to_bool'in '((int)_ap_sc_::sc_dt::sc_bv<32>(((const ap_range_ref<288, false>&)((const ap_range_ref<288, false>*)(& ap_int_base<_AP_W, _AP_S>::range(int, int) [with int _AP_W = 288, bool _AP_S = false](31, 0)))))._ap_sc_::sc_dt::sc_bv<32>::<anonymous>.ap_int_base<_AP_W, _AP_S>::xor_reduce [with int _AP_W = 32, bool _AP_S = false]()) ^ ((int)ap_int_base<_AP_W, _AP_S>::operator[](int) [with int _AP_W = 288, bool _AP_S = false](280).ap_bit_ref<_AP_W, _AP_S>::operator bool [with int _AP_W = 288, bool _AP_S = false]()))' which is of non-class type 'int'

Solution


To work around this, delete '.to_bool()' in the code.

This issue is resolved in 2012.3 Vivado HLS.
AR# 51503
Date Created 08/27/2012
Last Updated 10/09/2012
Status Active
Type Known Issues
Tools
  • Vivado - 2012.2
  • AutoESL
  • ??????