In most FPGAs, logic blocks also include memory elements, which may be simple flip-flops or more complete blocks of memory. Logic blocks can be configured to perform complex combinational functions, or act as simple logic gates like AND and XOR. Circuit diagrams were previously used to specify the configuration, but this is increasingly rare due to the advent of electronic design automation tools.įPGAs contain an array of programmable logic blocks, and a hierarchy of reconfigurable interconnects allowing blocks to be wired together. The FPGA configuration is generally specified using a hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC).
A field-programmable gate array ( FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturing – hence the term field-programmable.