Handy recipes for solving FPGA problems. See also recommended FPGA sites.
Graphics
See Graphics Tutorials for display controllers, bitmaps, sprites, and drawing.
Hardware & Devices
- SPRAM on iCE40 FPGA - use SPRAM with Yosys and compare it with Block RAM
- Memory Types - understand FPGA memory types, including BRAM, HBM, SRAM, and DRAM
- Initialize Memory in Verilog - use $readmemh and $readmemb to initialize RAM or ROM
- Video Timings: VGA, SVGA, 720p, 1080p - work with standard monitors and TVs
Maths
See the new Maths Tutorials for topics including vectors, fixed-point numbers, division, and DSPs.
- Sine & Cosine - lookup sine and cosine from ROM
- Square Root - calculate square roots for integers and fixed-point
Tools
- Verilog Simulation with Verilator and SDL - blazingly fast way to simulate your designs
- Verilog Lint with Verilator - quickly check your Verilog designs
- iCE40 FPGA Toolchain on Linux - building an open source FPGA toolchain for iCE40
- FPGA Tooling on Ubuntu 20.04 - testing FPGA tools with Ubuntu 20.04 Focal Fossa
Get in touch with @WillFlux or join me on GitHub Discussions and 1BitSquared Discord.