The Exponential Rise of Programmable Logic Devices
Image Source:
Gorodenkoff/shutterstock.com
By Mark Patrick, Mouser Electronics
Published February 13, 2020
Field-programmable gate arrays (FPGAs) and other programmable logic devices are becoming more powerful and more
versatile, incorporating functions that have traditionally been performed by CPUs, GPUs, and DSPs. Some would
say these devices are the semiconductor equivalent of the Swiss Army Knife.
FPGAs can perform more complex functions than their nearest cousin, the complex programmable logic device (CPLD).
They are also a completely clean slate onto which engineers can add their own functions, as opposed to these
being pre-determined by the manufacturer. Consequently, FPGAs are incredibly versatile, able to deliver compute,
signal-processing, high-speed communication, and more, all without the need for external peripherals. Moreover,
unlike the standard cell application-specific integrated circuits (ASICs) that they are replacing in certain
scenarios, FPGAs can be reprogrammed in the field, often without changes to the hardware.
That said, defining an FPGA's many connections and cell-logic functions has never been straightforward. To ease
the burden, both FPGA makers and design software vendors have created specialized tools, while pre-designed
and verified functional blocks are also available to make programming an FPGA simpler.
A Brief History of the FPGA
The late 1960s saw some momentous world events: The first flight of Concorde. The invention of the artificial
heart. The Apollo 11 lunar landing. Alongside these, the appearance of the XC-157 mask-programmed gate array in
The Integrated Circuit Data Book would have gone unnoticed by many. But it was a huge moment. Complete
with 12 gates and 30 input/output (I/O) pins, the device's inclusion marked a crucial milestone in the
development of programmable logic devices: They were now a commercial reality.
Development continued apace. In the late 1980s, a U.S. Naval Surface Warfare Department program involved industry
participants creating a computer with 600,000 reprogrammable gates. Not long afterward, Xilinx founders Ross
Freeman and Bernard Vonderschmitt unveiled the XC2064, the first commercial FPGA. The device was an 8x8
configurable logic block (CLB) grid, meaning 64 CLBs, with two three-input look-up tables (LUTs).
More than 30 years later, things have come on a long way. Modern FPGAs boast their own processor cores (such as
the ARM® Cortex®), as many as 50 million logic elements, large amounts of high-speed memory, their own
analog-to-digital converters (ADCs), and 128-bit encryption. They can perform over a trillion floating-point
operations per second (teraflops) for digital signal processing, and offer low latency and total throughput
across all serial transceiver channels of almost 3Tb/s. This capability all resides in a single device that
requires very little power, making today's FPGAs exceptionally versatile systems-on-chips (SoCs). A
communication system, for example, which would once have used multiple ASICs to deliver receiver front-end
capabilities, can now use a single FPGA.
Reconfigurable Computing
The next step on the FPGA's remarkable journey could see it used in reconfigurable computing. Here, coupled with
software, FPGAs offer full computer functionality, supported by a general-purpose processor for control
purposes. First talked about as long ago as the 1960s, this idea was demonstrated in 1991 in the Algotronix
CHS2x4. This board used Algotronix's CAL1024 FPGA, with 1,024 programmable cells in its 1.5μm double-metal
CMOS.
It was the first FPGA that gave random access to its control memory and offered the sharing of I/O signals,
enabling designers to create arrays of devices. This feat of engineering was so ground-breaking that Xilinx
bought Algotronix's technology IP a few years later.
Reconfigurable computing with FPGAs has been a revelation in specialized, high-performance systems. Take the
Cost-Optimized Parallel COde Breaker (COPACOBANA), a machine designed to run crypto algorithms such as the Data
Encryption Standard (DES), as well as other parallel compute tasks.
COPACOBANA isn't a general-purpose computer: Its clock speeds are significantly lower than you'd get from a
CPU-based machine, while its communications speed and bandwidth are also constrained. But it's extremely
powerful for the sorts of tasks that it's designed for, and because it uses solely off-the-shelf components and
FPGAs, it's significantly cheaper than crypto-computers built around CPUs.
Controlled by a standard Windows or Linux® PC, COPACOBANA has around 120 FPGAs (dependent on the design) and
can carry out 48 billion DES decryptions per second, while requiring just 600W of power.
Its capability is demonstrated by the performance of this crypto-analysis hardware in the secret key challenge
at the Cryptographic Hardware and Embedded Systems (CHES) 2006 workshop—finding the key in just under 21.5
hours (after searching less than 5% of the key space) by churning through over 43 billion keys every second.
High-End FPGAs
Signals intelligence, electronic warfare, and radar signal identifications (that encompass these massive amounts
of variations) are some of the most demanding compute applications you'll find. You'd be forgiven for assuming
only a supercomputer could meet these high-end needs. However, FPGAs, with their low power requirements,
massively parallel processing power and I/O, and floating-point arithmetic capabilities, are making quite a
splash.
Figure 1: Intel® Stratix® 10. (Source: Mouser Electronics)
Intel® Stratix® 10 (Figure 1), is an example of a family of FPGAs being used for such
demanding applications. Its 4-million-plus logic elements are manufactured using Intel® 14nm tri-gate
process. They include 64-bit quad-core ARM Cortex-A53 processors, which deliver four times more data throughput
than their forerunners. Serial transceiver bandwidth is also four times greater. In addition, each unit offers a
28Gb/s backplane, 56Gb/s chip-to-chip or chip-to-module speed, serial memory bandwidth in excess of 2.5Tb/s,
parallel memory interfaces bandwidth of over 1.3Tb/s and support for 3200Mb/s DDR4 memory. The 10 teraflops of
single-precision DSP performance support the demand for floating-point operations.
These devices' power demands are far smaller than those of the previous generation of high-end FPGAs with
80GFLOPS/W
single-precision floating-point efficiency—approximately 70% lower. Furthermore, engineers using the
Stratix 10
family have access to an extensive suite of design and development tools from Altera.
Mid-Range FPGAs
Of course, your application might not demand such high-end capabilities, but still need something with a bit more
grunt than a mainstream FPGA. If that's the case, consider a mid-range model, such as Intel® MAX® 10
FPGAs (Figure 2). These devices include embedded soft processor support, memory controllers,
DSP, analogy blocks with 12-bit ADCs, a temperature sensor, phase-locked loops (PLLs), and low-skew global
clocks.
In addition, it features up to 736kB of dual-configuration flash memory, meaning you can store two images on one
chip and dynamically switch between them. Moreover, they're instant-on, meaning they can be used to control
power-on
or initialization of system components. The Intel® MAX® 10 FPGAs are available with between 2,000 and
50,000
logic elements, 18 analogy input channels, up to 500 user I/O pins and 128-bit Advanced Encryption Standard
(AES).
Figure 2: Intel® MAX® 10. (Source: Mouser Electronics)
Powerful FPGAs for the Mainstream
Many of the FPGAs used in mainstream applications are also powerful devices. The MachXO3™
FPGA family
from Lattice
Semiconductor,
for example, is an ultra-compact, cost-effective solution for bridging emerging
connectivity interfaces via both serial and parallel I/O. Bond wires are a thing of the past, thanks to
Lattice's package
technology, which in turn cuts cost and boosts I/O density. The different FPGAs in the MachXO3 family have
between 640 LUTs
and 9400 LUTs. These FPGAs can be used in industrial control, automotive, consumer electronics, wireless
communication,
computing, and storage. As with others we’ve mentioned, tools, designs, and other support material are available
for engineers
working with these FPGAs.
Elsewhere, Terasic offers its
Cyclone V GX Starter Kit Platform
to assist those designing hardware. It uses a Cyclone V GX FPGA. The board has an Arduino header, high-speed
transceivers,
USB blaster and A/V capabilities.
Alternatives to the FPGA
Having evangelized about FPGAs, remember they aren't the only form of programmable logic device you can source.
Other options,
such as the programmable system-on-a-chip (PSoC) portfolio from Cypress Semiconductor deliver a compelling
breadth of
functionality in a single device. The
Cypress Semiconductor PSoC®
is unique to the industry, in that it is the only programmable embedded SoC with a microcontroller, memory,
PLD-based programmable logic and a high-performance analogy block all on a chip—and is still able to
present
engineers with a very low power budget.
The top-of-the-range PSoC 5 family, uses latest-gen ARM Cortex-M mixed-signal solutions. The
CY8C56LP, part
of the
PSoC 5 series, gives you configurable blocks of digital, analog, and interconnect circuitry, all set up around a
CPU
subsystem. The blend of a CPU with I/O, routing and both analog and digital subsystems, makes it an attractive
choice
for consumer, medical, and industrial applications. The digital subsystem uses its system interconnect to
effectively
link a digital signal coming from a peripheral to any pin. The universal data blocks (UDBs) give you functional
flexibility.
Programming and configuring this device is relatively straightforward. The PSoC Creator library's peripherals are
all mapped to the UDB array. These include timer, counter, AND, OR, PRS, CRC, UART, SPI, LIN, and PWM functions.
Every UDB includes both programmable logic functionality and a small state machine engine, enabling it to work
with
a broad range of peripherals. You can make use of configurable digital blocks covering USB, CAN 2.0 and
I2C slave/master
connectivity.
Summary
I wanted to leave you with one final example that showcases just how versatile and effective modern programmable
logic devices
can be. You can now create a full signal-capture and processing subsystem with just three cards in the OpenVPX
form factor
(used for defines equipment). The key components involved are two high-end FPGAs, along with the necessary ADCs
and DACs for
data conversion, in addition to a quad-core Intel® Core™ i7 processor, accompanying memory resource,
I/O and
Serializer/Deserializer (SerDes) transceivers. So powerful are the FPGAs, and such is the bandwidth and sampling
capacity
of the supporting signal conditioning circuitry, that this three-card arrangement can capture signals directly
from the air
at rates of up to 6GHz. Even just a few years ago, for something like this to be realized would have required a
solution that
utilized almost an order of magnitude more board space.
The pace of innovation is increasing, as programmable logic devices see ever greater uptake. This class of
technology might
have been around since way back in the 1960s, but today (some 50 years on) it is being used to do truly
pioneering things.
Part of Mouser's EMEA team in Europe,
Mark joined Mouser Electronics in July 2014 having previously held senior marketing roles at RS Components.
Prior to RS, Mark spent 8 years at Texas Instruments in Applications Support and Technical Sales roles and holds
a first class Honours Degree in Electronic Engineering from Coventry University.