essentially a function-specific digital IC that you designed
What are FPGAs used for in preference to
microcontrollers? There are several answers to this
question. Logic consolidation (where one replaces a
number of digital ICs with a single IC) is a big reason for
using FPGAs. Due to the large number of logic elements
(LEs) and I/O pin resources in an FPGA, a number of
functions can be placed inside the same FPGA. For
example, an ADC controller, a number processor, and a
display driver (among other functions) can be placed
inside an FPGA. Many commercial products use FPGAs in
this way to make products smaller, lighter, and cheaper.
Transmission protocol conversion (USB-to-serial, serial-to-Ethernet, I2C-to-SPI, etc.) and logic level translations are
other commonly encountered functions that are frequently
performed with FPGAs. The fast and deterministic (known
timing delays) nature of FPGA circuits makes them
especially suitable for these duties.
Due to the high speed with which FPGA
implementations can work, FPGAs are often used to
remove the processing load from
processors. Specialized processing
such as fast Fourier transforms (FFTs),
floating-point operations, digital
filtering, etc., can be efficiently
carried out in FPGAs, leaving the
main processor in a system to
execute the main thread of program
flow, respond to interrupts, etc.
Stored program processors are
eminently suitable for carrying out a
set series of instructions repeatedly.
FPGAs can off-load them from
carrying out complicated algorithms
that will take a very large number of
program instructions to execute.
The combination of a traditional
processor and a programmable logic
device can be very powerful and is
one that is often seen in many types
of defense, avionic, industrial, and
medical equipment. Another
scenario where FPGAs are usually
employed is seen when a certain
operation has to be performed in
parallel on a large number of
different data bytes or words. This
often happens in video processing
and scientific vector calculations.
Yet another situation where
FPGAs have a definite edge over
processors running software is where large arrays have to
be scanned quickly. Cameras and displays can both use
FPGAs with their large number of I/O pins to quickly scan
arrays and columns in order to acquire or display images.
Today, FPGAs are mainly manufactured by a handful
of semiconductor companies. Xilinx, Altera, Lattice
Semiconductor, Microsemi Corporation, and Cypress
Semiconductor form the list of main US FPGA suppliers
(in order of market share). Over a year ago, Altera was
acquired by Intel Corporation, so that it is now a part of
Intel’s business. This large acquisition underscored the
importance of programmable logic in today’s electronics.
Each company has its own line of FPGA offerings
which range from relatively small (and cheap) ICs to very
large devices with millions of LEs and hundreds of I/O
pins. Not surprisingly, FPGA prices vary widely from just a
few dollars each for small devices, to hundreds and even
thousands of dollars for top-of-the-line chips.
A visit to the websites of FPGA manufacturers is
highly recommended as that is where they showcase their
new as well as established products, and describe their
November 2017 27