DSP Wrapper#

The dspWrapper module is a SystemVerilog wrapper that utilizes the DSP48E2 primitive in SIMD TWO24 mode. It performs two independent 24-bit arithmetic additions in parallel within a single DSP slice.

Mode of Operation#

The module takes two 48-bit input vectors (data_a_i and data_b_i). Each input is internally split into two 24-bit lanes (Low and High).

The operation performs the following parallel additions:

  • Low Lane (bits 23:0): computes the sum of the lower 24 bits of both inputs.

  • High Lane (bits 47:24): computes the sum of the upper 24 bits of both inputs.

The final 48-bit result is provided on the data_o output bus.

Technical References#

For further details on the DSP48E2 architecture and its SIMD capabilities, please refer to the official documentation: UG974 - Vivado Design Suite: UltraScale Architecture Libraries Guide