09-15-2020 06:08 AM
I am trying to implement an iterative algorithm for image processing in HLS.
using HLS 2019.1. So I have my functions in place and the IP generates the expected output, but the algorithm is not complete yet.
I use a line buffer to feed in my image data to the IP and generate the output(as done in Xilinx's HLS example designs), but the algorithm has to this iteratively for N times, and ideally, I would like to be able to control this N, but for now, let's suppose its 5. So once I go through the entire process and throw the image out, I want to take this output back into my IP repeat the process 5 times, then apply some final operations and send the output out.
I would like to understand if something of this sort can be done and if, how do I proceed. I did look for examples and relevant information but really could not find much.
Hoping for some right direction here. This will enable me to implement a whole new set of algorithms.
09-15-2020 10:32 AM
09-15-2020 08:57 PM
Thank you for your suggestion, and if I have understood correctly you want me to call the same function 5 times. right?
See, if you read my problem statement above, I do want to apply the same function 5 times but not to the same image. The output from the first iteration becomes the input for the next iteration. For this, the output image that is stored in the build folder(default) has to be added to the test bench. Currently, for testing, I do that manually just to check the output but for final implementation but I need a better way. I am not sure but I think VDMA has to come into play. Looking into that option
Also adding multiple instances of the same IP in the design is extreme. Inefficient. Not even an option..just think if I need 15 iterations! Then, I cannot have 15 IPs lined. So that's the problem.
09-15-2020 11:09 PM