A field-programmable gate array (FPGA) is an integrated circuit whose internal logic and interconnect can be reconfigured by the user after manufacture to implement arbitrary digital circuits. It comprises a fabric of programmable logic blocks, embedded memories, and routing that is configured from a hardware description language. FPGAs deliver hardware-level parallelism and low latency while remaining reprogrammable, sitting between fixed ASICs and general-purpose processors.
Overview
- An FPGA fabric contains thousands of configurable logic blocks (lookup tables and flip-flops), embedded block RAM, DSP slices, and a programmable routing network.
- A bitstream, generated by synthesising and placing-and-routing an HDL design, configures the fabric to behave as the desired circuit.
- Because the same silicon can be reprogrammed, FPGAs offer hardware parallelism and deterministic low latency without the non-recurring cost of fabricating a custom chip.
- Modern devices integrate hard processor cores, high-speed transceivers, and AI-oriented blocks, blurring the line with system-on-chip designs.
Key aspects
- Reconfigurability: the design can be changed in the field, unlike a fixed ASIC.
- Parallelism: independent logic can run concurrently, exploiting spatial computation.
- Toolflow: HDL synthesis, place-and-route, and timing closure produce the configuration bitstream.
- Trade-offs: higher unit cost and power than an ASIC, but far lower cost and faster turnaround at low volume.
Applications
- Hardware acceleration of signal processing, networking, and cryptography.
- Inference accelerators and prototyping of custom AI dataflows.
- Low-latency trading, instrumentation, and emulation of future ASICs.