There’s a good few options for exporting data out of FPGAs, like Ethernet, USB2, or USB3. Many FPGAs have a HDMI (or rather, sparkling DVI) port as well, and [Steve Markgraf] brings us the hsdaoh project — High-Speed Data Acquisition Over HDMI, using USB3 capture cards based on the Macrosilicon MS2130 chipset to get the data from the FPGA right to your PC.
Current FPGA-side implementation is designed for Sipeed Tang chips and the GOWIN toolchain, but it should be portable to an open-source toolchain in the future. Make sure you’re using a USB3 capture card with a MS2130 chipset, load the test code into your FPGA, run the userspace capture side, and you’re ready to add this interface to your FPGA project! It’s well worth it, too – during testing, [Steve] has got data transfer speeds up to 180 MB/s, without the USB3 complexity.
As a test, [Steve] shows us an RX-only SDR project using this interface, with respectable amounts of bandwidth. The presentation goes a fair bit into the low-level details of the protocol, from HDMI fundamentals, to manipulating the MS2130 registers in a way that disables all video conversion; do watch the recording, or at least skim the slides! Oh, and if you don’t own a capture card yet, you really should, as it makes for a wonderful Raspberry Pi hacking companion in times of need.
Long time ago I hoped Cypress FX3 USB3 bridge price would come down to earth into $10-20 range. No such luck :( leaving us with hacks like this one as the only reasonably priced option :/
You can buy a faster FT601 for $8.5.
This hack is barely faster then 1G Ethernet. 1G Ethernet makes more sense for the typical system.
What about send data from PC to fpga via HDMI?.
I understand you only have to send raw video data via HDMI output…
Missed opportunity in the naming: should call it Data Acquisition Yanked Over HDMI. Day-oh!
With apologies to Harry Bellafonte, and the Beetlejuice movies.
Yeeted?
Could be also interesting with Raspberry Pico with PicoDVI
Yes, I thought so to, so I had to implement it: https://github.com/steve-m/hsdaoh-rp2350
With my Pico2 boards and overclocking I reach around 75 MByte/s.