Hello! Welcome to Embedic!
This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > Embedded Events > FPGA vs Microcontroller: Five Differences Between Them 2022

FPGA vs Microcontroller: Five Differences Between Them 2022

Date: 09-11-2022 ClickCount: 443

Do you know what is the difference between FPGA and a microcontroller? In this article, our team will tell in 3 parts, part one is the definition of them, part two is the exact difference between them, and we will work it out in 5 aspects, part three is the difference between microcontrollers, FPGA, DSP, ASIC. Let's read on.

 

Part 1. FPGA vs Microcontroller: What are the Microcontroller and FPGA?

 

Microcontroller: A microprocessor (CPU), memory (ROM and RAM), I/O interface, timer, interrupt system and other circuits are integrated on an integrated circuit chip, thus constituting a single-chip microcomputer, also known as an MCU.

 

The full name of FPGA is Field Programmable Gate Array, which is a reconfigurable circuit chip, a hardware reconfigurable architecture.

 

Through programming, users can change their application scenario at any time, and it can simulate various parallel operations of CPU, GPU and other hardware. Through high-speed interface interconnection with the target hardware, FPGA can complete the part of the target hardware that is less efficient in operation, thus achieving acceleration at the system level.

fpga vs mcu

Why use FPGAs?

 

Today's Hall's Law of general-purpose processors (CPUs) is growing slowly, while machine learning and Web services are growing exponentially in size. Many companies need to accelerate common computational tasks with custom hardware, and the relative cost can be very high if the customization is done once for a project, and FPGAs allow these custom hardware to be reprogrammed to perform new types of computational tasks.

 

From this perspective, there will be far more jobs in microcontrollers than FPGAs, because the threshold of entry for microcontrollers is relatively low and learning is relatively easy to get started; while the threshold of FPGAs will be high and learning needs to rely on hardware platforms and instruments, which is mainly because the main use of FPGAs is in hardware devices such as communication/signal processing/networking/automatic control.

 

To understand the usage of FPGA in hardware, it is difficult to master its usage in hardware without the help of hardware platform, even if you spend more time to really learning.

 

Part 2. Five Differences Between FPGA and Microcontroller

 

1. The Difference in Structure

 

The microcontroller is a microprocessor structure, using the Harvard bus structure or von Neumann structure, microcontroller structure is simple and small, cheap, and widely used.

 

FPGA is a lookup table structure, its program does not have to consider the structure of the chip, favoring the timing on the problem, FPGA structure is complex, powerful, and usually used in the field of communications and other high-end occasions after all, the price is more expensive than the microcontroller.

 

At the same time, the microcontroller is to achieve a certain function by loading module software, belonging to the molding chip; FPGA is used to design the chip, it is a semi-custom chip.

 

2. The Difference in Speed

 

The microcontroller is a single-threaded execution, program statements need to wait for the microcontroller cycle to execute, long time slow speed.

 

FPGA is a hardware circuit, and the operating speed directly depends on its crystal speed, is a parallel structure, and lead to FPGA system stability, suitable for high-speed interface circuit, a one-time implementation of a variety of operations, faster than the microcontroller.

 

3. The Essence of the Difference 

 

The difference between FPGA and microcontroller is essentially the difference between hardware and software.

 

FPGA favors hardware circuits, F its hardware (FPGA) is programmable, a process of customizing integrated circuits on FPGA chips through hardware description language.

 

Microcontroller favors software, microcontroller design belongs to the software category, its hardware (microcontroller chip) is fixed, through the software programming language to describe the execution of software instructions on the hardware chip.

 

4. The Difference in the Application

 

The microcontroller is single-threaded, and all instructions are executed sequentially in the controller.

 

FPGA is a logic unit, it can do parallel execution, which is a one-time execution of a variety of operations.

 

5. The Ease of Entry

 

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.

 

Part 3. The Difference Between Microcontrollers, FPGA, DSP, ASIC

 

ASIC

ASIC is originally a special integrated chip developed specifically for a certain function, the integration is very low, and the cost is very low, but it is enough. Later ASIC developed some, called semi-custom special integrated circuits, relatively closer to FPGA, and even in some places, ASIC is a big concept, FPGA belongs to the part under ASIC.

 

FPGA

FPGA is basically a high-end CPLD, digital circuit. This device is expressed in terms of logic gates to performance. In itself, it is a bunch of logic gates, and non-gates, or non-gates, flip-flops (can be formed with the non-gates, right?) and other basic digital devices, programming determines how many devices are used and the connection between them. Turning it into a circuit connection through a hardware description language connects it into a circuit from the most basic logic gate level (see those full adder flip-flops and whatnot in digital circuit books).

 

I should say that although it looks like a CPU, it is actually fully hardware implemented. It is a product of further development based on programmable devices such as PAL, GAL, and EPLD. It is created as a semi-custom circuit in the field of application-specific integrated circuits (ASICs), which solves the cons of custom circuits and fixes the shortcomings of the limited number of gates of the original programmable devices. FPGA has great advantages in interference resistance and speed.

 

Later, because of the trouble of writing code, the control part is weak, originally used with other CPUs, that is, the troublesome algorithm CPU submitted to the FPGA, the FPGA finished calculating the results and then returned to the CPU, but this peripheral circuit becomes troublesome.

 

So the SOC design method is proposed, which is directly in the FPGA to write a CPU out, since the FPGA can do everything, there is no pressure to do a CPU naturally. There is also a difference between softcore and hardcore, but except for performance, the usage is similar. The so-called IP core is a variety of dedicated integrated circuits with hardware description language description, and then burned into the FPGA to form a special circuit, so that you do not have to build another chip, all the circuits in an FPGA inside the formation.

 

DSP

DSP should actually be called DSPs, that is, for DSP processing of special chips. The difference with ordinary computers is that on the one hand, it is Harvard structure, that is, the data and program space are separate (ordinary computers are von Neumann structure).

 

On the other hand, it has a pipeline structure, which has a dedicated hardware algorithm circuit to complete DSP operations, such as the most basic multiplication and accumulation. The DSP is far better than the general-purpose CPU for streaming media processing.

 

So you see now the cell phone CPU, at least the voice part is used DSP. Later, the DSP concept is also complicated, each family has a control core integrated into the DSP, such as the current smartphone chip. You can look at Qualcomm or TI's piece, basically, an ARM core controls overall computing, a DSP processing voice codec, a GPU is responsible for image computing, a baseband and antenna processing module is responsible for communication, plus some GPS module.

 

Microcontroller

The microcontroller is a general-purpose CPU, a microcomputer system integrated on a single chip. It has an operator, controller, memory, bus, and input and output devices, using also a way to store the program execution.

 

Programming a microcontroller means writing a program to the ROM in it, and the program in the ROM will be executed line by line after power is applied, just like the program in the computer memory. The speed and performance of the microcontroller is limited, but it is more than sufficient for some basic control.

 

The microcontroller provides a variety of interfaces to the overall control, rather than a total scheduler, of course, a simple function of a piece of CPU-independent work is also completed. The original 51 series is a bunch of IO ports, and then slowly add the commonly used PWM, AD, and other functions to the microcontroller. Mainly including 51 series, there are AVR, PIC, ARM, and HOTEK, and the current architecture is close to the DSP.

 

Microcontroller and embedded through the main function or operating system to achieve the task scheduling path to respond to a variety of external conditions trigger, and through the software output the corresponding state to achieve the normal work of the electronic system.

 

  • [2023] The Latest Development Trend of TWS Earbuds
  • [2022] The Overview of System on a Chip (SoC)

Hot Products

  • TMX320C6678CYP

    Manufacturer: Texas Instruments

    IC DSP FIX/FLOAT POINT 841FCBGA

    Product Categories: DSP

    Lifecycle:

    RoHS:

  • ADSP-BF504BCPZ-3F

    Manufacturer: Analog Devices

    IC CCD SIGNAL PROCESSOR 88LFCSP

    Product Categories: DSP

    Lifecycle:

    RoHS:

  • AVCE6467TZUTL1

    Manufacturer: Texas Instruments

    IC DGTL MEDIA SOC 529BGA

    Product Categories: SOC

    Lifecycle:

    RoHS:

  • TMS320DM8168ACYG2

    Manufacturer: Texas Instruments

    IC DGTL MEDIA PROCESSR 1031FCBGA

    Product Categories: DSP

    Lifecycle:

    RoHS:

Customer Comments

  • Looking forward to your comment

  • Comment

    Verification Code * 

Compare products

Compare Empty