Soft Multipliers in Stratix Devices
Altera offers a patent-pending implementation of "soft multipliers" that uses TriMatrix™ memory blocks in Stratix™ devices for applications that require a very large number of multipliers, such as third-generation (3G) basestations and image-processing applications. These soft multipliers can be configured for various latency, memory, and multiplier sizes, which enable designers to customize the implementation of their digital signal processing (DSP) systems to match the requirements of a particular DSP application.
The soft multiplier is based on a look-up table (LUT) implementation of the multiplication operation, where the LUT is implemented in memory. Stratix devices feature versatile DSP blocks that support up to 88 high-performance 18x18 multipliers. For applications that require more than 88 multipliers, designers can implement soft multipliers in the M512 and M4K memory blocks.
The soft multipliers can be configured in various data sizes and can provide more than 370 multipliers when implemented in the 18x18 mode. Combined with the 88 multipliers available in the DSP blocks, Stratix devices provide an astounding 458 multipliers that are ideal for implementing distributed arithmetic computations, as well as multi-channel applications such as echo cancellation, multi-user detection, and beam-forming. Together with the DSP blocks and soft multipliers, Stratix devices provide the highest effective multiplier bandwidth in an FPGA.
Figure 1 shows a finite impulse response (FIR) filter implementation using the M4K memory blocks in Stratix devices. A similar implementation is possible using the M512 blocks in Stratix devices as well.
Figure 1. Distributed Arithmetic Implementation of a FIR Filter in M4K Blocks

Soft multipliers can be implemented in Stratix devices using the M4K and the M512 memory blocks. Table 1 summarizes the number of 16x16 multipliers and the corresponding DSP throughput available in soft multipliers in Stratix devices.
| Table 1. 16x16 Multiplier in Stratix RAM Blocks |
| Device |
Effective Number of Multipliers |
Performance (1) |
M512 M-RAM Blocks |
M4K M-RAM Blocks |
M512 M-RAM Blocks |
M4K M-RAM Blocks |
| EP1S10 |
23 |
30 |
7 GMACS |
9 GMACS |
| EP1S20 |
48 |
41 |
14 GMACS |
12 GMACS |
| EP1S25 |
56 |
69 |
17 GMACS |
20 GMACS |
| EP1S30 |
74 |
85 |
22 GMACS |
25 GMACS |
| EP1S40 |
96 |
91 |
29 GMACS |
27 GMACS |
| EP1S60 |
144 |
146 |
43 GMACS |
43 GMACS |
| EP1S80 |
192 |
182 |
57 GMACS |
54 GMACS |
Note: 1. 1 GMACS = 1 giga multiply-accumulate operations per second
Related Links
|