cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Visitor
Visitor
6,074 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
Highlighted
Xilinx Employee
Xilinx Employee
6,070 Views
Registered: ‎03-24-2010

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
Highlighted
Xilinx Employee
Xilinx Employee
6,040 Views
Registered: ‎11-28-2007

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