11-29-2019 03:47 AM - edited 11-29-2019 04:20 AM
I have a problem with the usage of the multiple VDMAs. I have implemented a design such that after taking 2 video stream from 2 TPGs, I mixed them for picture in picture purpose. The project works up to that point. However , I want to implement motion detection project on this picture in picture video. My logic(con be wrong) is to write the output video streams of the video mixer to the DDR3 via a VDMA(VDMA1 for just writing to DDR3) and by the help of the 2 VDMAs(VDMA2,VDMA3, just for reading), I wanna read the DDR3 for motion detection purposes. I wrote a HLS block for motion detection based on frame difference. Therefore, I wanna have current and previous frames for this HLS block for further process. a 3 buffer VDMA1 starts to write to the RAM starting from 0x20000000 and ends at 0x201FFFFF ,while 1 buffer VDMA2 reads it starting from 0x20000000-0x200FFFFF and VDMA2 reads it starting from the address of 0x20100000 to 0x201FFFFF.
Fsync pins of the video timing controller is connetected to the VDMA1,VDMA2,VDMA3 for the synchronization. However, design doesnt work. Even the ILA core gives no output for the working part too. The below image is to show the logic. and I simulate the HLS block and it works. VDMAs configurations are handled in SDK but it looks like in figure.What can be the problem I am stuck.
12-03-2019 09:42 AM
It is hard to see where the issue might be comming.
So you might want to add an ILA to multiple part of the design and check for the tready/tvalid signals as I mention in my Video Series 31 – Debugging a Video System using an ILA
Also, you might want to check for the status register of the VDMAs to see if there are any error flagged. You can refer to my Video Series 25: Debugging issues on the AXI VDMA IP
This should help you to find the source of the issue
12-03-2019 05:51 PM
Thank you for answering first,
In picture in picture part(before adding motion detection part) everything works well when ı connect ILA to the output of the mixer. Datas coming going bla bla. However, when I add motion detection part, the part which works very well suddenly is being stuck and always gives 8000, 80ff,80fe continuosly. I know how to use ILA but something goes wrong in the hardware.
12-04-2019 12:19 AM
My previous reply was to help you to find where and why things are going wrong in the design. I cannot help only from the description you are giving. We need more investigation. Thus we need to see if IPs are producing/consuming data with an ILA and maybe if the VDMA are working properly by checking their status register