Newsroom > Blog

Let’s Try that Again:
FPGAs Are Hardware’s Software Update

September 23, 2022

Hardware updates are not possible with custom silicon or off-the-shelf processors (MCUs or MPUs), so systems designers provide system-level updates with firmware or application upgrades. This is an important part of keeping a system current with updated feature sets and new capabilities, but a device will eventually go obsolete without hardware upgrades. How can companies make sure their systems have the longest possible lifetime without incurring the time and costs involved in direct hardware upgrades?

The Worst Part of Hardware Updates

Before we had technologies like the internet and over-the-air firmware updates, we had a small number of time-consuming options for reconfiguring hardware that had previously been released to market:

  • Remove the system from the field, place updated components on the system, and hope none of the functionality changes have made the system non-functional.
  • Build the system in a modular fashion (i.e., with multiple boards) and replace only the obsolescent portions of the system.
  • Overbuild the system and continue upgrading the embedded application or software until the hardware hits its operating limits.

In the past, these approaches were tenable as technological development cycles were longer. Today, electronic devices are routinely removed from the field and upgraded entirely to keep up with technological advances, leaving little room for the future-proofing strategies of the past.

How Today’s Hardware is Reconfigured

The above heading is a bit misleading because, in today’s fast-paced technological environment, hardware is not reconfigured at all. Instead, embedded applications are reconfigured and flashed onto a device to provide feature updates. Today, this is done over the internet, through an app, or over the air (wirelessly). Embedded devices with an operating system can receive updates to their internal firmware, operating system, or embedded application.

Firmware Update

Even with custom silicon processors, the core architecture and logic design is not reconfigurable at all. This is the major reason MCUs have always used a standard combinational + sequential logic architecture with a licensed processor core and instruction set. The general-purpose architecture used in these systems makes them reconfigurable in terms of their embedded application and firmware, but the core hardware architecture cannot change at all. As a result, the hardware eventually becomes outdated and is no longer optimized for its intended application area.

An FPGA as a Reconfigurable Processor

FPGAs are unique among processors as they can be reconfigured at the hardware level. The core hardware architecture is not fixed and can be rebuilt as needed simply by deploying a new binary to the device. Once a new binary is supplied to the device, the interconnect fabric in the FPGA changes to instantiate the logic updates defined in the binary. These logical updates enable new ways to update a system in the future.

  • If there is a new component on the market that you want to add to the system, you don’t need to pull the system from the market. The component’s logic can be instantiated in the FPGA fabric.
  • Logic can be continuously optimized by updating the FPGA interconnect fabric without spinning new silicon. This is an important requirement in advanced areas like embedded AI and edge computing.
  • Application updates can still be passed to an FPGA as you would do for an MCU to MPU with an over-the-air update. This eliminates the need to remove devices from the field.
  • Core instruction architecture updates can be applied to totally redefine how applications are built and run on the system.

The difference between standard cores and a core implementation in an FPGA is the level of reconfigurability. In an FPGA, high-level instructions at the core level can be updated and manipulated, something which can’t be done on custom silicon.

Customizability and Reconfigurability With RISC-V

One of the key enablers of the proliferation of new processors and ASICs over the past decade has been the availability of core IP from vendors, with the most common IP being available from ARM. Core IP can be licensed from vendors and can be used to build a processor around an existing core design and instruction set. Although the up-front costs and design work can be significant, using core IP from vendors speeds up a major portion of the chip design process.

Those who are deep into embedded development have probably known about RISC-V as an open processor architecture for some time. Now the semiconductor industry is starting to embrace RISC-V in some of their newest products, including in FPGAs. Starting a new core design from the RISC-V instruction set gives FPGA developers some major advantages as they build their systems:

  • Customizability: The RISC-V instruction set can be expanded with built-in extensions, or developers can write their own extensions that expand the core instruction set.
  • Reconfigurable: RISC-V implementations on an FPGA can be changed later, something which is not possible on custom silicon.
  • Optimizable: Once logic operations in the core ISA are optimized, the lower-level application embedded on the device can also be optimized to reduce power consumption and improve latency.

If you want to speed up development by building on RISC-V, you’ll work fastest when your FPGA vendor has a RISC-V-based SoC IP available for use in their FPGA products. Not all vendors offer this IP for use in their products, so developers will have to start with the source code, a translator, and experience with VHDL/Verilog to build a RISC-V core. Make sure you work with a cutting-edge FPGA vendor that supports RISC-V in their IP if you want to take full advantage of customization and reconfigurability in advanced applications.

Developers that want to accelerate production of reconfigurable hardware should use the Efinix FPGA SoCs based on RISC-V cores. The RSIC-V SoC core IP from Efinix can be tailored to some of the most challenging embedded applications, including vision, AI, sensor fusion, and much more.

Get Started with Efinix

View our FPGA and RISC-V family pages to see the portfolio of Efinix solutions.