Digital Signal Processing with FPGA

The ongoing digital transformation process across all industrial sectors involves doing away with conventional processes and embracing interconnectivity, digitalization, and streamlined data management. Although conventional digital signal processors (DSPs) continue to be applied to process signals and aggregate data, hardware and technological limitations mean more agility is required for DSPs to function optimally in modern facilities and systems. Hence, hosts of relatively more modern signal processing solutions are required, and the field-programmable gate array (FPGA) falls within this contemporary category.

To better understand the need for versatile signal-processing processes, a more in-depth analysis of the limitations of traditional DSPs is required. The time-consuming programming process for DSP software is generally highlighted as a bottleneck, but the main challenge associated with traditional DSPs is the rigidity of their architecture. DSP processor hardware architecture is famously inflexible. 

Purchasing a DSP means it must be used until the end-user decides to go for an upgrade. Throughout its use, you are limited to its: 

  • Fixed architecture
  • Fixed computing resources
  • Fixed hardware features

The rigidity of DSP features makes them unsuitable for use in dynamic applications. In a scenario where a facility intends to increase the operational capacity of a system, older DSPs become redundant. The DSP’s processing capabilities cannot be reconfigured, so it must be discarded. 

Discarding older DSPs for newer upgrades comes at a cost. Older, general-purpose DSPs may cost between $1 to $300 depending on their features and applications. But for application-specific upgrades in a field like manufacturing where maximum processing power is routinely required the cost of a new DSP fluctuates from $1,000 to $3,500. For example, to double the computing performance of a system with two DSPs, four DSPs will be required. What’s more, this increase will need reconfiguration and task-scheduling to get the system to function optimally.

The cost requirements, programming requirements, and architectural rigidity associated with DSPs mean FPGAs provide a more flexible solution for signal processing and data aggregation across data-intensive industries.

Features, Functions, and Applications of FPGAs

FPGA devices are designed with logic elements and memory that are configurable. A generic FPGA can be configured to operate and support diverse applications as needed. The designs of FPGAs are also modular, and the end-user can implement multiple hardware designs to ensure the FPGA fits into specific systems. The end-user or programmer can take advantage of hardware description languages such as Verilog HDL, VHDL, and SystemC to implement the hardware’s design. 

FPGA devices are also equipped with embedded memory, embedded processors such as ARM Cortex-M, and DSP blocks thus creating a standalone system built for specific applications. For example, an FPGA device that can manage large data sets eliminates the need to include external memory devices to support its use. The versatility of the FPGA’s design empowers designers with the option of implementing its system components in the embedded processor and designing hardware components using its general logic resources. 

The average cost of an FPGA fluctuates according to its features, but the more advanced solutions fall within the $1,000 range. The extended features an FPGA provides such as embedded processors, memory, and hardware flexibility coupled with its cost make it the more efficient signal processing unit compared to traditional DSPs.

What’s the Difference Between DSPs and FPGAs?

A clear understanding of the differences between a traditional DSP and an FPGA can help the end-user in making a choice. Here, the differences between both options will be highlighted using the features, functionality, configuration process, and cost as criteria.

Digital Signal Processor (DSP) Field-Programmable Gate Array (FPGA)
Operation/Functionality Instruction-based signal processors require approximately four instructions for any operation. Data must first be captured at the input, transferred to the processing core, and processed within the core for every operation.  FPGAs are clock-based, and every clock can perform mathematical operations on the incoming data stream. This speeds up the processing process.
Programming Language/Mechanism Standard DSPs are programmed using standard C. Designers must be proficient with a DSP’s design to implement its use.  FPGAs utilize an extensive variety of legacy codes to perform functions. This simplifies the designer’s task.
Features  Rigid hardware and limited computing resources. Increasing its performance capabilities requires an increase in the number of DSPs within the system. Flexible hardware, embedded memory, and embedded processors make it a functional system with extendable computing resources.
Cost  Generic DSPs are relatively cheap, while application-specific DSPs are expensive. Reconfiguring DSPs is also a costly process.  FPGAs can be repurposed to fit diverse applications. This versatility makes them easy to use.

Are Development Boards the Best Option for You?

Conventional DSPs handle signal processing or data analysis using a one-dimensional approach. However, in a digitalized environment where applications are broad and intertwined within a system, signal processing solutions with flexible, extended, and decentralized capabilities are required.

FPGAs provide a reconfigurable solution that meets the requirement of diverse DSP applications. The use of legacy codes to perform functions empowers developers to design flow combined with hardware acceleration without extensive technical knowledge of hardware description language. 

FPGA and SoC development boards also provide designers with extendable tools for rapidly prototyping embedded systems such as DSPs. Leveraging a development board allows end-users more design flexibility when compared to the average microprocessor. 

For example, the Eclypse Z7 is a development ecosystem that enables designers to plugin Zmods of choice to start the prototyping process. Hence, the user can design, update, and scale the functionalities of DSPs and FPGAs at need. The Eclypse Z7 ecosystem comes at a relatively cheaper cost of approximately $500, compared to the cost of reconfiguring traditional DSPs. 

Moving from traditional DSPs to the flexibility host development boards provide is the right decision for your applications. If you have decided to make the move, Digilent’s Eclypse Z7 ecosystem will provide you with the flexibility and integration versatility your DSP applications require at affordable costs. Learn more about the Eclypse ecosystem for digital signal processing.


2 Comments on “Digital Signal Processing with FPGA”

  1. For the same money won’t the FPGA’s max system clock speed be much lower than the generic DSP?

    1. Hi, Todd

      In terms of unit price, I think FPGA costs a lot more than DSP processor. And yes, FPGA’s fMAX is smaller than that of DSP processor.

      However, FPGA is very good at process intensive job. By process intensive, I mean the algorithm is very regular in its nature. The system code is often in a large for loop. In that case, the algorithm can be done in parallel on FPGA. Good example of such jobs are FFT, FIR filter etc. Take 128 taps FIR for example, the FPGA can throw in 128 multipliers to finish the job in one or two clock cycles. But for DSP processors, assume it only has 4 built in HW MAC, it takes 128/4 = 32 clock cycles for DSP to finish the same job. So if the FPGA runs at 200MHz, the DSP has to run at 200 x (32/2) = 3200MHz to keep up, which could be hard for most embedded processors.

      On the other hand, DSP processor is good at control intensive jobs. So if the algorithms has a lot of if/else in the system code, it is a job that fits the DSP. Most speech codec fits in this profile. That’s why it is very rare for you to see audio/speech codec being implemented by FPGA. But you often see modem is done in RTL and implemented by FPGA, because modem algorithms are a lot more regular than speech algorithms.

Leave a Reply

Your email address will not be published. Required fields are marked *