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: 
Visitor boring
Visitor
306 Views
Registered: ‎02-10-2018

Passing an entire structure to HLS block at the beginning

Hello,

 

i'm synthesizing a C function in HLS. It takes a great structure as input (6 large arrays inside).

HLS does a RTL that passes only 2 arrays at the start, and then calls values from the 4 others all along the execution. I assume this optimize BRAM required.

However, this behaviour does matter for me. Is there any way to force HLS to load all datas (all my structure/arrays) at the start (even if it increases BRAM required) ?

 

Thanks.

0 Kudos
2 Replies
Voyager
Voyager
83 Views
Registered: ‎10-23-2018

Re: Passing an entire structure to HLS block at the beginning

@boring

If I understand your question... yes, If you have data that will remain valid across calls, it would be better to set up once, then just reference on subsequent calls.

Hope that helps

If so, mark as 'solution accepted' to close issue.

0 Kudos
Scholar u4223374
Scholar
59 Views
Registered: ‎04-26-2015

Re: Passing an entire structure to HLS block at the beginning

If you make a copy of the structure internally (eg. using a loop to copy the input arrays to a internal arrays at the start) and then insert a call to ap_wait(), I think that will work. ap_wait() should force everything before the call to complete before anything after the call starts.

0 Kudos