A list of resources for learning about FPGAs and ASICs. Hardware can be bit pricier than microcontrollers and Raspberry Pis, so start with fundamentals and use hobby/learning boards and open source tooling
- Digital Design and Computer Architecture - Harris & Harris (le bible)
- Computer Architecture: A Quantitative Approach - Patterson & Hennessy
- Nandland.com - free, excellent beginner VHDL/Verilog tutorials
- HDLBits - interactive Verilog exercises (basically LeetCode for FPGA)
- SystemVerilog for Design - Sutherland
- Doulos SystemVerilog Golden Reference Guide
- The Complete Guide to Preparing for a High-Frequency Trading FPGA Developer Interview
- Design Recipes for FPGAs Using VHDL and Verilog - Wilson
- Arty A7-100T: Artix-7 FPGA Development Board
- Xilinx Vivado (free lite version)
- Quartus Prime (free lite version)
Introductory
- Boolean algebra, combinational vs sequential logic
- Flip-flops, registers, finite state machines (FSMs)
- Clock domains, metastability, synchronization
- Timing analysis: setup/hold times, critical paths
HDL Programming in SystemVerilog
- RTL design: always blocks, assign statements, modules, ports
- Parameterized modules, generate statements
- Simulation and testbenches
- Synthesis vs simulation semantics (very important distinction)
- Interfaces and packages in SystemVerilog
- Using Xilinx Vivado and Quartus Prime
- LibreLane
- SkyWater 130nm PDK
- Yosys
- OpenROAD
(This file is still under construction. Stay tuned for more resources.)