Computing Library › Digital Logic & Circuits
Digital Logic & Circuits

FPGA Fabric

An FPGA implements arbitrary logic on a fabric of programmable lookup tables, flip-flops, and configurable routing set after manufacture.

Configurable Logic

A field-programmable gate array (FPGA) is a chip whose function is decided after it is manufactured, by loading a configuration. Its fabric is a sea of small programmable blocks and a programmable interconnect. By setting the configuration bits, a designer wires these blocks into any digital circuit the fabric can hold, and can erase and reconfigure it later.

Lookup Tables and Logic Blocks

The core element is the lookup table (LUT), a tiny memory that implements any Boolean function of its inputs by storing that function's truth table; a 6-input LUT stores 64 bits and can realize any function of six variables. LUTs are grouped with flip-flops, carry logic, and multiplexers into configurable logic blocks. The carry logic makes adders efficient; the flip-flops provide sequential state.

More Than Logic

Modern FPGAs embed hardened blocks for common needs, because building them from LUTs would be wasteful: block RAM for on-chip memory, DSP slices with dedicated multipliers and accumulators for arithmetic, PLLs and clock managers for timing, and high-speed SerDes transceivers for I/O. These hardened resources give FPGAs the density and speed to tackle serious signal processing and interfacing.

The Flow and Its Uses

The design flow mirrors ASIC design up to a point: HDL is synthesized, then placed and routed onto the specific fabric, producing a bitstream that configures the device. Because the same silicon can be reprogrammed, FPGAs suit prototyping, evolving standards, and low-to-moderate volumes. Their deterministic, hardware-level parallelism makes them well suited to real-time control and data acquisition, including the fast, low-latency signal processing found in scientific and experimental instrumentation.