Content deleted Content added
ElectrifyMe (talk | contribs) m →top: added more details, and changed some terms for better suited ones to improve the reading experience Tags: Mobile edit Mobile app edit Android app edit |
Copy-editing some clunky sentences, bad grammar, and weird capitalisation. Tags: Mobile edit Mobile web edit Advanced mobile edit |
||
Line 6:
[[File:Xerox ColorQube 8570 - Main controller - Xilinx Spartan XC3S400A-0205.jpg|thumb|A Spartan FPGA from [[Xilinx]]]]
A '''field-programmable gate array''' ('''FPGA''') is a type of configurable [[integrated circuit]] that can be repeatedly programmed post manufacturing. FPGAs are a subset of logic devices referred to as [[programmable logic devices]] ("PLDs"). They consist of an array of [[programmable logic device|programmable]] [[logic block|logic blocks]] with a connecting grid, that can be configured "in the field" to interconnect with other logic blocks to perform various digital functions. FPGAs are often used in limited (low) quantity production of custom
A FPGA configuration is generally written using a [[hardware description language]] ("HDL") e.g. [[VHDL]],
The logic blocks of an FPGA can be configured to perform complex [[combinational logic|combinational functions]], or act as simple [[logic gate|logic gates]] like [[AND gate|AND]] and [[XOR gate|XOR]]. In most FPGAs, logic blocks also include [[Memory cell (computing)|memory elements]], which may be simple [[flip-flop (electronics)|flip-flops]] or more sophisticated blocks of memory.<ref name="FPGA" /> Many FPGAs can be reprogrammed to implement different [[Boolean function|logic functions]], allowing flexible [[reconfigurable computing]] as performed in [[software|computer software]].
|