An Open Source HDMI Implementation For FPGAs

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. If you’re serious about video work, however, you’ll want something more capable. For those use cases, [purisame]’s got what you need – an open source HDMI implementation for FPGAs.

Unlike other free and open source projects in this space, [purisame] has eschewed simply outputting compatible DVI signals on the port. This implementation is pure HDMI 1.4b, enabling the extended capabilities this brings, like combined video and audio streams. Thus far, it’s been tested on Xilinx and Altera platforms, though it may be compatible with Lattice, too.

In addition to the code, [purisame] breaks down options for those looking at going into production with an HDMI device. Licencing the technology for sale can be a fraught area, so a lawyer is recommended if you’re heading to market. Oh, and funnily enough, if your really do want to do HDMI on an Arduino, there’s a shield for that, too. Natch!

34 thoughts on “An Open Source HDMI Implementation For FPGAs

  1. “Licencing the technology for sale can be a fraught area, so a lawyer is recommended if you’re heading to market.”

    Always have a lawyer on your shoulder while coding.

    This is what the current patent system requires for software developers.

    I thought we had freedom of expression.

      1. Just use pin headers for everything. If you keep the HDMI or USB data pairs close together it should work fine. I think Car charching connectors are in the same boat: the (or at least some) standards are open, but the connectors not.

  2. I have no idea why the industry insists on sticking to royalty ridden proprietary standards while superior free standards exist

    DisplayPort is much better than HDMI, but I have never seen it in real life.

    1. You won’t see DisplayPort at least for your HaD projects:
      – the serial data rate is too high for your low end easy to use FPGA

      HDMI for industrial use license cost:
      The royalty fee structure is the same for all volumes. The following variable per-unit royalty is device-based and not dependent on number of ports, chips or connectors:
      US$0.15 for each end-user licensed product.
      US$0.05 – If the HDMI logo is used on the product and promotional material, the per-unit fee drops from US$0.15 to US$0.05. Use of HDMI logo requires compliance testing.
      US$0.04 – If HDCP is implemented and HDMI logo is used, the per-unit fee drops further from US$0.05 to US$0.04.

      1. Only a couple? I thought it peaked around 2012, 2013… there were a lot of Radeon HD 3450 low profile cards around with it on for cheap that got into a lot of SFF desktops from HP and Dell.

    2. Because its a question of whats actually being used in the real world. I work in A/V and HDMI is almost universally used, carries video and audio and does not cause interoperability issues on the whole. Yes, there are licensing fees, but as pointed out this is only a few cents per interface. We did support DP once on our encoders, almost no one used them, so we removed support and reduced the cost of testing, documenting, and support calls.