The classic Game Boy remains a firm favorite in the realm of retrocomputing. Revolutionary as it was at the time, by today’s standards its display is rather primitive, with no backlight and a usable area measuring only 47 mm x 44 mm.
Tackling HDMI output from the ground up as my first major FPGA development project. Back in my first year of university I took a course on digital logic. The homework was tedious as you might expect: doing boolean arithmetic by hand, drawing state machine diagrams, using Karnaugh maps, etc.
If you just want to build, there is a build guide here there is also a gitter for a more interactive discussion if you just want to peak the code its on github.
SystemVerilog code for HDMI 1.4a video/audio output on an FPGA. Most free and open source HDMI source (computer/gaming console) implementations actually output a DVI signal, which HDMI sinks (TVs/monitors) are backwards compatible with.
With some clever hacks and fast IO work, it’s possible to get your average garden-variety microcontroller to output some form of video. Old analog standards like composite and VGA are just slow enough that it’s possible to bitbash one’s way to success.
Continuing from where I left off in Driving a Laptop LCD using an FPGA, I moved the ‘TMDS to LVDS converter board’ to perf board, and soldered the differential pairs from the LCD panel onto it. This setup was more stable, since there weren’t any loose wires like when I used the breadboard.
In Path to Programmable Blog 7 – Trying out a PL-only VGA design & Path to Programmable Blog 10 – MiniZed does DVI/HDMI, I used the MiniZed that was sent to the Path to Programmable challengers to generate VGA & DVI/HDMI video.
From Hamsterworks Wiki! There is no denying it, Analogue VGA is on the way out. Which is a shame really, because it is so easy to get an FPGA to drive a few resistors and put a picture up on the screen. It’s a great ‘stretch’ project for the FPGA first-timer. But it does have a downside.
README file for Artix 7 HDMI processing ======================================= Hi! This is my design for receiving HDMI input, then extracting the video data, the Video Inforframe and audio samples, then using that to display audio db meters on the top corner of the screen.
This is part of a series of posts detailing the steps and learning undertaken to design and implement a CPU in VHDL. Previous parts are available here, and I’d recommend they are read before continuing.