An FPGA is a general-purpose, multi-level programmable logic device that can be customized by application designers.

An FPGA consists of two dimensional arrays of programmable logic blocks, connected by a programmable interconnect structure. The programmable interconnect between blocks allows users to implement multi-logic functions.
 
 
Shown here in figure 1 is an example of an FPGA Structure. Horizontal and vertical routing channels surround logic blocks.

Shown here in figure 2 are details of an FPGA routing structure. Vertical and horizontal routing channels surround the CLBs, or Configurable Logic Blocks, containing Single-Length lines, Double-Length Lines and Loglines.