04-19-2018 09:18 AM
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) ?
01-08-2019 02:20 PM
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.
01-09-2019 03:43 AM
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.