FPGA - Computer Definition
(Field Programmable Gate Array) A type of processor chip that is programmed in the field rather than in a semiconductor fab. Containing up to hundreds of thousands of gates, there are a variety of FPGA architectures on the market. Some are very sophisticated, including not only programmable logic elements but programmable interconnects and switches between them. The interconnects take up a lot of FPGA real estate, resulting in a chip with low gate density compared to ASICs. In 2008, Altera introduced its Stratix IV FPGA with 2.5 billion transistors and 680K logic elements. Why Use FPGAs? When tens or hundreds of thousands of processors are required, an ASIC chip is designed and manufactured in a foundry (see ASIC). However, when only a limited number are needed, FPGAs are often more viable. While an ASIC is being prepared for manufacturing, interim FPGAs can be used to deliver finished products sooner. In addition, FPGAs can be used to test the market before going into full-blown ASIC production. See ASIC. SRAM, Flash and Antifuse Varieties The vast majority of FPGAs use static RAM (SRAM) cells, which are volatile. Each time it is powered up, the SRAM-based FPGA must be loaded with its configuration, typically from a flash memory chip. SRAM FPGAs can also be dynamically reconfigured (see adaptive computing). See static RAM. Flash memory-based FPGAs hold their content without power, but they can be reprogrammed in place like firmware, which is also commonly a flash memory chip (see firmware). Antifuse-based FPGAs are permanently programmed and are popular with aerospace designers because they are more radiation hardened (rad hard). See PLD and adaptive computing.