The DSP tab covers estimation of DSP58 block resources. Similar to previous generations, a VersalĀ® ACAP DSP block can implement a wide variety of arithmetic and logical functions ranging from addition, subtraction, multiplication, and common DSP functions such as multiply accumulate. Like previous generation DSP blocks can implement wide logic functions such as XOR and can be cascaded to form digital filters. The Versal ACAP DSP block has a wider 27x24 complex multiplier that can also be configured as three 9x8 multipliers and has a wider 58-bit accumulator. Versal ACAP DSP also supports floating point addition and multiplication.
The following settings descriptions are used to configure Versal ACAP DSP blocks for power estimation:
- Configurations
- Versal ACAP PDM lets you use mode-specific configurations for the DSP block. You can select the suitable configurations from the drop-down list based on the DSP operation that you are performing. The Versal DSP58 power model supports much more fine-grained accuracy compared to previous generations. You can choose from various sizes of integer multipliers, MACs, dot-products, complex multipliers, and floating point operations.
- DSP58 Slices
- This is the number of DSP58 blocks. In the Versal architecture, one DSP58 block can implement a 27x24 fixed-point multiplier, while two DSP58 blocks can be paired with common logic to implement an 18-bit complex multiplier.
- Clock
- Choose the DSP58 Slice clock from the drop-down menu.
- Block Toggle Rate
- This is the average toggle rate of all DSP block signals. Manually adjust
the toggle rate when necessary.
- If the DSP block is enabled for only a fraction of cycles, scale the Block Toggle Rate by the enable rate. For example, if the DSP is enabled for half the cycles, multiply the Block Toggle Rate by 0.5 to get the new Block Toggle Rate.
- If the DSP block does not use all the multiplier outputs, scale the Block Toggle Rate by the fraction of output bits used. If only 48 bits are used, then multiply the Block Toggle Rate by (48 / 58) to reflect the proportion of actively switching signals in the DSP block.
- DSP Mode
- This indicates the operational mode of the DSP blocks. It is auto populated and is read only for the configuration that is specified.
- MULT Used?
- This indicates whether or not the DSP58 multiplier is used. The default value is Yes because the multiplier is expected to be used for the majority of cases. It is auto populated and is read only for a given configuration.
- Multiplier Pipeline Used?
- When MULT Used is Yes, this indicates if the multiplier is pipelined or not. The multiplier is typically pipelined due to its relatively large propagation delay so the default value is Yes. The value should be set to No only for very low clock speeds, or when multipliers are not used for the DSP configurations.
- Pre-Add Used?
- The DSP58 contains a 27-bit signed adder that can drive one or both inputs of the multiplier. Select Yes if you are implementing an arithmetic function that requires the preadd, for example (B + D) * A. The default value is No. This field is auto populated and is read only for a given configuration.
- AD Reg Used?
- This indicates that the Pre-Adder output is pipelined before feeding to multiplier input. The default value is No. This field is auto populated and you can override this setting.