Measuring Video Input Delay with FPGAs

A clever demonstration of how FPGAs combined with analog electronics can be used for measurements not achievable with typical SBCs.

Whitney Knitter
2 years agoFPGAs / Photos & Video

Have you ever wondered how long it takes the digital signal to make it from a source to the screen of your TV? Digital maker Mike Kibbel did just that by using an FPGA with custom photodiode circuit when he wanted to know what the delay was within the 0.1 millisecond range between the game being played on the NES (Nintendo Entertainment System) emulator running on the FPGA and the TV connected to it via DVI.

Using the Nexys A7-100T FPGA development board from Digilent, Kibbel sends an image to a display using a Lattice Semiconductor SiI 164 DVI chip. A custom Pmod board with a circuit comprised of a photodiode, op-amp, and comparator then detects illuminated pixels on the TV so the FPGA can then calculate the time difference/delay.

The clever photodiode circuit measures input delays to groups of pixels at various positions around the screen using a 720p signal at 60 Hz, which it then feeds back to the HDL design on the FPGA written in SystemVerilog.

As a high-level description, the HDL design running on the Artix FPGA of the Nexys board starts a timer when a pixel's data is sent to the DVI chip (the 24bpp-DDR version of the Pmod Digital Video Interface from 1BitSquared) and stops the timer when the photodiode circuit detects the pixel illuminated on the TV screen.

This project is a perfect demonstration of the superior timing capabilities of an FPGA as compared to a microcontroller or microprocessor, neither of which would have been able to provide the 0.1 millisecond timing resolution Kibbel was able to achieve here. This project is also a brilliant implementation of the growingly lost art-form of analog electronics. I highly recommend reading Kibbel's full account of his design journey here.

Whitney Knitter
All thoughts/opinions are my own and do not reflect those of any company/entity I currently/previously associate with.
Latest articles
Sponsored articles
Related articles
Get our weekly newsletter when you join Hackster.
Latest articles
Read more
Related articles