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.