mirror of
https://github.com/steve-m/hsdaoh-fpga.git
synced 2025-12-10 07:44:45 +01:00
33 lines
1.9 KiB
Markdown
33 lines
1.9 KiB
Markdown
# FPGA implementation of hsdaoh - High Speed Data Acquisition over HDMI
|
|
|
|
This repository contains the FPGA implementation and example designs for the Tang Nano/Primer series of FPGA boards. For more information see the [main repository](https://github.com/steve-m/hsdaoh).
|
|
|
|
The example design generates a 16 bit counter, that then can be verified on the host. With a small modification to the clk_data process in the top-file of your respective FPGA board you can stream your own payload data.
|
|
|
|
## Building the desgin
|
|
Currently, the bitfiles must be generated with the GOWIN IDE (V1.9.11.03 Education). See [here](https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-Doc/install-the-ide.html) for more information on how to set up the IDE.
|
|
|
|
For launching on Arch Linux:
|
|
|
|
rm ./IDE/lib/libfreetype.so.6
|
|
LD_LIBRARY_PATH=./IDE/lib/ ./IDE/bin/gw_ide
|
|
|
|
|
|
In the future, it might be possible to use the Open Source toolchain ([Yosys](https://github.com/YosysHQ/yosys) + [nextpnr-himbaechel](https://github.com/YosysHQ/nextpnr) + [apicula](https://github.com/YosysHQ/apicula)). This is currently blocked by the lack of the CLKDIV primitive
|
|
in the Open Source tools.
|
|
|
|
## Loading the bitfile
|
|
|
|
The bitfile can be either loaded with the GOWIN Programmer, or with [openFPGALoader](https://github.com/trabucayre/openFPGALoader).
|
|
|
|
Here is an example commandline for loading the bitfile on a Tang Nano 20K:
|
|
|
|
openFPGALoader -b tangnano20k hsdaoh_nano20k_test.fs
|
|
|
|
## Testing the design
|
|
|
|
After loading the bitfile, connect the FPGA board to a MS2130 HDMI grabber and confirm that the video output is working. You then can use hsdaoh_test to verify the counter values.
|
|
|
|
## Credits
|
|
|
|
The hsdaoh FPGA design was developed by Steve Markgraf, and is heavily based on the [HDMI IP core](https://github.com/hdl-util/hdmi) by Sameer Puri and also uses the [asynchronous FIFO](https://github.com/dpretet/async_fifo) by Damien Pretet.
|