arrays (FPGAs). Despite having
programmable in their name, FPGAs
and other such programmable logic
devices are not programmed in the
usual sense of the word, as is applied
to microcontrollers. Here, programming
the device refers to configuring the
inner circuitry of the chip to make it
capable of performing one or more
This is a very powerful concept
that deserves a look in greater detail, so
persevere and read on, and you will be
rewarded with the appreciation of great
new power by the end of this two-part
A movie on a DVD can be
watched on two separate devices. We
can pop the DVD into a DVD player or
use the CD/DVD reader that comes
with PCs and laptops. Either approach
will enable us to view the movie, but
the DVD player will probably provide
the better viewing experience. On a
computer, the movie may play
erratically with the processor
sometimes struggling and the cooling
fan coming on frequently.
This disparity arises because of the different methods
employed by these two devices to play a DVD. A
sequentially executing program in computers handles the
task of decompressing the raw data stream coming off a
DVD and making it presentable for the device screen. The
sequential instruction execution methodology necessarily
slows things down so limits to performance are quickly
reached. The computer’s processor really has to struggle
to keep up with the rapid stream of 1s and 0s arriving
from the disk reader.
In contrast, a DVD player makes use of application
specific chips (ASICs) for performing DVD read and
display tasks in real time without the use of a single line of
code. Many tasks can be executed in parallel, i.e., together
in time which endows this scheme with limitless power.
Thus, there are two clearly distinct ways of performing
any digital task: using a stored program processor; or
using an interconnected arrangement of logic gates that
process digital data in real time. FPGAs are used for the
latter and are akin to ASICs; albeit ones that you can
design yourself to perform almost any digital task that you
can think of.
Once properly configured, an FPGA becomes a
specialized IC with a known behavior of its I/O pins.
Digital data can enter and exit this IC at designated pins,
and it will be processed in accordance with the design
configured inside the chip. Application development is
similar to that with microcontrollers — you can load a
configuration, debug it, modify it, and re-load it until you
get the desired functionality.
What advantages do FPGAs provide over traditional
By Faiz Rahman
FIGURE 1. Intel’s high-end Stratix V FPGA.
(Courtesy of Intel Corporation.)
Post comments on this article and find any associated files and/or
downloads at www.nutsvolts.com/magazine/issue/2017/10.
FIGURE 2. Xilinx UltraSCALE FPGAs are built using
advanced chip-making technology for demanding
system-level digital applications.
(Courtesy of Xilinx, Inc.)
October 2017 39