FPGA vs. Microcontroller: Which is Best?
Key Takeaways
-
FPGAs and microcontrollers are general application approaches to processors that can provide ample functionality.
-
Because designers can reprogram FPGA logic blocks and interconnections, they have the upper hand during prototyping when designs can drastically change scope and functionality.
-
While microcontrollers have fixed dies, engineers can program their instruction cycles to optimize performance, often in a much cheaper, smaller, and more efficient package than FPGAs.
One of the first tasks when developing electronics is to decide upon the components that provide the devices’ function. Numerous evaluations go into this process, such as prototype vs. mass production, cost, availability, lead time, etc., but ultimately, teams must choose the components that best meet the design intent. One of those decisions could be FPGA vs. microcontroller inclusion: superficially, both FPGAs and microcontrollers perform the core computations critical to device operation, but how they do so (and how designers integrate them into the larger circuit) differs drastically.
FPGA |
Microcontroller |
|
Description |
A programmable logic core that can be reconfigured after installation |
A fixed set of programmable operations with optimal speed and performance |
Advantages |
Broad applicability, modular post-assembly, parallel operations |
Best speed and power consumption with custom silicon |
Disadvantages |
Difficult to program, poor sequential process operations, development time second only to microcontrollers |
Fixed applications that must be modified at the silicon level (a long and expensive process) and poor parallelity |
Applications |
|
|
Is There a Clear-Cut Winner in FPGA vs. Microcontroller?
While FPGAs (field programmable gate arrays) and microcontrollers offer different paths to the same solution, they are not necessarily in competition. A consumer-ready device may contain both FPGAs and microcontrollers if that’s the most elegant performance solution and is feasible from a procurement perspective. An FPGA or microcontroller could adequately execute the device's computational portion in other applications. So, why choose one over the other?
FPGAs
FPGAs are unique in execution: instead of fixed hardware at the time of manufacture and installation, FPGAs are programmable at the “hardware” level. The numerous logic blocks that constitute the FPGAs functionally can be programmed (and reprogrammed) as designers see fit, making them especially attractive for prototyping when designs are still somewhat in flux. Note that many modern FPGAs combine the flexibility of these logic blocks with defined silicon hardware, such as digital signal processing (DSP), high-speed logic, and embedded memory, that offer better-dedicated performance than reconfigured logic blocks. Additional support for communication protocols like PCIe, Ethernet, and dedicated processors provide microcontroller-level power consumption in some FPGAs.
The flexible deployment of FPGAs makes them especially invaluable for low-volume production lots. Primarily, these runs are for prototypes, but small quantities of consumer-ready devices may be feasible in specific settings. When off-the-shelf microcontrollers can’t provide the requisite functionality and the engineering and production of application-specific integrated circuits (ASICs) are too cost-prohibitive, FPGAs occupy a solid middle ground regarding performance, cost, and specificity. Furthermore, the extreme parallel processing relative to a microcontroller makes them strong candidates for devices in automotive (i.e., CAN bus communication between sensors), telecommunications, and industrial equipment.
FPGAs are exceedingly large components compared to microcontrollers, which can become an issue in lightweight or portable devices. While FPGAs offer general high performance on a per-watt basis, microcontrollers are more energy-efficient and execute serial instructions faster. Once again, lightweight or portable devices can suffer due to a lack of power draw optimization for battery sources. The larger size and smaller pitch of ball grid arrays (BGAs) can also factor into the costs of PCB fabrication owing to high-density interconnect (HDI) technology like microvias for pin breakout. Given their overall routing density, higher-pin count FPGAs may be less suitable for a common 4-layer board stackup.
Microcontrollers
Microcontrollers are a relatively broad family of ICs that are the cornerstone of embedded systems. While some definitions surrounding processors can become murky, microcontrollers are easily distinguishable as fully integrated computers on a single die. The basic functionality of a microcontroller is a processor, memory, and programmable I/O functionality for interfacing with the surrounding circuit. Like an FPGA, a microcontroller is a general solution with broad applicability to many different circuits due to its programmability.
Unlike in an FPGA, the programming of the microcontroller does not change its “hardware” functionality. While users can change the order of instruction execution or add/suppress certain features of the function set, the silicon is set “as is” after manufacturing. It’s possible (and is often done during prototyping) to recreate a particular microcontroller feature within FPGA logic blocks to test performance. It’s possible to further generalize microcontrollers alongside ASICs and application-specific standard products (ASSPs):
-
Microcontroller - The most general applicability, with the least optimization of performance (power consumption and speed). These are the standard off-the-shelf ICs with well-described documentation and often years (if not decades) of community support.
-
ASSP - The bridge between microcontrollers and ASICs, ASSPs still have a well-defined specificity but combine non-standard features onto a single die like an ASIC. However, their features are so ubiquitous for the application that ASSPs enter the market as standard off-the-shelf ICs and are comparable in cost/availability to microcontrollers.
- ASIC - These ICs are custom-made to deliver the exact performance and functionality desired by the design team but come with the prohibitively high cost of die manufacturing. ASICs are only sensible in extremely high-volume productions where costs are distributed among thousands or millions of devices.
Microcontrollers, especially off-the-shelf ICs, are savvy choices when the design is relatively simple and unlikely to evolve significantly in scope/functionality or where the cost-efficiency of a cheap, readily available chip is more desirable than the greater programmability of the FPGA.
Cadence Solutions for Any Layout
FPGA vs. microcontrollers can be a false dichotomy: designs can combine the unique advantage of either family to optimize speed and performance. However, designers should be aware of the potential disadvantages when proceeding to moderate-to-high volume productions where per-board costs/margins become a driving factor of profitability. Regardless of the processor, designers can rely on the powerful and easy-to-use OrCAD X platform to drive board layout and accelerate design turnaround times. Interested in learning more? See the full catalog of Cadence PCB Design and Analysis Software.
Leading electronics providers rely on Cadence products to optimize power, space, and energy needs for a wide variety of market applications. To learn more about our innovative solutions, talk to our team of experts or subscribe to our YouTube channel.