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

Vivado HLS - unsupported memory access on variable '****' which is (or contains) an array with unknown size at compile time

Description

I have the following code which fails with unsupported memory access on the variable 'src', which is (or contains) an array with unknown size at compile time:
 
void sInvTrans16_HEVCDec(tEmzInt16 *src, tEmzUint8 *predPtr, tEmzInt32 frameWidth)
{
lEEO[0] = sInvTran_4x4_Table[4]*src[ 64 ] + sInvTran_4x4_Table[12]*src[192];
lEEE[0] = sInvTran_4x4_Table[0]*src[ 0 ] + sInvTran_4x4_Table[8]*src[128];


How can I resolve this?

Solution

In this case 'src' is used as a pointer and has been accessed with non-sequential mode. 

This interface can be synthesized only when it has been declared as ap_bus.

Use the directive INTERFACE and set it as ap_bus.

For more information about using INTINTERFACE , please refer to (UG902)

http://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_4/ug902-vivado-high-level-synthesis.pdf

AR# 59829
Date Created 03/18/2014
Last Updated 03/25/2015
Status Active
Type Error Message
Tools
  • Vivado Design Suite - 2013.4
  • Vivado Design Suite - 2014.1
  • Vivado Design Suite - 2014.2
  • More
  • Vivado Design Suite - 2014.3
  • Vivado Design Suite - 2014.4
  • Less