I think the best way to understand something is to try and build something interesting with it. This is a repository of hardware projects using FPGAs.
This is a summary of projects you will find in this repository.
These projects use the ULX3S board from Radiona labs:
https://github.com/mkvenkit/learn_fpga/tree/main/ecp5_ulx3s
These projects use the Lattice iCE40HX1k and the icestorm open source FPGA toolchain.
- led_chaser - a "hello world" for FPGA
- led_breathe - LEDs and PWM
These projects use the Lattice iCE40HX1k and the icestorm open source FPGA toolchain.
-
ultrasonic - talking to ultrasonic sensor HC-SR04 and displaying distance on a 4-digit 7-segment display
-
picosoc_gpio - simpe RISC-V based Picosoc demo that shows how to enable interrupts.
-
spram_test - demonstrates SPRAM block usage by displaying colour bars on VGA.
- blinky - a simple blinky in Migen/Python
These projects use the Xilinx Zynq SoCs which combine FPGA (PL) with ARM cores (PS).
-
blinky - this project (video, text, no source) shows you how to create a blinky on the PL of Xilinx XC7Z007S using the clock from the PS, using Vivado 2018.3.
-
simple_vga - a simple VGA project with a red grid and a yellow moving square.
-
video_ip_test - using Xilinx video IPs to show test patterns via VGA.
-
thermal_vga - displaying thermal sensor data via VGA