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: 
Contributor
Contributor
125 Views
Registered: ‎08-27-2018

Automatic HLS pragma insertion

Hi.

It may sound silly, but I am very curious if there is any tool (or a list of tools) to automatically insert HLS pragmas in a functional C code, and re-structure it (if required) to make it synthesisable and efficient for FPGAs.

Thanks 

0 Kudos
2 Replies
Moderator
Moderator
115 Views
Registered: ‎06-24-2015

Re: Automatic HLS pragma insertion

@immwn

Every user has a different requirement from their design. Some could want lesser resource utilization, some could want better latency, or some would want a balance of both. Again, the designs are very different and the effect of directives on the designs will be different. So it is better if the user can apply the directives as per his requirement.

Hence, we do not have any such "automatic" pragma/directive insertion technique as of now.  

Thanks,
Nupur
--------------------------------------------------------------------------------------------
Google your question before posting. If someone's post answers your question, mark the post as answer with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (click on the 'thumbs-up' button).
0 Kudos
Scholar u4223374
Scholar
75 Views
Registered: ‎04-26-2015

Re: Automatic HLS pragma insertion

@immwn

No, not yet. We might see some automatic pragma insertion before too long (eg. having HLS just automatically pipeline any bottom-level loop would probably be a good idea), but code restructuring is a massive project that probably won't happen for 10+ years.

In any case, the primary purpose of this would be to feed HLS "normal" C programs, but often those are simply not implementable by HLS because they rely on features that HLS cannot support (OS functions like printf and fprintf, pointers to pointers to pointers, multithreading, dynamic memory allocation).

 

0 Kudos