Skip to main content

The Exponential Rise of Programmable Logic Devices

 

robotic arm holding fpga

Image Source: Gorodenkoff/shutterstock.com

 

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.

Intel® Stratix®

 

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).

Intel® MAX® 10

 

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.

About the Author

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.

Profile Photo of Mark Patrick