Today’s embedded systems are constantly pushing the limits of technology. The amount of compute required in some specialized applications is staggering, and it is getting to the point where traditional architectures are unsustainable in multiple ways. How can designers continue to push the envelope of design and development, especially when traditional chipset architectures are so inefficient for specialized computing?
Using an FPGA in embedded applications may provide the answer. The technological landscape is constantly changing, and designers need a reconfigurable platform that helps them keep up with new challenges. FPGAs in embedded offer important advantages for use in applications like vision systems, sensor fusion, edge computing, embedded AI, and much more. In this overview, we’ll show you when FPGAs are the best option for specialized high-compute systems and how you can get started using FPGAs.
Overview of FPGAs in Embedded Systems
FPGAs provide many advantages in embedded systems that are not seen in popular components like MCUs or MPUs. These components have often been used for application development or to prototype logic implementation on silicon prior to custom chip design. Today, they are playing a greater role in production hardware targeting some important advanced applications. They also provide powerful compute solutions when other components (SoCs, ASICs, application accelerators) are unavailable or do not exist.
Some of the major reasons designers consider FPGAs as the main component in their systems include:
- High compute density with lower power consumption
- Reconfigurable hardware
- High customization and parallelization
- Hardware-level security
- Vendor IP for customization
Semiconductor vendors have done an excellent job of providing and licensing IP for FPGAs. Through available IP and custom application development, it is possible to create a very powerful processor that is specific to one application area. Other processor options do not provide this level of flexibility.
FPGA vs. Other Processor Options
The table below provides a comparison between FPGAs, GPUs, and standard MCU/MPU options. From this table, the FPGA has some distinct advantages in terms of its computing power and reconfigurability, but there can be a tradeoff in terms of development effort and flexibility once placed into operation.
The specialization available in FPGAs is highly desirable in applications like military embedded computing, edge computing systems in industries like banking and finance, telecom, aerospace, and any other area where IP protection is critical. More advanced systems that must dedicate power to intensive computing tasks, including things like on-device AI and blockchain, can greatly benefit from the specialization available in FPGAs.
From the above application overview and comparison, the benefits and role of an FPGA in an embedded system should be clear. Highly-specialized computation can be implemented alongside dedicated logic for general-purpose compute on a single processor. This gives the system optimal power consumption budget and the lowest possible latency for specialty logic operations. If you’re operating in an advanced application area (5G, aerospace and defense, edge computing, etc.), then an FPGA may offer the most powerful approach for your embedded system.
Getting Started With FPGAs in Embedded Systems
If you’re sold on the benefits of FPGAs as an application-specific compute element in your system, then you’ll need to integrate the component into your system. FPGAs can be included in embedded systems in multiple form factors and architectures.
- Everything on a single board: This is the standard approach to developing a new product with an FPGA. If you’ve already demonstrated a prototype and tested your application, using a custom board gives you much more control over system architecture. You could even design the board to require a smaller FPGA.
- Start with a dev kit: One path to prototyping is to use an dev kit and design a custom base board that connects to the development product. The base board can provide connections to peripherals, power, memory, and other components. Once the prototype is proven, you can move onto another system form factor to get into production.
- Start with an SOM: 3rd party SoMs are available, or you can design a custom SoM. You’ll then need to design a base board that matches the pinout and provides connections to other components not found on the SoM. It’s also common to use a custom interposer board to interface two different embedded products.
- Design the FPGA on an expansion card: If you have an existing system with an expansion card slot over PCIe or high-speed serial interface, you can place the FPGA on the expansion card to expand the capabilities of the system with application-dedicated compute with high density.
There is no objectively "best" form factor or architecture involving implementation of an FPGA. These components can be implemented as the sole processor in an embedded system, alongside another processor such as a GPU, as an accelerator in a traditional computer or embedded system, or as a configurable component on an expansion card. There are many options for FPGA implementation, and the right option depends on your particular application.
The last point to note is that PCB for embedded systems with FPGAs need to be built with best practices for high-speed PCBs. These systems always require specific design points be implemented at the stackup level, with correct routing techniques, and appropriate layout for the FPGA and its supporting components. The challenges that come with designing and manufacturing PCBs for FPGA-based embedded systems often leads designers to start with a vendor-provided evaluation kit or a 3rd party SOM as their initial prototype.
At NWES, we’ve taken all of these approaches with FPGAs in embedded systems, and we know how to implement the best architecture for your system to meet your operational goals. We’ve designed aggressive form factor IoT products with smaller FPGAs and advanced sensor fusion products with large FPGAs. The FPGA configuration, I/O count, chipset architecture, and many other factors will combine to drive the physical form factor of your product. The right design firm can help you find the right compromise for your system and work with you to get your product to market.
Whether you're designing an ultra-rugged mil-aero embedded system with an FPGA or a complex RF product, you should work with a design and development firm that can ensure your product will be reliable and manufacturable at scale. NWES helps aerospace OEMs, defense primes, and private companies in multiple industries design modern PCBs and create cutting-edge embedded technology, including power systems for high reliability applications and precision control systems. We've also partnered directly with EDA companies and advanced ITAR-compliant PCB manufacturers, and we'll make sure your next high speed digital system is fully manufacturable at scale. Contact NWES for a consultation.