Stands for "Field-Programmable Gate Array." An FPGA is an integrated circuit that can be customized for a specific application. Unlike traditional CPUs, FGPAs are "field-programmable," meaning they can be configured by the user after manufacturing.
FPGAs contain programmable logic blocks that can be wired in different configurations. These blocks create a physical array of logic gates that can be used to perform different operations. Because the gates are customizable, FPGAs can be optimized for any computing task. This gives FPGAs the potential to perform operations several times faster than a hard-wired processor.
Field-programmable gate arrays are typically customized using a hardware description language, or HDL. A programmer can use HDL commands to configure the gate interconnects (how the gates connect to each other) as well as the gates themselves. For example, a gate may be assigned a boolean operator, such as AND, OR, or XOR. By linking several gates together, it is possible to perform advanced logic operations.
Since FPGAs are designed to be programmed for specific applications, they are not suitable for personal computers. However, they have a wide variety of field applications. Examples include telecommunications, data centers, scientific computing, and audio/video processing. Besides being used in servers and high-end computers, they can also be implemented in electronic devices, such as TVs, radios, and medical equipment.