Variable Precision DSP Blocks User Guide: Agilex™ 5 FPGAs and SoCs

ID 813968
Date 4/01/2024
Public
Document Table of Contents

5.2. Supported Operational Modes

Table 46.  Operational Modes Supported by Native Fixed Point DSP Agilex™ FPGA IP Core
Operational Modes Description
9 × 9 Sum of 6 Mode

This mode operates as sum of six 9 (signed) × 9 (signed) multipliers with full 22 bits output when chainout adder or accumulator is enabled.

This mode applies the following equations:
  • resulta = (ax * ay)+(bx * by)+(cx * cy)+(dx * dy)+(ex * ey)+(fx * fy)
16 × 16 Complex Multiplier Mode

This mode operates as signed sum of two of 16x16 (real) and signed sum of two 16x16 (imaginary).8

This mode applies the following equations:
  • Real result = (ax * ay)-(bx * by)
  • Imaginary result = (ax * by)+(ay * bx)

The 16x16 complex_mult is implemented so that each DSP block is capable of computing two sets of two int16 multiplications in parallel to achieve the 16x16 complex multiplication result.

18 × 18 Full Mode This mode operates as two independent 18 (signed) x 19 (signed) or 18 (unsigned) x 18 (unsigned) multipliers with 37-bit output.
This mode applies the following equation:
  • resulta = ax * ay
  • resultb = bx * by
18 × 18 Sum of Two Mode This mode operates as sum of two 18 × 19 multiplication.
This mode applies the equations of:
  • resulta = [(bx * by) + (ax * ay)] when sub signal is driven low.
  • resulta = [(bx * by) - (ax * ay)] when sub signal is driven high.

The resulta output bus can support up to 64 bits when you enable accumulator or chainout adder.

18 × 18 Plus 36 Mode

This mode operates as one 18 × 19 multiplication summed to a 36-bit input.

This mode applies the equation of resulta = (ax * ay) + (bx * by).

When the input bus is less than 36-bit in this mode, you are required to provide the necessary signed extension to fill up the 36-bit input.

When you enable the accumulator, the resulta output bus can support up to 64 bits.

18 × 18 Systolic Mode

This mode operates as 18-bit systolic FIR.

Enable the input systolic register and the output register when using this operational mode.

When you enable the chainout adder, the chainout and chainin width can support up to 64 bits.

When you enable the accumulator, the resulta output bus can support up to 64 bits.

27 × 27 Mode

This mode operates as one independent 27 (signed/unsigned) × 27 (signed/unsigned) multiplier.

This mode applies the equation of resulta = ax * ay.

The resulta output bus can support up to 64 bits when you enable accumulator or chainout adder.

8 Only supports signed representation and ACLR.