Altera Corporation 6–23
July 2005 Stratix Device Handbook, Volume 2
DSP Blocks in Stratix & Stratix GX Devices
cleared for the next accumulation cycle, and you can use an external latch
to preserve the signal. You can use the addnsub[1..0] signals to
perform accumulation or subtraction dynamically.
1 If you want to use DSP blocks and your design only has an
accumulator, you can use a multiply by one followed by an
accumulator to force the software to implement the logic in the
DSP block.
Two-Multiplier Adder Mode
The two-multiplier adder mode uses the adder/output block to add or
subtract the outputs of the multiplier block, which is useful for
applications such as FFT functions and complex FIR filters. Additionally,
in this mode, the DSP block outputs two sums or differences for
multipliers up to 18 bits, or 4 sums or differences for 9-bit or smaller
multipliers. A single DSP block can implement one 18 × 18-bit complex
multiplier or two 9 × 9-bit complex multipliers.
A complex multiplication can be written as:
(a + jb) × (c + jd) = (a × c – b × d) + j × (a × d + b × c)
In this mode, a single DSP block calculates the real part (a × c – b × d) using
one adder/subtractor/accumulator and the imaginary part (a × d + b × c)
using another adder/subtractor/accumulator for data up to 18 bits.
Figure 6–13 shows an 18-bit complex multiplication. For data widths up
to 9 bits, the DSP block can perform two complex multiplications using
four one-level adders. Resources outside of the DSP block route each
input to the two multiplier inputs.
1 You can only use the adder block if it follows multiplication
operations.