A field-programmable gate array or FPGA is a Gate Array that can be reprogrammed after it is manufactured, rather than during the manufacturing a programmable logic device. "field" is just an engineering term for the world outside the factory where customers live

Device manufacturers include

FPGAs are generally slower than their ASIC (application-specific integrated circuit) counterparts, and draw more power. However, they have several advantages such as a shorter time-to-market, and lower development costs (for quantities < 10k). An ASIC can be made that is a so-called hard copy of an FPGA - that is, an integrated circuit with the same functionality as the FPGA, but faster and consuming less power.

Many modern FPGAs have the ability to be reprogrammed at 'run time', and this is leading to the idea of reconfigurable computing or reconfigurable systems - CPUs that reconfigure themselves to suit the task at hand. Software-configurable microprocessors such as Stretch's S5000 adopt a hybrid approach by providing a processor core and an FPGA core on the same chip.

Applications of FPGAs include DSP, Software-defined radio, Aerospace and defence systems, ASIC Prototyping, Medical imaging and a growing range of other areas.

To define the behaviour of the FPGA it is required to use a Hardware Description Language (HDL) or a schematic designed using an Electronic design automation tool. Either of these, when compiled, will generate a net list, that can be mapped to the actual fpga architecture. When done the binary file generated is used to (re)configure the FPGA device. Common HDL's are VHDL and Verilog.

Basic process technology types

See also FCCM, field-programmable custom computing machine.

This page is linked from: Confluence   FCCM   Gate Array   OpenHW   programmable logic device   VHDL