FPGA HDMI SIGNAL PROCESSING APPLICATION

implemented on a Zybo-Z7020, a device with real-time HDMI signal processing and modified with Verilog and C++

Project Objectives

Our main objective for this project was to teach the FPGA board to read and manipulate images through the interaction of UART, and the same image to be displayed on the other monitor. This design is helpful becausethe FPGA board running with these peripherals and specifications can be utilized as anexternal monitor and project the same image through a different monitor.

− Video data streams through the HDMI port and through the HDMI source port.
− A UART interface to configure what is output through the HDMI.
− The three-frame buffer we use to help us manipulate what to display.

COMPONENTS USED

• FPGA Board
• HDMI Cables
• UART cable
• Two Laptops that work as our monitors or a simple monitor with an HDMI port.
• We also use download Vivado version 2018.2 to create our design

In this design layout you can see, we place an AXI direct memory access IP which provides high bandwidth memory access between the AXI peripherals that control Stream Subset Converter and AXI Stream to Video out, and other peripherals that help the board to transmit or invert the frame of the image out.

TROUBLESHOOTING

• We get some issues changing the resolution of the HDMI output to the monitor. But we get help from a tutorial on how to manipulate the code to capture to correct resolution and that way the FPGA board responds correctly.
• We successfully start/stop as a test streaming the video data from HDMI to the chosen video frame buffer. Furthermore, we invert and store the current video frame into the next video frame buffer and scale the current video frame to display the resolution, store it, and then display it in real-time on the other monitor.

CONCLUSION

• In conclusion, I believe that Zybo Z7-20 is a great first FPGA board. I found that while you can tell a CPU what to do, you can tell an FPGA board what to be. In this case, I told it to be a signal processing device, to display the image from one monitor to another allowing to invert the frame of the image with its I/O and oscillator capabilities. We also focus on simply processing and modifying an HDMI video signal in real-time. This will serve as a proof of concept before incorporating more advanced machine learning capabilities. Because of its cheap price, it is a great board to get a jumping-off point. A downside of the Zybo-Z7-20 is that there isn’t much guidance on how to get started. For this project, we didn’t know where to start, we know because of its peripherals and connectors, making the FPGA board invert frame with buffer and make the transition of images was not a difficult feat but we didn’t know where to start, and especially how to use VHDL well. We found a lot of resources (forums) online that help, but even then, it is still limited. But we were able to make this design work and I believe we accomplished our objectives

References and Resources