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.

Provenance