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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer alexkroh
Observer
125 Views
Registered: ‎04-25-2015

Can't assign m_axi interface for global array

Jump to solution

I have am using HLS to synthesize a function that uses a global array that is shared by other functions. As such, the IP must provide an interface for accessing shared memory rather than instantiating internal storage resources.
A simplified representation of the function is below.

volatile char buf[1024];

void my_top_function(char* in, char* out){
#pragma HLS INTERFACE m_axi depth=1 latency=12 port=buf offset=slave bundle=gmem
#pragma HLS INTERFACE m_axi depth=1 latency=12 port=out offset=slave bundle=gmem
#pragma HLS INTERFACE m_axi depth=1 latency=12 port=in  offset=slave bundle=gmem
#pragma HLS INTERFACE s_axilite port=return bundle=cntrl
	int i;
	for(i = 0; i < BUF_SIZE; i++){
		out[i] = in[i] + buf[i];
	}

	return;
}

My understanding is that the directive that I have used for "buf" should result in buf being accessed via the gmem master interface of the IP. A register accessible via the s_axilite interface should provide the offset of the array.

 

Unfortunately, the generated driver does not provide a method for assigning this offset, and I see no attempt to access "buf" on "gmem" when using the debug probes.

Is this a bug in my code or a bug in Vivado HLS?

Thanks in advance,

 

 - Alex

vivado_version.png

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
Observer alexkroh
Observer
78 Views
Registered: ‎04-25-2015

Re: Can't assign m_axi interface for global array

Jump to solution

Turns out it is neither.

From the menus: Solution->Solution settings

Under "general", add the command "config_interface".

In the parameters for this command, option "expose_global" must be checked.

0 Kudos
1 Reply
Observer alexkroh
Observer
79 Views
Registered: ‎04-25-2015

Re: Can't assign m_axi interface for global array

Jump to solution

Turns out it is neither.

From the menus: Solution->Solution settings

Under "general", add the command "config_interface".

In the parameters for this command, option "expose_global" must be checked.

0 Kudos