Hello,
I am trying to implement the stereolbm algorithm from the Vitis Vision Library. I am working with an Ultra96v2 (PYNQ version 2.5), Vitis HLS 2023.2, and Vivado 2023.2.
I followed a tutorial that allowed me to modify the source file to implement HLS stream and DMA. When I try to transfer the files, I cannot get past the wait() phase. While reading around, I found that in the interface created for stream_inL, stream_inR, and stream_out, there are no TLAST signals. I understand that this is a problem related to the use of Vitis HLS, but I cannot solve it. I am sharing my HLS source and also the design in Vivado. Thank you very much in advance.
Thank you for your reply. Can you tell me how to modify it to make it work? In general, how to change the functions of Vitis Vision Library to have the axi stream interface?
Thank you. I edited the HLS file and am now able to see Tlast. In the notebook, however, I get stuck in wait().I’ve read that using wait() and PYNQ 2.5 always results in my error. The solution seems to be to move to PYNQ 2.4 Any help? Thank you
I’m sorry, I’ve already read this post several times without finding the answer to my problem. Sharing my notebook, hope it helps. stereoLBM_PYNQ_Test.ipynb (231.2 KB)
Hi, I really appreciate your help. Unfortunately, I have problems with each of the three wait()s in my code. Also, I checked the PYNQ version and it’s not 2.5, but 2.4. Thanks so much again.
I just noticed that if I try to use register_map with the bitdepth ip it gives me this error: AttributeError: ‘Registerwidth’ object has no attribute ‘_buffer’. Can this information help?
I think you should revisit how the vision IP expect tlast and tuser. If you want to use the vision library as it is, you should use a VDMA IP. Otherwise, you may want to double check how your IP expect those signals.
Hi, thanks for your reply.
I’m not using the Vitis Vision library as it is, I modified it to create the axi stream interface and now I’m able to synthesize it correctly. Is there a possibility that PYNQ 2.4 version is not compatible? Could upgrading to a new version solve my wait() problem?
sorry, i sent you the wrong code. In the example i’m using i defined 16 bits in output (the stereolbm ip produces a 16 bit disparity map). i also removed the convertbitdepth ip and changed the allocated buffer in the notebook, now it’s 16 bits. i don’t think it’s a size issue, however i still can’t get past the wait() execution. Are there any examples using the Vitis Vision library and axi stream?