Neither the Digilent Arty S7 nor the A7 have an HDMI source on board. However, Colin Riley over at Domipheous Labs successfully used one of the built in high speed PMODs with an appropriate adaptor and managed to get it working.
Taking a cue from his post, I tested this with manual HDMI connector block and it worked, but is messy as hell:
So I spun up a few PCBs in Eagle and had them made (again from PCBWay) and tried to get this working. Note that this is basically just an adaptor – there is no active electronics on this PCB.
First lesson, the HDMI surface mount connector I used has ~21 pins in about 11mm. This leaves 0.25mm per pin assuming a 0.25mm gap. This is really painful to hand soldier. I managed to get 2 working boards from the 7 I attempted. ProTip: Having an HDMI terminal block is critical to make sure you’ve soldered it correctly and have no shorts. A reflow oven would also be useful and I may buy a cheap one off ebay if I do a lot more PCB work.
BOM for parts:
1 x Molex 47151-1051 HDMI connector (e.g. this)
1 x Right Angle 0.1″/2.54mm right angle 12 pin 2×6 (e.g this)
Optional: 1x 1.25mm x 1.4mm SMD LED (shows the PMODs power is connected)
Optional: 1x 1206 SMD resistor to match the above LED (assume input voltage is 3.3v)
See my Logic Level Shifter post for LED/Resistor calculations.
All soldered up it comes out like this;
I’ll do a future post on using it on the FPGA (or you can use Colin’s post above) but if you’ve got this far it should be fairly obvious – there’s 4 matching sets of pins (clk, r, g, b)(+/-) and a gnd pin. The path lengths are vaguely matched. The power pin is just for the optional LED. The other features of the HDMI spec (e.g. CEC) are connected to ground as appropriate.
The board is (briefly) shown in this video at the top with the green LED.
I’ve successfully used this on a number of small portable LCD displays and one of my computer monitors. Neither the other computer monitor nor any of my TVs work with it – but I think thats more likely a timing issue with my signals than this piece of hardware.