DSP48 Block

The most complex computational block available in a Xilinx FPGA is the DSP48 block shown below.

Figure: Structure of a DSP48 Block



The DSP48 block is an arithmetic logic unit (ALU) embedded into the fabric of the FPGA and is composed of a chain of three different blocks. The computational chain in the DSP48 contains an add/subtract unit connected to a multiplier connected to a final add/subtract/accumulate engine. This chain allows a single DSP48 unit to implement functions of the form:


P=Bx(A+D)+C

Or


P +=Bx(A+D)

The DSP48 block can be used by SDAccel™ to perform a lot of the computational load within OpenCL kernels. The synthesis flow inside the SDAccel tool targets this block automatically.