What is the difference between ARM, DSP, FPGA, CPLD, SOPC, SOC? Arm is an embedded chip that is more powerful than the microcontroller and can be used to add peripherals. Similar to a generic cpu but does not include a desktop computer. ARM (AdvancedRISCMachines) It is a well-known enterprise in the microprocessor industry and has designed a large number of high-performance, low-cost, low-energy-consuming RISC processors, related technologies, and software. The ARM architecture is the first RISC microprocessor designed for low-budget markets. It is basically an industry standard for 32-bit microcontrollers. It provides a range of cores, system extensions, microprocessors, and system-on-a-chip solutions. Four functional modules are available for production. Manufacturers configure production according to the requirements of different users. Since all products use a common software system, the same software can run on all products. At present, ARM has a share of more than 90 in the handheld device market, which can effectively shorten the time for application development and testing, as well as reduce research and development costs. DSP (digitalsignalprocessor) It is a unique microprocessor with its own complete instruction system, a device that processes large amounts of information with digital signals. A digital signal processor includes a control unit, an arithmetic unit, various registers, a certain number of memory units, and the like in a small chip, and can also be connected with a plurality of memories at its periphery and can interact with a certain number of external devices. Communication, a comprehensive function of software and hardware, is itself a microcomputer. DSP adopts Harvard design, namely data bus and address bus are separated, make the program and data store separately in two separate spaces, allow to fetch the instruction and execute the instruction and totally overlap. In other words, the next instruction can be fetched and decoded at the same time as the previous instruction, which greatly improves the speed of the microprocessor. It also allows transfers between program space and data space because of increased device flexibility. Its working principle is to receive analog signals, convert them to digital signals of 0 or 1, and then modify, delete, and strengthen the digital signals, and interpret the digital data back to analog data or actual environment format in other system chips. Not only is it programmability, but its real-time operating speed can reach tens of millions of complicated instruction programs per second, far more than general-purpose microprocessors, and it is an increasingly important computer chip in the digital electronic world. Its powerful data processing capabilities and high operating speed are two of the most commendable features. Due to its high computing power, high speed, small size, and high degree of flexibility in software programming, it provides an effective way to perform complex applications. Of course, other general-purpose functions of DSP chips are relatively weak compared with general-purpose microprocessors. FPGA (FieldProgrammableGateArray) FPGA is the abbreviation of Field Programmable Gate Array. It is the product of further development based on PAL, GAL, PLD and other programmable devices. It is the most integrated type in the application-specific integrated circuit (ASIC). FPGA adopts a new concept such as logic cell array LCA (Logic CellArray). The internal part includes configurable logic module CLB (Configurable Logic Block), output input module IOB (Input Output Block) and internal connection (Interconnect). Users can reconfigure the logic blocks and I/O modules inside the FPGA to implement the user logic. It also features static repeatable programming and dynamic reconfiguration in the system, so that the functionality of the hardware can be modified programmatically just like software. As a kind of semi-custom circuit in the application-specific integrated circuit (ASIC) field, FPGA not only solves the defect of the custom circuit, but also overcomes the disadvantage of the limited number of the original programmable device gate. It is no exaggeration to say that FPGAs can perform the functions of any digital device, from high performance CPUs down to simple 74 circuits, all with FPGAs. FPGAs are like a piece of white paper or a stack of wood. Engineers can design a digital system through traditional schematic input methods or hardware description languages. Through software simulation, we can verify the correctness of the design in advance. After the completion of the PCB, it is also possible to use the on-line modification capabilities of the FPGA to modify the design at any time without changing the hardware circuit. Using FPGAs to develop digital circuits can greatly reduce design time, reduce PCB area, and increase system reliability. The FPGA is set by the program stored in the on-chip RAM, so the on-chip RAM needs to be programmed when working. Users can use different programming methods according to different configuration modes. On power-up, the FPGA chip reads the EPROM data into the on-chip programming RAM. After the configuration is complete, the FPGA enters the working state. After power-down, the FPGA recovers to a white chip and the internal logic disappears. Therefore, the FPGA can be used repeatedly. FPGA programming does not require a dedicated FPGA programmer, just use a common EPROM, PROM programmer. When you need to modify the FPGA function, you just need to change the EPROM. In this way, the same FPGA, different programming data, can produce different circuit functions. Therefore, the use of FPGAs is very flexible. It can be said that the FPGA chip is one of the best choices for small-volume systems to improve system integration and reliability. At present, there are many types of FPGAs, including the XC series from XILINX, the TPC series from TI, and the FIEX series from ALTERA. ARM has a relatively strong transaction management function, can be used to run interfaces and applications, and its advantages are mainly reflected in the control. DSP is mainly used for calculation, such as encryption and decryption, modulation and demodulation, etc. The advantage is powerful data processing capability and high operating speed. FPGAs can be programmed with VHDL or verilog HDL for flexibility, and can be fully designed, developed, and validated due to the ability to program, debug, reprogram, and repeat operations. When the circuit has a few changes, it can show the advantages of FPGA. Its on-site programming capability can prolong the life of the product in the market, and this ability can be used to upgrade or debug the system. Each of the three devices has its own advantages, so there is no way to replace who. The main competition is between FPGAs and DSPs, low-end CPUs. Because both DSPs and CPUs are application-specific integrated circuits, the internal clock frequency can be made very high, and the density can be made very high. CPUs, in particular, often represent the latest highest technology of semiconductors. Now the CPU of the PC is measured in GHz, and the basic 500MHz of the FPGA is capped. DSP is a software implementation algorithm. FPGAs are hardware-implemented algorithms, so the processing speed of FPGAs will be higher. An important reason FPGA is faster than DSP is that FPGA can implement parallel operations. However, due to hardware structural constraints, DSP mainly relies on software to extract instruction execution, which is interpreted as serial execution. FPGAs can achieve higher data processing capabilities than CPUs and DSPs through parallel processing and pipelines. And now FPGAs also have embedded DSP blocks and CPUs that can be designed as on-chip systems. For a single board that does not require high CPU power, it is sufficient to use a CPU in an FPGA, and it is not necessary to additionally attach a CPU chip. Systematic comparison, share with everyone: TFT LCD Amoled TFT LCD Amoled,LCD Display Module,TFT Display ESEN Optoelectronics Technology Co., Ltd, , https://www.newvisionlcd.com
DSP is mainly used for calculation, calculation function is very powerful, general embedded chip used to control, and DSP is used to calculate, such as the general mobile phone has an arm chip, mainly used to run the interface, applications, DSP may have two, adsp, Mdsp, or one, mainly encryption and decryption, modulation and demodulation.
Both FPGAs and CPLDs are programmable logic devices. All of them can be programmed with VHDL or verilog HDL. General CPLDs use product term techniques and have coarser granularity. FPGAs use lookup table technology, which has finer granularity and more logic for triggers. In fact, most of the time, they ignore their differences.
Generally, when designing an ASIC chip, FPGA verification is used, and then VHDL and other programs are mapped into a fixed layout to make an ASIC chip.
When designing a VHDL program, it is possible to use C simulation.
The SOC is a monolithic system, which is mainly due to the disadvantages of too many devices such as complicated design, high cost, and poor reliability. Therefore, the monolithic system is a development trend.
SOPC is a programmable chip system that can implement a monolithic system using FPGA/CPLD. For example, Altera's Nios soft processor is embedded in StraTIx.
Although both FPGAs and CPLDs are programmable ASIC devices and share many common features, due to differences in the structure of CPLDs and FPGAs, they have their own characteristics:
1 CPLD is more suitable for completing various algorithms and combinatorial logic. FP GA is more suitable for completing sequential logic. In other words, FPGAs are more suitable for trigger-rich structures, while CPLDs are more suitable for structures where the triggers are finite and the product terms are rich.
The CPLD's continuous routing architecture determines that its timing delay is uniform and predictable, while the FPGA's segmented routing architecture determines the unpredictability of its latency.
3 FPGA has greater flexibility than CPLD in programming. CPLDs are programmed by modifying logic functions with fixed interconnect circuits. FPGAs are primarily programmed by changing the wiring of internal connections; FP GA can be programmed under logic gates, while CPLDs are programmed under logic blocks.
4 FPGAs are more integrated than CPLDs and have more complex wiring structures and logic implementations.
5CPLD is more convenient than FPGA. The programming of CPLD adopts E2PROM or FASTFLASH technology, does not need the external memory chip, it is simple to use. FPGA programming information needs to be stored in an external memory and its use is complicated.
6CPLD is faster than FPGA and has greater time predictability. This is due to the fact that FPGAs are gate-level programming and that CLBs use distributed interconnects, while CPLDs are logical block-level programming and the interconnections between their logic blocks are lumped.
7 In terms of programming, CPLD is mainly based on E2PROM or FLASH memory programming, the number of programming up to 10,000 times, the advantage is that the programming information is not lost when the system is powered off. CPLD can be divided into programming on the programmer and programming on the system. Most FPGAs are based on SRAM programming, and programming information is lost when the system is powered off. Each time the power is turned on, the programming data needs to be rewritten into SRAM from outside the device. Its advantage is that it can be programmed any number of times, and can be quickly programmed in the work, so as to realize the dynamic configuration at the board level and the system level.
8CPLD is confidential and the confidentiality of FPGA is poor.
9 Under normal circumstances, CPLDs consume more power than FPGAs, and the higher the degree of integration, the more obvious.
With the increasing density of complex programmable logic devices (CPLDs), digital device designers are flexible and easy to implement in large designs, and products can be quickly brought to market. Many designers have already felt the CPLD's ease of use, predictable timing, and high speed. However, due to the limitations of CPLD density in the past, they had to move to FPGAs and ASICs. Now designers can appreciate the benefits of CPLDs with a density of up to several hundred thousand gates.
The CPLD structure uses 1 to 16 product terms on a logical path, so the speed of large complex designs can be predicted. Therefore, the original design is predictable and reliable, and it is easy to modify the design. CPLDs are inherently flexible, have a simple timing, and have excellent routing performance. Users can change their designs while keeping pin outputs unchanged. Compared to FPGAs, CPLDs have more I/O and are smaller in size.
Today, communication systems use many standards and devices must be configured to support different standards according to the needs of customers. CPLDs allow devices to make adjustments to support multiple protocols and change functionality as standards and protocols evolve. This brings great convenience to the system designer, because they can start the hardware design before the standard is fully mature, and then modify the code to meet the requirements of the final standard. CPLD's speed and delay characteristics are better than pure software solutions. Its NRE cost is lower than ASIC, more flexible, and the product can also enter the market faster. The advantages of CPLD programmable solutions are as follows:
â— Rich logic and memory resources (Cypress Delta39K200 has more than 480 Kb of RAM)
â— Flexible timing model with redundant routing resources â— Flexible change of pin output â— Reprogrammable after mounting on the system â— Large number of I/Os â— Integrated memory control logic with guaranteed performance â— Single-chip CPLD and programmable Because of these advantages, the PHY solution has a low cost of design modeling and can add designs or change pin outputs at any stage of the design process and can be quickly available.
The structure of CPLD
CPLD is a programmable logic device belonging to a coarse grain structure. It has rich logic resources (ie high ratio of logic gates and registers) and highly flexible routing resources. The routing of the CPLDs is connected together, and the routing of the FPGA is split. The FPGA may be more flexible, but it includes many jumpers, so it is slower than CPLD.
CPLDs are arranged in an array of clusters and are connected by horizontal and vertical routing channels. These routing channels send signals to or from the device pins and connect the internal logic groups of the CPLD.
March 23, 2023