First understand from the name.
FPGA: Field Programmable Gate Array,
CPLD: complex programmable logic device, they are all programmable devices, but the CPLD program is solidified in the internal flash, and the program is still there after power-off and power-on. However, there is no flash inside the FPGA, and the program will disappear after power failure. Of course, a flash storage program can be hung externally, and it will be loaded from the flash every time the power is turned off and restarted.
In terms of scale, the capacity (logic unit) of FPGA is generally much larger than that of CPLD, with stronger functions, higher cost, higher power consumption, and more flexible programmability, so the two have different market positioning , FPGA is mainly used in the fields of chip function verification (highly complex), image processing (big data) and communication (high speed), and CPLD can be used in small-scale industrial control markets such as signal generation.
PLD is a broad concept, both FPGA and CPLD belong to PLD, programming is hardware programmable, logic design!
PLC is a programmable controller, and the common 51 single-chip microcomputer belongs to PLC, which is ASIC! That is to say, the hardware is dead, and the internal circuit is solidified, which can be regarded as a customized chip, and the programming is software programming!
DSP has strong computing power, and has more multipliers and adders. Strictly speaking, DSP is a kind of soft core, and it is packaged into chips after adding peripheral storage and clocks. It has more advantages in image processing and mathematical operations. big advantage.