New to FPGA - HDMI project

Hi all,

I’m new to FPGA’s but have a background in PIC/Arduino projects. I would like to grab a mojo board and the HDMI shield and then be able to make modifications to the image “live”.

I imagine I can store the image in a frame buffer and then output that frame rather than processing pixel by pixel in a live fashion. (separating the input and output clocks). Going forward I would like to be able to do things like fade to and from black (or other colour), load in stills into a separate buffer and fade to and from them, And possible scale 1/4 of the screen input to be full output. I realise this is all quite ambitious, but the mojo and HDMI shield look like they would fit the bill for learning how to do these things?

Anyone got any tips, advice or suggestions or support they would like to share with me?

Thanks,
Matt

Hey Matt,

The HDMI capabilities of the Mojo are pretty limited. The SDRAM speed is just a bit too slow for most applications.

The Alchitry Au and Hd would be a better choice. We are finishing up the Hd (basically the same as the HDMI Shield but in the Alchitry form factor and without SDRAM) and it should be available in a month or so (waiting on a prototype to confirm the design).

For the Mojo we had examples for reading frames, generating frames, and passing frames (with possible edits) through. We will have similar examples for the Au.

Justin

Hi Justin,

Assuming I didn’t want to do anything past 720p/50, the mojo would be ok for this? As I said for me this is to learn, and I want to get going soonish. Happy to wait a month or two for the hd if the prototype worked out ok?

Re the buffer, the 720p would be a 72010283 bits/frame ~2.8MB/frame, so I think that means I could store 10 or 11 frames.
Being SDRAM at 100Mhz, that would be 100MB/s read+write speed. But at 720p/50 it would need ~2x138MB/s for read and write, so this would be a limiting factor? (but might be able to do monochrome? (72012802*50 <100,000,000))

With the Au having DDR3, with a speed of 10Gb/s, (192010803850 =~2.5Gb/s) a 1080p/50 image would be fine speed/transfer wise? I assume given the DDR3 that the Artix 7 would indeed be capable of sending/receiving 1080p/50 video streams? (I think it wasn’t possible on the mojo due to the internal clocking?)

UHD (4k) (384021603850 =~9.95Gb/s) should also be possible memory wise, but not sure if it can handle the pixel clock (594Mhz-600Mhz i believe) ?

New to high speed/HDMI and FPGA stuff and don’t really see many answers online, so thanks for taking the time.