Manufacturers:
~ XILINX
~ Altera
~ Lattice
~ Actel
~ Quick Logic
~ Atmel
~ Achronix

Definition:
~ FPGA is a semiconductor device containing programmable logic components and programmable interconnects
~ programmable logic components can be programmed to duplicate the functionality of basic logic gates such as AND, OR, XOR, NOT
~ or more complex combinational functions such as decoders or simple math functions
~ in most FPGAs, programmable logic components (logic blocks) also include memory elements,
~ which may be simple flip-flops or more complete blocks of memories
~ a hierarchy of programmable interconnects allows logic blocks of an FPGA to be interconnected as needed by system designer
~ these logic blocks and interconnects can be programmed after the manufacturing process by the customer/designer
~ (hence the term "field programmable") so that the FPGA can perform whatever logical function is needed
~ disadvantages: FPGAs are generally slower than ASIC counterparts, can't handle as complex a design, and draw more power
~ advantages: a shorter time to market, ability to re-program in the field, lower non-recurring engineering costs
~ vendors can sell cheaper, less flexible versions of their FPGAs which cannot be modified after design is committed
~ development of these designs is made on regular FPGAs and then migrated into a fixed version that more resembles an ASIC
~ complex programmable logic devices, or CPLDs, are another alternative

Waves:
~ many modern FPGAs support full or partial in-system reconfiguration, allowing their designs to be changed "on the fly"
~ either for system upgrades or for dynamic reconfiguration as a normal part of system operation
~ some FPGAs have capability of partial re-configuration letting one portion of device be re-programmed while other portions continue running
~ a recent trend has been to combine logic blocks and interconnects of traditional FPGAs with embedded microprocessors and related peripherals
~ to form a complete "system on a programmable chip"
~ examples Xilinx Virtex-II PRO and Virtex-4 devices, which include one or more PowerPC processors embedded within the FPGA's logic fabric
~ Atmel FPSLIC uses an AVR processor in combination with Atmel's programmable logic architecture
~ an alternate approach is to make use of "soft" processor cores that are implemented within the FPGA logic
~ cores include Xilinx MicroBlaze, PicoBlaze, Altera processors, open source LatticeMico8, third-party (either commercial or free) processor cores
~ many modern FPGAs have ability to be reprogrammed at "run time," and this is leading to idea of reconfigurable computing
~ or reconfigurable systemsCPUs that reconfigure themselves to suit task at hand

FPGA applications
~ DSP, software-defined radio, aerospace and defense systems, ASIC prototyping, medical imaging, computer vision
~ speech recognition, cryptography, bioinformatics, computer hardware emulation

Related terms(s) »Reconfigurable_Hardware »Joint_Tactical_Radio »Reconfigurable_Computing »Microprocessor »DCAS