Xilinx is a leading vendor for FPGA solutions for DSP using their Matlab compatible tools and RTL based tools. The Xlinx FPGA solution is popular if users want to implement using Matlab.
DSP is all about performance and cost/performance. The two main approaches to implement DSP algorithms are:
- Dedicated hardware using FPGA's or other custom hardware – traditionally very expensive
- Software based algorithms: implemented on a DSP to reduce costs
The second solution is the one that has traditionally been used to reduce the cost of systems because dedicated hardware has been too expensive. Over the past few years, FPGA solutions using Verilog or VHDL have been used to attack the dedicated hardware and ASIC costs and significant gains in cost/performance have been realized. Through optimization of the path from Matlab to FPGA implmementation, Xlinx has made DSP hardware implementation more efficient.
Xilinx's MatLab optimization using Simulink offers a much better alternative to approaches using VHDL and Verilog directly. Now, algorithms written in Matlab can be transformed into hardware block diagrams using simulink and transformed and refined further using other tools until an operational solution is available. The user no longer has to waste months implementing custom VHDL, they simply use block diagrams and the resulting file programs your Xilinx FPGA.
The combination of the Xilinx products and the DSPnano RTOS with the DSP libraries can make the implementation of these DSP systems more efficient. Here is how it works.
- Matlab and Simulink are used to implement the core DSP processing. This is then transformed into an actual FPGA implementation.
- Microblaze and other IP can be added running DSPnano to handle asynchronous processing, DSP parameterization, diagnostics, GUI functions and much more.
- DSP libraries which are part of DSPnano RTOS can be used to off load some of the processing from hardware to software in order to reduce overall system cost. This approach allows the user to realize complex functions traditionally implemented in software on DSPs on Microblaze or other IP processors. Over 650 routines are available for transformation.
- Microblaze is integrated into the picture with its Eclipse based development platform. It can do overall control, handle user interface functions, diagnostics, and a variety of less demanding signal processing functions as well as less demanding DSP functions with an integrated C C++ IDE.
- Now, tradeoffs between running algorithms in hardware and software can be made, allowing users to process in software those parts of the application that make sense from an overall flexibility and performance point of view and allowing all demanding frontend signal processing functions to be implemented in hardware.
