Problem description:
What is the difference between SOC and MCU?
Analysis:
MCU, that is, microcontroller, is the previous practice, similar to single chip microcomputer, but integrated with more functional modules. In essence, it is a complete single chip microcomputer, with a processor and various interfaces. All the development is based on the existing system architecture. What users need to do is to develop software programs and add external devices.
SOC is the overall concept of a design method, which refers to a chip design method, integrating various functional modules, and each function is programmed by hardware description language, and then realized by the circuit in SOC; Each module is not a mature ASIC "device", but only uses some chip resources to realize some traditional functions. There is no limit to this function, which can be a memory or a processor. If the system goal of this SOC is the processor, then this SOC is the MCU. If you want to use a processor to make a complete system, then MCU is a module and an IP in the whole SOC. SOC can be made into mass production of general devices, such as MCU;; It can also be specially designed for an object and can integrate any function, unlike MCU, which has its own architectural limitations. Its size can be very small, and the specially designed chip can reduce its size and power consumption according to needs, and it is not limited by the hardware architecture in a relatively large range (of course, it is also limited by the physical structure of the chip itself, such as the type and size of the wafer, etc.). ).
A major feature of SOC is that it can be simulated together with the hardware environment. The simulation tool not only supports the compilation and debugging of software programs, but also supports the compilation and debugging of hardware architecture. If you are not satisfied with the hardware architecture design, you can directly add a memory or reduce an interface through the program, which is impossible for the single chip microcomputer design method. In MCU method, the hardware architecture is fixed and cannot be changed. Too much can only be wasted, too little can only be found or added. If there is not enough storage space, you can add it. If the interface is not enough, it can only be reused in software. After the simulation is completed, the software and hardware programs can be downloaded to FPGA for actual hardware debugging, so as to test the device more truly.
If the hardware debugging is successful, it will be put into production directly as a "fixed structure chip", which is an ordinary SOC;; If its hardware is based on FPGA, that is to say, it can be upgraded and debugged at any time in the future, which is called the design method of SOPC, so SOPC is a solution of SOC.
SOPC design is flexible and efficient, with the characteristics of reconfigurable finished hardware (SOC can also be reconfigured during debugging). Its applicability can be very extensive. For different objects, real-time structural adjustment can be made, such as reducing program storage space and increasing the number of interfaces. This added value is beyond the reach of any fixed-structure IC, but its price may be much more expensive than that of mass-produced fixed-structure IC!