Newsroom > Blog
September 2, 2022
About three decades ago, when the first FPGA device was patented, the FPGA performed rather poorly compared to the ASICs of the day. Considering that FPGAs came to market in the midst of the ASIC revolution, FPGAs did not receive the same adoption as ASICs. Somewhere along the way, marketing messages from semiconductor vendors focused on the so-called crossover point in their efforts to out-market their competitor ASIC vendors. As a result, FPGAs tended to be relegated to prototyping and logic development, rather than being used as the system host in mass-produced products.
So where have FPGAs gone since the days of the ASIC revolution? As new technologies are being developed and coming to market, FPGAs are emerging as a solution providing reconfigurable high-compute processing capabilities as a production component rather than as a prototype. In this article, we’ll see how FPGAs have emerged as a production option in advanced embedded applications thanks to their reconfigurability.
When we look at the capabilities of FPGAs, as well as the reason they were originally introduced, it’s easy to see why they were used so extensively for prototyping. Being released during the ASIC revolution, there was certainly a need to prototype logic functionality before pushing a new chip design into fabrication. Each fabrication run and the verification steps required for a custom ASIC are time-consuming and expensive. A prototyping platform can help chip designers identify and eliminate many potential logic mistakes before a fabrication run.
The principal method of FPGA usage involves prototyping a new chip design directly on an FPGA. In this way, the FPGA is acting as a prototype by simulating the proposed chip design. FPGAs satisfy the requirements for a logic prototyping and simulation platform for several reasons:
In addition to being used as a prototype for a new integrated circuit, FPGAs can also be used as an automated testing controller for system designs. Custom logic that implements specific test cases can be easily implemented in an FPGA and reconfigured as necessary. This includes instantiation or simulation of external portions of a system in an FPGA as a lookup table, or as direct logic operations. Other specialized functions required at the system level, such as DSP, can be implemented in an FPGA relatively quickly.
Over the past several years, embedded applications have gone far beyond simple IoT products and mobile devices, with advanced features now being implemented on the end device. Rather than relying on a connection to a cloud service or a data center, as is typical for many hardware platforms, FPGAs can implement large computing workloads on the end device, including workloads that require custom logic with high parallelization.
Applications like AI, ADAS, sensor fusion, and vision require significantly more compute than can be implemented in traditional processor architectures. It’s not that a typical CPU cannot perform data computation within these applications. The issue is that a traditional microprocessor like an MCU or CPU does not have an architecture that is optimized for these high-compute applications. The number of add-multiply operations required in these applications is extremely large and is very slow in conventional combinational + sequential logic.
FPGAs can be built to optimize these compute operations through development of the embedded application, rather than through development of custom silicon. Building a system with custom silicon is extremely costly, but implementation with an FPGA is very inexpensive and faster by comparison. More importantly, the same type of parallelization and non-standard compute architecture that is desperately needed in these applications can be implemented in an FPGA, something which may be prohibitively slow and costly in custom silicon.
In advanced applications, traditional processor architectures run too slow and with too much power to be used reliably in an embedded application. For this reason, GPUs have been used to implement high-compute applications in data centers, and to a lesser extent in some embedded products. GPUs can provide the parallelization needed for advanced embedded systems, but at the cost of being very bulky components that consume a lot of power.
The rate of technological advancement in the electronics industry shows no signs of slowing down. Some major technology names have now decided to bring their chip design operations in-house in an effort to keep up with the development needs in their products. It appears that custom processor architectures will soon be the standard path forward for many products. The problem with using custom silicon is that it is not reconfigurable. Once it is produced and taken to market, it soon becomes obsolete as more advanced processing nodes come online, or there is demand for newer features on the device.
FPGAs do not suffer from this problem. While other processors would require updates at the hardware level, FPGA hardware updates are applied at the application level and are instantiated in silicon. The logic implemented in FPGAs can be reconfigured, with features being added or updated to meet technological or market demands. Updates can be incremental, or entirely new feature sets can be added without removing the end device from the field.
As more embedded systems and consumer devices require high-compute applications on the end device, adoption of FPGAs as the processor of choice for these systems will continue to grow. The larger semiconductor vendors are now seeing the value in reconfigurability and custom logic implementation in some of their newest SoC/SiP products. Some products now include an FPGA block that can be used as a totally custom processor or accelerator within the SoC/SiP package.