Thank you for such a quick reply. I have implemented your code without any change in Vitis HLS 2020.1, it shows this error:
ERROR: [HLS 207-2542] declaration of 'pyrdown_accel' has a different language linkage: pyr_down/pyrdown_accel.cpp:49:54
INFO: [HLS 207-70] previous declaration is here: pyr_down/xf_axis_config.h:17:6
So I have commented out the function line in header files. //void pyrdown_accel(axis_t* src,axis_t* dst, int in_rows, int in_cols, int out_rows, int out_cols);
Hi @rock ,
Have you used Vitis HLS to generate the IP? or Vivado HLS 2019.2. Because in Vivado HLS 2019.2, itâs working fine. But in Vitis HLS 2020.1, no luck so far.
Also, even tlast is generated in 2019.2, still in PYNQ it stuck at DMA receiver side for resizer IP. I have tried with testbenches, it works flawlessly, so I just made another controller IP to control the IP from PYNQ.
It would be great if you could suggest some solution for Vitis HLS 2020.1.
I donât know your issue, but as I mentioned above, with my suggested changes, I was able to generate the IP with TLAST. You should not need to comment anything in the header.
My apologies, I didnât understand you correctly.
I just exactly copied your code for pyrDown and tried to generate the IP in Vitis HLS 2020.1. I changed nothing at all. It was showing the error in the header file for mentioned error. If I delete/comment it out, it generates the IP without any error, but Tlast doesnât show up.
I think if you try with Vitis hls 2020.1, you will face the same error, as in both windows and ubuntu I am having the same result.
Also a few days back, I tried with Vivado HLS 2020.1 (which should be run from the command line interface), I had to comment out (iostream header file) and edited some lines in the library code. It was generating the core with Tlast. No problem with both PYNQ and PL testing. But most of Vision library functions shows lots of error with Pragmas and variables (in Vision library include files) in Vivado HLS (which must be handled before generating the IP). I have synthesized some of them and tested them. those are running fine.
Now I am trying to implement the undist function for correcting lens distortion. As usual there are errors showing up in vivado hls, which doesnât show up in Vitis HLS.
I see that the problem could be solved by rewriting axis2mat and mat2axis functions.
Still I would like to use the convenience functions already provided (and recommended) by Vitis. As far as I understand xf::cv::ap_axiu from xf_axi_sdata.hpp should not be used until it is fixed in next release, but the version in ap_axi_sdata.hpp should work. I will try synthesizing using the ap_axiu from the ap_axi_sdata.hpp.
@rock I used your template, but I also get an interface without tlast and only 8 bit tdata even I specify 24 bit width like @mizan. You can find my project here:
try the same code with Vivado HLS 2020.1 (run it from command prompt). It will generate the core and works properly (you might need to take care of some PIPELINE and DATAFLOW pragma errors).
Have you tried to use the 8 pixels per word mode on your Memory-mapped image resizer version? Or do you have any clue of the modification that need to be done during Vivado design/notebook implementation?