An FPGA is configurable digital logic: the design becomes hardware structure after synthesis, place-and-route and bitstream generation.
Engineering FPGA knowledge base
Articles are linked to boards, chips, toolchains, sources and warnings.
Results
Pick the first board by toolchain access, verified examples, documentation, community help and a realistic first project.
Timing answers whether signals can travel through logic and routing quickly enough for the target clock and I/O constraints.
The practical FPGA flow is lint/simulation, synthesis, constraints, place-and-route, timing, bitstream, programming and board validation.
Yosys is an open-source synthesis tool; nextpnr is a portable place-and-route tool supporting several FPGA architectures through device databases.
Vivado is AMD's FPGA design suite for modern Xilinx/AMD FPGA and SoC families.
Quartus Prime is Intel's FPGA design suite for Intel/Altera FPGA, CPLD and SoC FPGA devices.
Gowin EDA is the vendor flow for Gowin FPGA families used by Tang and Gowin starter boards.
Install the open iCE40 flow, run the LED example, verify PCF constraints and then add Pmod experiments.
FPGA order codes encode family, density, package, speed grade, temperature range and sometimes feature variants.
Pinout verification means matching board revision, schematic, FPGA package, bank voltage, connector map and constraint file before connecting hardware.
Include board, FPGA part, toolchain version, exact error, constraints, minimal code and what was already tested.
Most beginner failures come from missing constraints, misunderstood clocks, latch inference, multiple drivers, skipped simulation and wrong board variant.
GHDL is an open-source VHDL simulator and synthesis-related tool used in VHDL verification and open FPGA flows.
UART is the simplest board-visible debug channel, but it still needs clock-derived baud timing, synchronizers and a testbench.
A RISC-V softcore project needs enough logic, memory, a debug path, firmware build flow and a board-specific memory/IO map.
Linux-capable FPGA projects need a CPU subsystem or large softcore, external memory, storage or boot media, console and a reproducible software build.
The reference is valuable for JSON records, schema validation, part decoding, filters, comparison and PR workflow; fpga.camp adds multilingual knowledge graph behavior.
Glossary
Field-programmable gate array: configurable digital logic fabric programmed after manufacturing.
Programmable logic device usually smaller and more deterministic than an FPGA.
Look-up table used as a basic FPGA logic element.
Sequential storage element usually clocked by a clock edge.
Dedicated block memory inside FPGA fabric.
Dedicated arithmetic block for operations such as multiplication and accumulation.
Clock management block used to generate or condition clocks.
Configuration data loaded into an FPGA to realize a design.
Conversion of HDL into a gate-level or technology-mapped representation.
Mapping logic to physical locations and routing signals between them.
Timing analysis that checks paths against constraints without dynamic simulation.
Timing margin between required and actual path timing.
Clock domain crossing; transfer of signals between different clock domains.
Unstable state of a sequential element when setup or hold assumptions are violated.
File describing pin assignments, clocks, I/O standards and timing constraints.
AMD/Xilinx Design Constraints format used by Vivado.
Synopsys Design Constraints format used by multiple FPGA tools.
Physical constraints format commonly seen in open iCE40 flows.
Quartus Settings File used in Intel FPGA projects.
Constraint format used in Gowin FPGA projects.
Small expansion connector ecosystem popular on educational FPGA boards.
FPGA Mezzanine Card connector standard for expansion modules.
Debug and programming interface used by many FPGA boards.
Asynchronous serial interface often used for simple board debug.
Synchronous serial interface commonly used for flash and peripheral chips.
Two-wire serial bus often used for low-speed control devices.
AMBA interconnect protocol family widely used in SoC FPGA designs.
Open interconnect bus used in many open-source FPGA SoC projects.
Processor implemented in FPGA fabric rather than as hardened silicon.
Retrieval-augmented generation; answering with retrieved source-backed context.