The difference between FPGA and DSP

FPGA is a programmable silicon chip, and DSP is digital signal processing. When system designers face the important issue of whether to use FPGA or DSP in the architectural design stage of the project. This article will first introduce the characteristics of FPGA and DSP, and then analyze the difference between the two from the perspectives of internal resources, programming languages, and functions.

The difference between FPGA and DSP

Features of FPGA and DSP

Structural features of FPAG

There are a large number of logic gates and flip-flops in the chip, most of which are look-up table structures, and the implementation process is mostly SRAM. Large scale, high integration, fast processing speed and high execution efficiency. It can complete complex sequential logic design, and the programming is flexible, convenient, simple, and can be repeatedly programmed many times. Many FPAGs are infinitely reprogrammable. Using reconfiguration reduces hardware overhead. The disadvantages are: the original logic configuration is generally lost after a power failure; the timing sequence is difficult to plan; it cannot handle multiple events; it is not suitable for conditional operations

Structural characteristics of DSP

As a specialized microprocessor, DSP is mainly used for computing, and its advantage is the flexibility of software. Suitable for conditional processes, especially complex multi-algorithm tasks. DSP is programmed through assembly or high-level language (such as C language), and realizes the scheme in real time. Therefore, the advantage of using DSP devices is: the software update speed is fast, which greatly improves the reliability, versatility, replaceability and flexibility of the system. Disadvantages: limited by the serial instruction stream; more than a few MHZ sampling rate, a DSP can only complete very simple operations on data; long development cycle

Internal resources

FPGA focuses on designing a hardware circuit with a certain function. The internal resources are tiny units such as Versatiles (ActelFPGA). The internal units of FPGA are initially written in HDL language before programming to realize the design description of the hardware circuit. The wiring resources inside the FPGA connect the internal and inter-module signals of these functional modules to form a larger module.

FPGA can internally implement digital circuits such as ALU, adder, multiplier, accumulator, FIFO, SRAM, DDRcontroller, FFT, HDLC, DMA, PWM, etc., which means that we use it to implement a specific or general hardware function One or more modules, the details of these modules must use HDL to describe the design implementation.

The current FPGA can directly embed microprocessors such as ARM7, CoretexM1, Core8051, etc., which are used for the soft core of the FPGA, and some FPGA manufacturers directly implement some hardware modules into the FPGA, which are the internal hard core of the FPGA. Traditional FPGAs implement pure digital circuits. In the industry, only Actel’s FPGAs implement the digital-analog hybrid PSC single-chip technology, which truly improves and expands the application functions and fields of FPGAs.

In addition, most FPGAs have phase-locked loops such as PLL, DLL, adjustable Slew, Actel’s also built-in hardware units such as OSC, RTC, Powermanager, and even Actel’s Fusion series also built-in 600kbps 12bit Analog interfaces such as ADC and MOSFETDriver have internal resources such as UserFlashMemeory and FlashROM to realize functions such as real PSC and Bootloader.

DSP is mainly algorithm processing, the internal resources are mainly multipliers, adders and other resources, there are SPI interface, UART interface, accept a certain instruction set, the internal resources are basically ready-made, need to be reconfigured by customers , which is convenient for customers to use, but its function is relatively limited, so it is mainly used in some specific fields. DSPs also have built-in phase-locked loops, counters, Baudrate generators, and some DSPs also have ADC analog interfaces.

Programming language

FPGA mainly uses HDL, including VHDl, Verilog, and Verilog-AMS, a mixed digital-analog description language.

DSP uses C, assembly language programming.

Functional perspective

FPGA is commonly used to implement digital circuit modules, basically all digital circuits, traditional digital function modules, and digital processing modules for specific needs of customer products can be implemented. There are many types of IO bridges in FPGAs, and the IO standards and protocols supported by different types of FPGAs are not the same, but the driving capabilities or voltages of these IOs are programmable.

The realization of any digital function circuit, the processing of high-speed signals, the signal processing in the control field, the realization of the bridge conversion protocol, Actel’s Fusion can also be used for current/voltage detection, temperature detection, MOSFETdriver, power management, and its unique Flash technology The technology can rely on battery power to work, save data in real time when power off, ultra-low power consumption, multiple working modes (StaTIc, Sleepmode), especially the function of the IGLOO chip, which consumes only 5uW in Sleepmode. Such power consumption can be used in mobile phones, mobile handheld devices such as GPS, and can play a greater role in applications.

In addition, FPGA is used to realize the early design verification of ASIC, FPGA realizes the function of DSP, realizes the function of CPU, the function of MCU, the memory controller, the forward and reverse transformation of PWM, SVPWM, Clarke, and Park for industry. Realization, VGA control, data encoding and decoding, demultiplexing, signal processing up to Gbps, protocol conversion and other functions are all incompetent for DSP.

There are many ready-made hardware modules, interfaces and controllers inside DSP, but software programming is required to realize PWM control, interface control, UART interface, SPI interface and other functions. However, due to the limitation of the clock cycle of the instruction set, the DSP cannot handle signals that are too high. As for the signals of Gbps, it is difficult to deal with signals such as LVDS. Therefore, the corresponding application areas will be limited. However, customers in different fields have different design schemes and different emphases to consider. In some fields, designers also like to use DSP, such as algorithm implementation, protocol processing, etc. If it is replaced by FPGA, it will not be worth the loss.

Applicable occasions

DSP is suitable for systems with low sampling rate, low data rate, multi-condition operation, processing complex multi-algorithm tasks, programming in C language, and floating-point system use. ) is suitable for multi-conditional processes at lower sampling rates, especially complex multi-algorithm tasks.

FPAG is suitable for system high-speed sampling rate (≥ several MHZ), high data rate, block diagram programming, fixed or repeated processing tasks, and fixed-point use. ) It is suitable for high-speed sampling frequency, especially when the task is relatively fixed or repeated, as well as the occasion of trial production of prototype and system development.

Haoxinshengic is a pprofessional FPGA and IC chip supplier in China. We have more than 15 years in this field。 If you need chips or other electronic components and other products, please contact us in time. We have an ultra-high cost performance spot chip supply and look forward to cooperating with you.

If you want to know more about FPGA or want to purchase related chip products, please contact our senior technical experts, we will answer relevant questions for you as soon as possible