Comparison and selection between DSP and FPGA in digital circuit design

Publisher:leader5Latest update time:2012-10-22 Source: 21icKeywords:DSP Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

The rapid development of digital signal processing technology and large-scale integrated circuit technology has provided us with new ideas and methods for designing digital circuits . The current digital system design is developing in the direction of fast speed, large capacity, small size and light weight. The development of DSP and FPGA technology makes this trend possible and inevitable.

Like computers, the theory of digital signal processing has been around since the 1960s. With the emergence of DSP in the 1980s, its rapid development has changed the face of signal processing. Today, DSP has been widely used in various fields such as voice, image, communication, radar, electronic countermeasures, instrumentation, etc. DSP has played a very critical role and has become the main method of digital circuit design.

Since the 1980s, the emergence of an advanced gate array, FPGA, has created another digital circuit design method with very good application prospects. The advantages of FPGA-based digital circuit design in terms of reliability, volume and cost are huge.

In addition to the above two solutions, there is also a DSP + FPGA solution, as well as a solution that selects an FPGA with an internally embedded DSP module to implement the system.

1 Structural characteristics of DSP and FPGA

1.1 Structural characteristics of DSP

DSP is a microprocessor with a special structure. The DSP chip uses a Harvard structure with separate programs and data, has a dedicated hardware multiplier, widely uses pipeline operations, and provides special DSP instructions, which can be used to quickly implement various digital signal processing algorithms. According to the requirements of digital signal processing, DSP chips generally have the following main features:

(1) One multiplication and one addition can be completed in one instruction cycle;

(2) The program memory and data memory are two independent memories, each of which is independently addressed and can access instructions and data at the same time;

(3) The chip has fast RAM, which can usually be accessed simultaneously in two blocks through independent data buses;

(4) Hardware support for low-overhead or no-overhead loops and jumps;

(5) Fast interrupt processing and hardware I/O support;

(6) Having multiple hardware address generators operating in a single cycle;

(7) Multiple operations can be performed in parallel;

(8) Support pipeline operation so that operations such as instruction fetch, decoding and execution can be performed in an overlapping manner.

1.2 Structural Characteristics of FPGA

The structure of FPGA is derived from the design concept based on semi-custom gate array. In essence, FPGA is an ASIC (Application Specific Integrated Circuit) design technology that is more convenient than semi-custom.

The structure of FPGA is mainly divided into three parts: programmable logic blocks, programmable I/O modules, and programmable internal connections. There are two main types of programmable logic blocks and programmable interconnection resources: lookup table type and multi-way switch type.

The programmable logic unit of the lookup table type FPGA is composed of a function generator composed of an SRAM (Static Random Access Memory) that functions as a lookup table, which controls the logic that executes the FPGA application function. The output of the SRAM is the value of the logic function, and the output state controls the on and off of the transmission gate or multiplexer signal to achieve programmable connection with other functional blocks. The basic structure of the multiplexer type programmable logic block is a multiplexer configuration. Using the characteristics of the multiplexer, different logic functions can be achieved when each input of the multiplexer is connected to a fixed level or input signal. A large number of multiplexers and logic gates are connected to form a logic block that implements a large number of functions.

FPGA is divided into two categories according to its configuration mechanism: reconfigurable and one-time programmable. In recent years, FPGA has been widely used in the design of digital systems due to its advantages of high integration, fast processing speed and high execution efficiency.

2 DSP and FPGA performance comparison

The internal structure of DSP gives it the following advantages: all instructions are executed in a single cycle, instructions are pipelined, internal data, address, instruction and DMA (Direct Memory Access) buses are separated, and there are more registers.

Compared with general-purpose microprocessors, DSP chips have relatively weaker general functions. DSP is a specialized microprocessor suitable for conditional processes, especially complex multi-algorithm tasks. In terms of operation, it is subject to the clock rate, and the number of useful operations performed per clock cycle is also limited. For example, TMS320C6201 has only two multipliers and a 200 MHz clock, so it can only complete 400M multiplications per second.

The simulation algorithm and specific index requirements are mapped to the general DSP. The typical DSP is programmed through assembly or high-level languages ​​such as C language to implement the solution in real time. If the DSP uses standard C program, this C code can implement high-level branch logic and judgment. For example, the protocol stack of the communication system is difficult to implement on FPGA. In terms of effect, the advantage of using DSP devices is that the software update speed is fast, which greatly improves the reliability, versatility, replaceability and flexibility of the system, but the disadvantage of DSP is that it is limited by the serial instruction stream.

FPGA has many free gates, and by connecting these gates, multipliers, registers, address generators, etc. can be formed. As long as these are done at the block diagram level, many blocks can be completed at a very high level from simple gates to FIR (Finite Impulse Response) or FFT (Fast Fourier Transform). But its performance is limited by the number of gates it has and the clock speed. For example, a Virtex device with 200,000 gates can implement 10 16-bit multipliers with a 200MHz clock.

FPGA contains a large number of resources for implementing combinational logic, which can complete the design of large-scale combinational logic circuits; at the same time, it also contains a considerable number of triggers, with the help of which, FPGA can also complete complex sequential logic functions. By using various EDA (Electronic Design Automatic) tools, designers can easily implement complex circuits in FPGA. Like microprocessors, many FPGAs can be reprogrammed infinitely, and loading a new design only takes a few hundred milliseconds. Even field products can be implemented very simply and quickly. In this way, the use of reconfiguration can reduce hardware overhead.

At sampling rates above a few MHz, a DSP can only perform very simple operations on the data. Such simple operations are easily implemented with an FPGA, and can reach very high sampling rates. At lower sampling rates, overall complex programs can be implemented using a DSP, which is very difficult for an FPGA.

DSPs have an advantage for slower events. They can be queued and guaranteed to execute, but there may be some delay before they are processed. FPGAs cannot handle multiple events because each event has dedicated hardware, but using this dedicated hardware to implement each event allows each event to execute simultaneously.

If the main working environment needs to be switched, the DSP can do this by creating a new subroutine in the program, and the FPGA needs to create dedicated resources for each configuration. If these configurations are relatively small, then several configurations can exist in the FPGA at the same time; if the configuration is large, it means that the FPGA needs to be reconfigured, and this method can only be used sometimes.

Finally, FPGAs are programmed in a block diagram format, which makes it easy to see the data flow. DSPs are programmed in a sequential flow of instructions. Most single-processor systems start out as some kind of block diagram. In fact, most system designers find it easier to port a block diagram to an FPGA than to convert it to C code for a DSP. [page]

3 How to choose DSP and FPGA solutions

3.1 Principles of solution selection

There are many factors to consider when choosing a solution for the core processing part of a digital system, such as how to make full use of existing resources (including software and hardware), the operating clock rate required by the system, and the characteristics of the algorithm or working method, which have a great impact on the selection of the best solution.

Specifically, in the initial solution demonstration stage, the solution selection can be made based on the answers to the following questions:

(1) What is the sampling rate of this system?

If it is above a few MHz, FPGA is the obvious choice.

(2) Is the system already programmed in C? If so, the DSP can be implemented directly. It may not be the best implementation of the solution, but it is easy to develop further.

(3) What is the data rate of the system?

If it is higher than 20-30Mbyte/second, it is better to use FPGA for processing.

(4)How many conditional operations are there?

If not, FPGA is a good choice; if many, software implementation, that is, DSP implementation, is a better choice.

(5) Does the system use floating point?

If so, it is better to use a programmable DSP. So far, some FPGA developers, such as Xilinx, do not support floating point cores, although you can design it yourself.

(6) Are the required libraries available?

Both DSPs and FPGAs offer basic building blocks such as FIR or FFT. However, more complex or specialized building blocks may not be available, which will determine the choice.

3.2 Example of solution selection

Several digital circuit design examples are provided below to help understand the scheme selection principles introduced earlier.

(1) Sampling filter for wireless data receiver. Typical CIC (Control Integrated Circuit) filter operates at a sampling rate of 50 to 100 MHz. A 5-step CIC has 10 registers and 10 adders. The required acceleration is 500 to 1000 MHz.

At this rate, any DSP processor will be difficult to implement. However, CIC has a very simple structure, so it will be very easy to implement it with FPGA. A sampling rate of 100MHz can be achieved, and some models of FPGA may even have some spare resources for further processing.

(2) Implement the communication stack protocol - ISDN (Integrated Services Digital Network). IEEE1394 has a lot of complex C code, which is not suitable for FPGA implementation; but it is very simple to implement it with DSP. Moreover, a signal coding base can be retained, so that the code stack can be implemented on the DSP of a certain product, or on a separate protocol processor on another DSP. This will give opportunities to suppliers who specialize in providing authorization for code stacks.

(3) Baseband processor of digital RF receiver. Some types of receivers require FFT to obtain the signal, and then a matched filter to obtain the signal at one time. These two modules can be easily implemented with any solution. However, if the working mode conversion/signal acquisition and signal reception conversion is required; the DSP solution is more suitable because the FPGA solution needs to complete two modules at the same time.

It should be noted here that RF is better implemented with FPGA because this is a hybrid, multi-tasking system. If a larger FPGA is used, both modules can be implemented with one FPGA. [page]

(4) Image Processor. Image processing is usually simple and repetitive, which makes it suitable for FPGA implementation. However, an imaging process is often used to identify "spots" or "regions of interest" in the observed target. These "spots" may be of different sizes, making the back-end judgment and processing process more complicated. At the same time, the algorithms used are often adaptive, depending on what the spots look like. Therefore, it is appropriate to use DSP to form the back-end processing part of the image processing pipeline.

In short, DSP and FPGA represent two types of digital system signal processing processes, each with its own strengths and weaknesses. For many high-speed sampling frequency applications, especially when the tasks are relatively fixed or repetitive, FPGA solutions are suitable; similarly, for lower sampling rates and highly complex software problems, DSP solutions are suitable.

4 New design ideas

4.1 DSP+FPGA Structure

The biggest feature of the DSP+FPGA structure is its flexible structure, strong versatility, and suitability for modular design, which can improve algorithm efficiency; at the same time, its development cycle is short and the system is easy to maintain and expand.

For example, in a real-time signal processing system implemented by DSP+FPGA structure, the low-level signal preprocessing algorithm processes a large amount of data and has high requirements for processing speed, but the operation structure is relatively simple, which is suitable for hardware implementation using FPGA, so that both speed and flexibility can be taken into account. The characteristic of high-level processing algorithm is that the amount of data processed is less than that of low-level algorithm, but the control structure of the algorithm is complex, which is suitable for implementation with DSP chip with high operation speed, flexible addressing mode and powerful communication mechanism.

FPGA can complete module-level tasks and act as a coprocessor of DSP. Its programmability makes it have the speed of ASIC and high flexibility.

DSP has the flexibility of software, while FPGA has the high speed of hardware. From the perspective of the device, it can meet the requirements of processing complex algorithms. The DSP+FPGA structure provides a better solution for how to deal with the relationship between software and hardware in the design. At the same time, the system has a flexible processing structure and has strong adaptability to algorithms of different structures, especially suitable for real-time signal processing tasks.

4.2 FPGA with embedded DSP module

Another major trend in digital circuit design is to embed some DSP modules that can realize basic digital signal processing functions into FPGA chips.

Some companies have or plan to integrate ASIC-based microprocessors or DSP cores with programmable logic arrays on a single chip. The DSP performance provided by FPGAs has exceeded 128 billion MACs per second, which is much higher than the performance of traditional DSPs currently provided by mainstream suppliers.

Among them, Xilinx, as the world's leading manufacturer of programmable logic devices, has advanced FPGA technology and advanced development tools. In November 2000, Xilinx XtremeDSP was launched in an attempt to enter this market. Virtex-II can provide 600 billion MAC (multiplication and accumulation operations) per second. With this parallel structure, each sample in a 256-order FIR filter can be processed within one clock cycle, thus greatly improving the performance and efficiency of DSP.

The goal of Xilinx XtremeDSP is to meet the high-performance challenges of the broadband revolution. Other features include optimizing DSP design based on factors such as chip area (corresponding to the resources used) and system frequency. The XtremeDSP initiative also launched some development tools to fill the gap between traditional DSP and FPGA design methods.

The enhanced structure of the new Virtex-II series gives it a unique advantage in implementing algorithms that require calculations. Test data provided by Xilinx shows that Xilinx FPGA runs 100 times faster than the fastest DSP in the industry. Therefore, a single FPGA can replace the traditional so-called DSP processor array.

Currently, many mobile phone base station products in the world use Xilinx's Virtex-E FPGA. In order to establish a large number of connections, mobile phone base stations need to process a large amount of data, most of which are implemented using some kind of DSP.

Another outstanding product is the QuickDSP series launched by QuickLogic, which provides embedded DSP building blocks and programmable logic flexibility. In addition to the previous programmable logic and storage modules, this new series also includes dedicated multiplication and addition modules. These synthetic modules can realize DSP functions. Software that supports DSP functions can be obtained from the company. In addition to QuickWorks development software, the DSP wizard package allows users to generate optimized functions, such as fixed-point or floating-point arithmetic logic, FIR and IIR (Infinite Impulse Response) filters, etc., with just a few clicks of the mouse.

It can be predicted that in the near future, digital systems implemented with a single DSP or FPGA will be replaced by a DSP+FPGA structure or an FPGA design structure embedded with a DSP module.

Keywords:DSP Reference address:Comparison and selection between DSP and FPGA in digital circuit design

Previous article:Design of orthogonal signal source filter based on CPLD and DDS
Next article:Multi-core DSP Bootloader code loading method

Recommended ReadingLatest update time:2024-11-16 15:40

Design of DSP Communication Interface Based on CAN Bus and RS485
1. Overview Fieldbus is an open, digital, multi-point communication control system local area network. It is one of the most promising technologies in the field of automation today. CAN bus is a hot spot in fieldbus applications. CAN bus has the characteristics of high communication rate, good openness, sho
[Embedded]
Design of embedded four-axis motion controller based on ARM+DSP
Introduction: Motion control systems have been widely used in the field of industrial control. In recent years, industrial control has placed higher and higher demands on motion control systems. Traditional PC-based and low-end microcontrollers have increasingly exposed problems such as high cost, high consumption, an
[Microcontroller]
Design of embedded four-axis motion controller based on ARM+DSP
Design of nanosecond-level time interval measurement system using TDC-GP1 and FPGA devices
1 Introduction With the development of space detection technology, the detection of plasma components in space becomes more and more important, especially for the ongoing deep space exploration, such as the lunar exploration program. The most important method for detecting space plasma components is the time-of-flight
[Test Measurement]
Design of nanosecond-level time interval measurement system using TDC-GP1 and FPGA devices
Design and implementation of digital controller for intelligent switching power supply based on DSP and CPLD
   1 Introduction   In recent years, with the development of high-power switching power supplies, the requirements for controllers have become increasingly higher, and the digitization and intelligence of switching power supplies will also become the future development direction.   At present, most of my country's
[Power Management]
Design and implementation of digital controller for intelligent switching power supply based on DSP and CPLD
Application of HPI in MCU and DSP interface
  This paper describes the working principle of HPI interface and the interface circuit design between C8051F060 and TMS320VC5409 (referred to as C5409), and gives the software design of HPI interface. This system has flexible design, fast data transmission speed, and is suitable for other DSP application systems with
[Microcontroller]
Application of HPI in MCU and DSP interface
FPGA Implementation of New Data Format Conversion
introduction Floating-point operations are one of the most common operations in digital signal processing. All major EDA software come with free floating-point operation IP cores. By generating and instantiating IP cores to achieve floating-point operations, FPGA designers are freed from the heavy code writing.
[Industrial Control]
FPGA Implementation of New Data Format Conversion
Control of Ultrasonic Power Supply System Based on DSP Chip TMS320LF2407A
This paper uses the high-speed TMS320LF2407A DSP control chip to design the control circuit of the system, and uses a full-bridge inverter as the main power conversion circuit of the ultrasonic vibration system to solve the drift of the resonant frequency caused by load temperature changes and other reasons, and ensure
[Power Management]
Control of Ultrasonic Power Supply System Based on DSP Chip TMS320LF2407A
The Structure and Design of Field Programmable Gate Array
Abstract: Field Programmable Gate Array (FPGA) is a new type of large-scale integrated logic device developed in the late 1980s. It uses advanced computer-aided design technology to develop and design devices, and its advantages are much better than ordinary TTL integrated gates. This paper focuses on the basic comp
[Power Management]
The Structure and Design of Field Programmable Gate Array
Latest Embedded Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号