/ˌɛf piː ˌdʒiː ˈeɪ/

noun — "reconfigurable digital logic hardware."

FPGA, short for Field-Programmable Gate Array, is an integrated circuit that can be configured by a user or designer after manufacturing to implement custom digital logic. Unlike fixed-function ASICs, FPGAs offer reprogrammable flexibility, allowing designers to define complex circuits, state machines, or processing pipelines using hardware description languages (HDLs) like VHDL or Verilog. This makes them widely used for prototyping, high-performance computing, signal processing, and embedded systems applications.

Technically, an FPGA consists of a large array of configurable logic blocks (CLBs), programmable interconnects, and I/O blocks. Each logic block can be configured to implement simple combinational or sequential logic functions. The interconnects allow these blocks to be wired together in virtually any digital circuit topology. The device is programmed using a **bitstream** that configures the internal connections and logic behavior.

Example conceptual configuration:


# configure a simple 4-bit adder
CLB0: implement sum logic
CLB1: implement carry logic
interconnect: route outputs from CLB0 & CLB1 to output pins
# FPGA executes logic in hardware at near-parallel speed

Operationally, FPGAs can implement anything from small glue logic to complete CPU cores or digital signal processing units. Designers often use simulation tools to verify behavior before generating the configuration bitstream. The flexibility of FPGAs also allows dynamic reconfiguration in some systems, where parts of the device are reprogrammed on the fly to perform different tasks.

In embedded workflows, FPGAs are commonly paired with microcontrollers or CPUs to accelerate computation, handle high-speed I/O, or perform parallel processing tasks that are impractical in software. They are also used for hardware emulation, cryptography, network packet processing, and prototyping ASIC designs before committing to production.

Conceptually, an FPGA is like a blank canvas of digital gates. You paint the circuit you need using configuration data, and the chip executes it in hardware at high speed, offering the flexibility of software with the performance of dedicated electronics.

See HDL, Microcontroller, Embedded Systems, ASIC, Digital Signal Processing.