Field-programmable gate array
<hardware> (FPGA) A gate array where the logic network can be programmed into the device after its manufacture.
An FPGA consists of an array of logic elements, either gates or lookup table RAM
s, flip-flops and programmable interconnect wiring.
Most FPGAs are reprogrammable, since their logic functions and interconnect are defined by RAM cells.
The Xilinx LCA, Altera FLEX and AT&T
ORCA devices are examples.
Others can only be programmed once, by closing "antifuses".
These retain their programming permanently.
The Actel FPGAs are the leading example of such devices.
Atmel FPGAs are currently (July 1997) the only ones in which part of the array can be reprogrammed while other parts are active.
As of 1994, FPGAs have logic capacity up to 10K to 20K 2-input-NAND-equivalent gates, up to about 200 I/O pins and can run at clock rate
s of 50 MHz or more.
FPGA designs must be prepared using CAD
software tools, usually provided by the chip vendor, to do technology mapping, partitioning and placement, routing, and binary output.
The resulting binary can be programmed into a ROM
connected to the FPGA or downloaded to the FPGA from a connected computer.
In addition to ordinary logic applications, FPGAs have enabled the development of logic emulators.
There is also research on using FPGAs as computing devices, taking direct advantage of their reconfigurability into problem-specific hardware processors.