Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎08-15-2020

Regarding a problem that high-resolution images cannot be output to HDMI

I wrote an IP core in vivado HLS. In this IP core, I defined a pointer using the m_axi port. This pointer points to an image pixel array cached in DDR. I will use this pointer to transmit the pixel information to IP core and form data flow.(Note: I stipulate that the output video stream is 800*600 resolution in HLS. Except for valid pixel information, the other positions are filled with 0 to ensure that the timing matches the VTC module.) Finally, it is output through the axis port, and the output data stream is output and displayed in HDMI through the "axi-stream to video out" module.  C simulation and synthesis of this IP core are completely correct, but there is such a problem in specific use:

If the array cached in DDR is relatively small (ie low resolution), such as 300*400, then HDMI can be driven and displayed normally; but if the array is relatively large (ie high resolution), such as 600*800, then HDMI cannot be driven. Through the test of the relevant flag bit, it can be known that whether it is a low-resolution or high-resolution image, the data in the pixel array in the DDR can be completely transmitted to the IP core, but why the high-resolution image cannot be output to HDMI? ?

This problem has troubled me for a long time. Thank you!

0 Kudos
1 Reply
Registered: ‎11-09-2015

Hi @S_J_Wave 

This is probably a bandwidth issue. The IP might not have enough time to process the data. You might want to refer to the following article:

Video Series 35 – Oh no! My video design does not work! What should I do?

Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**