Which is better FPGA or microcontroller?

November 30, 2022
FPGA Vs. Microcontroller
Microcontroller: In an integrated circuit chip integrated microprocessor (CPU), memory (ROM and RAM), I/O interface, timer, interrupt system and other circuits, thus forming a single chip microcomputer, also called a microcontroller (MCU).

The microcontroller can be understood as an integrated microcomputer system on a single chip, although small in all five organs, there are also an operator, controller, memory, bus, and input and output equipment, the use is also the way of storage program execution, the microcontroller programming is to write the ROM program. When powered up, programs in ROM are executed as if they were in the computer’s memory. Today’s microcontroller also integrates A/D, D/A conversion, serial port, and other means of data exchange with the outside world. The single-chip microcomputer is limited in computing speed and performance, but it is more than adequate for some basic controls.

FPGA is a chip with a lower control level and greater freedom. The programming of FPGA is converted into the wiring table in FPGA after compilation, which is equivalent to providing a large number of basic digital devices such as gate, or non-gate, trigger (can be formed with and non-gate) in FPGA. Programming determines how many devices are used and the connection between them. As long as the FPGA scale is large enough, these digital devices can theoretically form any digital system, including microcontrollers and even CPUs. FPGA has great advantages in anti-interference and speed.

FPGA vs microcontroller
Image 1: FPGA Vs. Microcontroller

MCU design is a category of software; Its hardware (MCU chip) is fixed, through the software programming language to describe the execution of software instructions on the hardware chip;

FPGA design belongs to the category of hardware, it’s hardware (FPGA) is programmable, is a process of the custom integrated circuits on an FPGA chip through hardware description language;

There are many varieties of FPGA, XILINX has Artix-7, Kintex-7, Spartan-7, Virtex-7 series, etc., and ALTERA has Cyclone, Cyclone II, Cyclone III, Cyclone IV series, etc.

What is the difference between FPGA and MCU?

1. Different structures

MCU is a kind of microprocessor, similar to the computer CPU, it generally uses the Harvard bus structure, or von Neumann structure, the programming of the single chip microcomputer to a large extent to consider its structure and the role of each register, the single chip microcomputer is widely used, generally used in the control pipeline, and daily life can see the electronic products.

The structure of FPGA is a lookup table structure, and its program does not consider the structure of the chip but should pay attention to the timing problems. Its structure is complex and its functions are powerful, and it is generally used in high-end application scenarios such as electronic communication, intelligent vehicles, and cloud computing. At present, FPGA is still an emerging industry in China. Of course, its price is much more expensive than the microcontroller!

Structure of FPGA
Image 2: FPGA Vs. Microcontroller

2. Different speed

As a hardware circuit, the running speed of FPGA directly depends on the speed of the crystal oscillator, the system is stable, especially suitable for high-speed interface circuits. Because the MCU is a single thread, even the commonly used M3 series pipeline is also single thread execution, program statements need to wait for the MCU cycle to execute.

3. Different application

All instructions of MCU are executed sequentially in an MCU, while FPGA, as a logical unit, is easy to execute in parallel.

4. Different levels of difficulty

The structure of the Microcontroller is simple, strong function, low price, not too difficult to start.

And the structure of FPGA is complex and expensive, the entry difficulty is not suitable for novices.

FPGA Vs. Microcontroller
Image 3: FPGA Vs. Microcontroller


FPGA belongs to the hardware circuit, it has a strong anti-interference, fast and stable operation, and other characteristics, but want to learn to use it to write code is very difficult, if there is no programming basis and related professional knowledge, can not learn, on the Internet can get very little information, is not suitable for personal self-study, and the MCU operation is very simple entry is not difficult, Now many websites have his supporting video, as long as follow these tutorials to do, want to correctly operate the MCU is not difficult, and its hardware requirements are not high, as long as people want to learn can learn, more attentively can learn, in addition to the MCU also has a small size, easy to carry and good stability and other advantages, it has a wide range of applications in the industrial field, its shortcomings are not obvious than the practical value of FPGA is higher.