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

2013.4 HLS @W [SYN-303] Cannot apply memory assignment of 'RAM_1P_LUTRAM' on 'xxx', which is not an array.

Description

When attempting to apply a LUTRAM directive on a signal I receive the following warning:

2013.4 HLS @W [SYN-303] Cannot apply memory assignment of 'RAM_1P_LUTRAM' on 'xxx', which is not an array.


Code Example:

template <typename T, typename T2, bool S, size_t W, size_t L> class
generic_array {
public:
T buffer;

Directive used:

#pragma HLS RESOURCE variable=offset.buffer core=RAM_1P_LUTRAM


Solution

The RAM_1P_LUTRAM directive is used to indicate that an array should be placed in to LUTRAM instead of block RAM.

In this example, T buffer; transforms to: ap_int <256> buffer;

The buffer signal in this example is a single 256-bit customer precision signal, but not an array.

Because the signal is not an array, the RAM_1P_LUTRAM directive can not be applied and the error is triggered.

AR# 60312
Date Created 04/16/2014
Last Updated 03/25/2015
Status Active
Type Error Message
Tools
  • Vivado Design Suite - 2013.4