What is an FPGA?

While the concept isn’t new, field-programmable gate arrays (FPGAs) have gained increasing notoriety, especially in embedded system development and deep neural networks for artificial intelligence applications. In 1985, Xilinx co-founders invented the XC2064, the first market-worthy, field-programmable gate array with both programmable gates and programmable interconnects between gates. The precursors to FPGAs were programmable read-only memory (PROM) and programmable logic devices (PLDs).

What’s in a name?

What makes FPGAs so desirable is their flexibility. FPGAs consist of an array of programmable logic blocks which can serve as simple logic gates (e.g., AND and OR) or be configured to perform complex combinational functions. As their name suggests, they are also field-programmable and are designed to be configured by the user. To further understand FPGAs, let’s break down their many attributes, starting with the name.

  • Field-Programmable: After manufacture, the user has the ability to program and reprogram the hardware circuit or circuits of an FPGA to perform one or more logical operations.
  • Gate + Array: An FPGA is an integrated circuit or sets of circuits or arrays. These arrays are programmable logic gates or configurable logic blocks (CLBs), memory, etc.
illustration of an earlier FPGA
An early FPGA from Xilinx (Raimond Spekking)

Other Attributes of FPGAs

Now that we’ve covered the basics of the name, here are some additional characteristics of FPGAs:

  • Similar to application-specific integrated circuits (ASICs), FPGA configuration is specified using a hardware description language (HDL).
  • Structurally, FPGAs consist of reconfigurable interconnects that enable blocks to be wired together.
  • FPGAs enable flexible, reconfigurable computing, as most enable the user to reprogram the hardware circuit with different logic functions. This is especially useful in computer software.
  • Typically, the logic blocks in FPGAs include memory components, which might be simple or complex.

FPGA Advantages Over ASIC

FPGAs have taken the main stage when it comes to embedded system development and hardware prototyping. Here, their iconic flexibility comes into play by giving developers the ability to conduct trials and test variables and make subsequent changes to configuration files before they finalize the system architecture. Here are some additional advantages to FPGA:

  • Functionality can be updated after manufacture
  • Ability to partially or fully reconfigure a portion of the design
  • Low, non-recurring engineering costs
  • Ability to prototype before going to market
  • Shorter time to market

FPGA Disadvantages Over ASIC

In comparison to application-specific integrated circuits, FPGAs typically possess certain inherent disadvantages, though continuous development and advancements will likely minimize these over time.

  • Higher cost per unit
  • Can be more vulnerable to tampering
  • Generally are larger in size
  • Require more power
  • Are slower

FPGA Uses & Industries

Today, there are numerous uses and applications for FPGA technology, with more in development every day. Here’s a taste of FPGAs in use across various industries.

  • Aerospace: Radar and sonar
  • Automotive: Autonomous driving and advanced driver-assistance systems
  • Broadcast: Broadcast Target Design Platforms
  • Consumer: Computers and smartphones
  • Industrial: Motor control, machine vision, video surveillance and data processing
  • Medical: Diagnostic, monitoring and therapy devices
  • Networking: Digital signal processing, neural networks, scientific instruments and medical devices
  • Telecommunications: Packet processing and switching and optical transport network functions

.

Further research: 

Prowess

What Is an FPGA and Why Is It a Big Deal?

https://www.prowesscorp.com/what-is-fpga/

Xilinx

Field Programmable Gate Array (FPGA)

https://www.xilinx.com/products/silicon-devices/fpga/what-is-an-fpga.html

ARM

What Is an FPGA?

https://www.arm.com/glossary/fpga

AnandTech

Intel to Acquire eASIC: Lower Cost ASICs in FPGA Design Time

https://www.anandtech.com/show/13075/intel-acquires-easic-lower-cost-asics-in-fpga-design-time

SparkFun

How Does an FPGA Work?

https://learn.sparkfun.com/tutorials/how-does-an-fpga-work/all

Wikipedia

Field-programmable gate array

https://en.wikipedia.org/wiki/Field-programmable_gate_array