Lattice Blog


Making PCs Smarter with FPGAs

Making PCs Smarter with FPGAs
Posted 06/01/2020 by Bob O’Donnell

Posted in

After years of declining influence and perceived importance resulting from the stupendous rise of smartphones, PCs are enjoying a renaissance. In fact, the work-from and learn-from-home realities that the entire world has experienced because of the COVID-19 pandemic have elevated PCs to a new level of importance and relevance. They have become the device on which people now depend the most.

Thankfully, the timing couldn’t be better. Unbeknownst to anyone but close industry observers, key semiconductor manufacturers, software platform developers and PC makers have turned modern PCs into the kind of super sleek, lightweight, powerful and easy-to-use machines we’d always hoped they would be. On many levels, today’s laptops are truly impressive.

But as we’ve all begun to rely on them even more, it’s also clear that there are still additional potential improvements that would make the experience of using a PC even better. Chief among them is the ability to bring more artificial intelligence (AI)-powered smarts to PCs. Modern smartphones have seen a host of new AI and machine-learning-powered functions brought to them over the last several years—everything from image processing to voice-based assistants to augmented reality to cellular connectivity improvements and more. PCs, on the other hand, have had much more modest AI-powered capabilities added to them, including things like behind-the-scenes battery improvements and management functions. As a result, PCs still have a bit of “catch up” work to make the experience of using them as easy and as pleasantly surprising as using a smartphone can often be.

From a technical perspective, one of the challenges of achieving this goal is that some of the functions that need to be improved require nearly constant monitoring of sensors and other components. That, in turn, often translates into additional tasks for the laptop’s CPU or GPU to perform, which leads to increased power demands and shorter battery life. An alternative approach would be to free up the CPU and/or GPU from performing those tasks and allowing an extremely low-power FPGA (Field Programmable Gate Array) chip do the work.

As discussed in the first entry in this blog series “An FPGA Primer,” these chips, which are designed to perform certain functions in a very time and power-efficient manner, are unique types of silicon that can be programmed, and reprogrammed (or updated) after they have been built and installed into devices.

What most people don’t know, is that very simple versions of FPGAs are already used in some PCs and servers, in particular, to do power management and coordinate the initial boot-up process. Until now, FPGAs haven’t typically been used in PCs to perform higher-level functions, but it’s entirely possible. In fact, there are a number of capabilities, from speeding user presence detection to attention tracking, place tracking and more, that FPGAs could bring to modern PCs.

While integrating FPGAs into PC designs may initially sound like a bit of a stretch, it’s actually just a continuation of the type of heterogeneous computing advancements that have been occurring in the tech industry for some time now. Remember that some of the earliest PCs were powered by nothing more than a basic CPU. They were later enhanced with the addition of numeric coprocessors, sometimes called math or floating-point coprocessors, that offloaded certain tasks from the CPU to improve overall system performance. Later on came the entrance of the GPU into PC designs, which greatly improved graphics performance. The concept of integrating FPGAs into PCs simply continues that trend and brings with it the flexibility of being able to “upgrade” the functionality of a PC even after it’s been built and sold.

In fact, FPGAs are a perfect match for the constantly evolving demands of the algorithmic models that are behind today’s “smart” AI-powered features. Imagine being able to automatically adjust your security settings based on knowing where your laptop is located or saving battery life by turning off your screen when you’re not looking at it. Those are the types of functions that integrated FPGAs could enable and they’re exactly what’s needed to make the experience of using a PC smoother, easier and just, well, smarter.

Of course, it doesn’t make sense to just throw another co-processor into a PC design without considering the other potential ramifications it could have on a system, particularly on power requirements, battery life, size and cost. Thankfully, something like Lattice Semiconductor’s iCE40 Ultra Plus™, which measures just 2.2mm by 2.5mm and typically uses only single digit milliwatts of power or the CrossLink-NX™, which measures 3.7mm x 4.1mm and utilizes power measured in just tens of milliwatts, have extremely minimal physical and cost of good price impacts on PC system designs. More importantly, however, they bring a new level of flexibility and options for PC system designers because they let PC vendors customize their machines with unique capabilities.

Functionally, these tiny FPGAs sit between sensors like camera modules and microphones and the sensor hub that’s integrated into the chipsets of all PCs. What they do is take the output of the sensors and then pass along below the operating system-level interrupts when the smart vision-based AI models running on these FPGAs recognize the appropriate data—such as a person walking up to a PC or someone looking at (or away) from the screen.

As simple as the insertion of one of these tiny FPGAs may seem, the resulting benefits are manifold. First, it allows the PC’s sensor hub—which typically requires power levels measured in the hundreds of milliwatts—to stay off for longer periods of time, thereby saving battery life. Instead, the low-power FPGA is the only component that has to remain powered. Second, because these interrupts are below the OS and follow existing standards, they don’t require any OS or driver-level software changes. Finally, this low-level architectural design also means these types of features can work across any operating system and across any type of CPU architecture. For PC designers looking to create unique differentiators that they can spread across their entire line, this is a huge benefit.

Those who’ve followed the evolution of PCs know that there have always been key points in the history of the category where new demands have required the addition of new co-processors to help with that work. Given the growing presence and interest in AI and ML-powered features and functions on PCs, as well as the perfectly matched capabilities that FPGAs can bring to these types of smart workloads, it feels like the right time to start thinking about how to best integrate FPGAs into future PC designs. As far as today’s laptops have come, and as important and as relevant as they now are, imagining where they could go with the addition of more smart functions makes them seem even more essential to our collective future.

Bob O’Donnell is the president and chief analyst of TECHnalysis Research, LLC a market research firm that provides strategic consulting and market research services to the technology industry and professional financial community. You can follow him on Twitter @bobodtech.