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 woodpakka
Visitor
6,011 Views
Registered: ‎06-22-2012

Force initiation interval in streaming applications

I have constructed a multirate processing system in HLS, like a gaussian pyramid, where at every stage an image is downsized by a factor of two in each dimension. If I run the processing at the first stage with an initiation interval of 1, I need to increase the interval by a factor of 4 at every stage. I can specify this as an option to the pipeline directive, however, sometime HLS determines a shorter interval feasible and uses the shorter interval instead of the target II. This makes buffer size calculations between the individual modules extremely complicated. 

 

My question: Is there a way to force HLS to use the higher interval, even if a shorter interval is possible? 

 

Also, HLS should internally be aware of all the parameters it would need to automatically determine buffer sizes for streaming applications involving the hls_stream class. This might be an excellent feature to include in future releases.

0 Kudos
2 Replies
Xilinx Employee
Xilinx Employee
6,007 Views
Registered: ‎03-24-2010

Re: Force initiation interval in streaming applications

When PIPELINE directive is used, it should try to meet your requirement. If not, there must be something prevent it, such as array dependency. You can check the warning message if PIPELINE is not met.

Regards,
brucey
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Xilinx Employee
Xilinx Employee
5,977 Views
Registered: ‎11-28-2007

Re: Force initiation interval in streaming applications

Do you define a function and call it recurcively and each stage the image size is reduced by 4? It would be help if you can share your code.

 

 


@woodpakka wrote:

I have constructed a multirate processing system in HLS, like a gaussian pyramid, where at every stage an image is downsized by a factor of two in each dimension. If I run the processing at the first stage with an initiation interval of 1, I need to increase the interval by a factor of 4 at every stage. I can specify this as an option to the pipeline directive, however, sometime HLS determines a shorter interval feasible and uses the shorter interval instead of the target II. This makes buffer size calculations between the individual modules extremely complicated. 

 

My question: Is there a way to force HLS to use the higher interval, even if a shorter interval is possible? 

 

Also, HLS should internally be aware of all the parameters it would need to automatically determine buffer sizes for streaming applications involving the hls_stream class. This might be an excellent feature to include in future releases.




Cheers,
Jim
0 Kudos