The difference between FPGA and MCU

What is FPGA?

It is a product of further development on the basis of programmable devices such as PAL and GAL. It appears as a semi-custom circuit in the field of application specific integrated circuits (ASICs), which not only solves the shortcomings of custom circuits, but also overcomes the shortcomings of the limited number of gates of the original programmable devices. FPGA design is not a simple chip research, mainly using FPGA mode to design products in other industries.

9658a5e77d51469080c789d982d37520.jpg

Working principle

FPGA adopts the concept of logic cell array LCA (LogicCellArray), which includes three parts: configurable logic block CLB (ConfigurableLogicBlock), input and output module IOB (InputOutputBlock) and internal connection (Interconnect). Field programmable gate array (FPGA) is a programmable device. Compared with traditional logic circuits and gate arrays (such as PAL, GAL, and CPLD devices), FPGA has a different structure. FPGA uses a small lookup table (16×1RAM) to implement combinational logic. Each lookup table is connected to the input of a D flip-flop. The flip-flops then drive other logic circuits or drive I/O, thus forming a combination that can be implemented. The logic function can also realize the basic logic unit module of the sequential logic function. These modules are connected to each other or to the I/O module by metal wires. The logic of the FPGA is realized by loading programming data into the internal static storage unit. The value stored in the memory unit determines the logic function of the logic unit and the connection mode between each module or between the module and I/O, and finally determines The functions that FPGA can achieve, FPGA allows unlimited programming.

What is a microcontroller?

Single-chip microcomputer (Single-ChipMicrocomputer) is an integrated circuit chip, which uses a very large scale integrated circuit technology to integrate data processing capabilities of the central processing unit CPU, random access memory RAM, read-only memory ROM, various I/O ports and interrupt systems, Functions such as timers/counters (which may also include display drive circuits, pulse width modulation circuits, analog multiplexers, A/D converters, etc.) are integrated into a small and perfect microcomputer system composed of a silicon chip. Widely used in the field of industrial control. From the 1980s, from the 4-bit and 8-bit single-chip microcomputers at that time to the current 300M high-speed single-chip microcomputers.

e0901eea9e884a59b0f0a516a6897cdd.jpg

The single chip microcomputer is also called a single-chip microcontroller. It is not a chip that performs a certain logic function, but integrates a computer system onto a chip. It is equivalent to a mini computer. Compared with a computer, a single chip computer only lacks I/O devices. In a nutshell: a chip becomes a computer. Its small size, light weight, and low price provide convenient conditions for learning, application, and development. At the same time, learning to use a single chip microcomputer is the best choice to understand the principles and structure of computers.

The application field of single chip microcomputer has been very extensive, such as intelligent instrument, real-time industrial control, communication equipment, navigation system, household appliances and so on.

Since the 1990s, single-chip technology has been developed. With the progress of the times and the development of science and technology, the practical application of this technology is gradually maturing, and single-chip is widely used in various fields. Nowadays, people pay more and more attention to the development and application of single-chip microcomputer in intelligent electronic technology. The development of single-chip microcomputer has entered a new era. Whether it is automatic measurement or the practice of smart meters, you can see the figure of single-chip microcomputer technology. In the current industrial development process, the electronics industry is an emerging industry. In industrial production, people have successfully used electronic information technology to integrate electronic information technology with single-chip technology, which has effectively improved the application effect of single-chip microcomputer. As a branch of computer technology, the application of single-chip technology in the field of electronic products has enriched the functions of electronic products, and also provided a new way for the development and application of intelligent electronic equipment, and has achieved the innovation and development of intelligent electronic equipment. .

The single chip microcomputer is also called a single-chip micro controller, which belongs to an integrated circuit chip. The single-chip computer mainly includes CPU, read-only memory ROM and random memory RAM. The diversified data collection and control system can enable the single-chip computer to complete various complex operations, whether it is to control the operation symbols or to issue operation instructions to the system. Completed by single chip microcomputer. It can be seen that the single chip microcomputer can be fully applied in intelligent electronic equipment by virtue of powerful data processing technology and calculation function. Simply put, a single-chip microcomputer is a chip. This chip forms a system. Through the application of integrated circuit technology, the data operation and processing capabilities are integrated into the chip to achieve high-speed data processing.

What is the difference between them?

1. The difference in structure

The single chip microcomputer is a kind of microprocessor, similar to the computer CPU. It generally adopts the Harvard bus structure, or von Neumann structure. The programming of the single chip microcomputer must largely consider its structure and the role of each register. The single-chip microcomputer is more versatile, generally used in the control line, and the things you can see every day!

The structure of FPGA is a look-up table structure, and its program does not need to consider the structure of the chip too. It should be noted that the timing problem. Its structure is more complicated and the function is also very powerful. It is generally used in higher-end occasions such as the communication field. FPGA is still an emerging industry in China, of course, its price is much more expensive than single chip!

83662f1a8e6042b38bd8936bb45cd93a.jpg

The single chip microcomputer is a microcontroller, which realizes a certain function by loading module software. The single chip microcomputer is a formed chip; FPGA is a chip used to design a chip.

2. The difference in speed

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

Understand the difference between fpga and microcontroller

3. Essential difference

The difference between FPGA and MCU is essentially the difference between software and hardware. FPGA is more inclined to hardware circuits, while MCU is more inclined to software.

SCM design belongs to the category of software; its hardware (SCM chip) is fixed, and the execution of software instructions on the hardware chip is described through the software programming language;

FPGA design belongs to the category of hardware. Its hardware (FPGA) is programmable. It is a process of customizing integrated circuits on FPGA chips through a hardware description language;

4. The difference in application

In application, the difference is even greater. In the end, all instructions of the MCU are executed sequentially in an MCU, and because the FPGA is a logic unit, it is easy to execute in parallel.

5. Ease of entry

The single chip microcomputer is simpler than the FPGA, and the price is lower. It is possible to use a single-chip computer for PID algorithm control. The STM32F4 series has reached 300M+ and it is completely enough to run PID. If it is embedded, it can be equipped with an ARM chip. A single FPGA module can be used for high-speed parts such as communication and images.