The concept of utilizing FPGAs for DSP operations is fairly well understood, established, and recognized within the signal processing industry.
FPGA’s have DSP slices to implement signal processing functions. The DSP operation most commonly used is Multiply-Accumulate or MAC operation. A MAC block is also used as a building block for more complex DSP applications like filtering.
FPGA DSP slice essentially implements a MAC operation.
Xilinx calls this slice “XtremeDSP DSP48”. (probably because it handle a maximum of 48-bit addition)
Image illustrates DSP48E used in Virtex-5 devices & its features (Courtesy of Xilinx Inc)
There are 3 variants of DSP slices used in Xilinx FPGA’s- DSP48A, DSP48 & DSP48E.
(Image Courtesy of Xilinx Inc)
Xilinx has a good number of DSP elements in FPGA devices with SX series.
For more info on Comparison of conventional DSP processing vis-a-vis FPGA-based DSP watch this space.
Your VHDL/Verilog code gets synthesized into one of the following Xilinx FPGA components
List of XST specific components
- Carry logic - MUXCY, XORCY, MULT_AND
- RAM - Block, Distributed
- Shift Register LUTs - SRL16, SRL32
- Clock Buffers - IBUFG, BUFG, BUFGP, BUFR
- Multiplexers - MUXF5, MUXF6, MUXF7, MUXF8
- Arithmetic Functions - DSP48, MULT18x18
- Courtesy of Xilinx ISE Help Topics