Multiply-Add and Multiply-Accumulate Implementation - Multiply-Add and Multiply-Accumulate Implementation - 2022.2 English - UG901

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2022-11-16
Version
2022.2 English

During Multiply-Add and Multiply-Accumulate implementation:

Vivado synthesis can implement an inferred Multiply-Add or Multiply-Accumulate macro on DSP block resources.

Vivado synthesis attempts to take advantage of the pipelining capabilities of DSP blocks.

Vivado synthesis pulls up to:

° Two register stages present on the multiplication operands.

° One register stage present after the multiplication.

° One register stage found after the Adder, Subtractor, or Adder/Subtractor.

° One register stage on the add/sub selection signal.

° One register stage on the Adder optional carry input.

Vivado synthesis can implement a Multiply Accumulate in a DSP block if its implementation requires only a single DSP resource.

If the macro exceeds the limits of a single DSP then Vivado synthesis does the following:

° Processes it as two separate Multiplier and Accumulate macros.

° Makes independent decisions on each macro.