FPGA (Field-Programmable Gate Array)
FPGA is an integrated circuit designed to be configured by a customer or a designer after manufacturing.
Resources & Tips
- fpga4fun - Excellent hands-on FPGA tutorials.
- FuseSoC - Package manager and build abstraction tool for FPGA/HDL projects.
- List of HDL Simulators
- Intro Video - What is an FPGA?
- Cheap FPGA Development Boards
Why FPGA?
- Versatility: 可以做任何事 (Can implement any digital logic).
- Performance: 非常快 (Extremely fast processing).
- Parallelism: 大量的并发 (Massive concurrency).
- High I/O: 高 IO capabilities.
Key Concepts
- CLB: Configurable Logic Block.
- IOB: I/O Block.
- LUT: Lookup Table.
- LE (Logic Element): 最小单位 (The smallest unit) = LUT + Flip-Flop + MUX.
- Flip-Flop: 触发器.
- PWM: Pulse Width Modulator.
- MUX (Multiplexer): 数据选择器.
Major Vendors
- Intel Altera
- Xilinx (now part of AMD)
- Lattice Semiconductor
- Microsemi
- Achronix
Intel Altera
- Altera FPGA Overview
- Cyclone Family: 低功耗, 低成本 (Low power, low cost).
- Quartus: Development Environment.
- Device Part Number Format
FAQ
- VHDL vs. Verilog: The two primary Hardware Description Languages.