DSP Builder for Intel® FPGAs (Advanced Blockset): Handbook

ID 683337
Date 12/12/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

15.4.51. Scalar Product

The Scalar Product block accepts two vector inputs of the same dimension and produces the inner product on the output. If one or more inputs are complex, the output is complex. If one of the inputs is a scalar signal, the same factor scales all vector components of the other input port.
Note: For single-precision inputs and designs targeting devices with floating-point DSP blocks, the block uses a mixture of resources including the device DSP blocks in floating-point mode.
Table 240.  Parameters for the Scalar Block
Parameter Description
Output data type mode Determines how the block sets its output data type:
  • Inherit via internal rule: the number of integer and fractional bits is the maximum of the number of bits in the input data types.
  • Specify via dialog: you can set the output type of the block explicitly using additional fields that are available when this option is selected.This option reinterprets the output bit pattern from the LSB up according to the specified type.
  • Inherit via internal rule with word growth: the number of fractional bits is the maximum of the number of fractional bits in the input data types. The number of integer bits is the maximum of the number of integer bits in the input data types plus one. This additional word growth allows for subtracting the most negative number from 0, which exceeds the maximum positive number that you can store in the number of bits of the input.
  • Boolean: the output type is Boolean.
  • Variable precision floating point: variable precision floating-point output type.
Output data type Specifies the output data type. For example, fixdt(1, 16, 15). Only available for Specify via dialog
Output scaling value Specifies the output scaling value. For example, 2^-15. Only available for Specify via dialog
Floating-point precision Specifies a predefined floating-point type. Only available for Variable precision floating point:
Fused datapath This option affects the floating-point architectures. Turn on this option to save hardware by omitting normalization stages between adder stages. The output deviates from that expected of IEEE compliance.
Floating Point Rounding Specifies what rounding to apply to the result:
  • Correct. IEEE compliant unbiased round to nearest output value.
  • Faithful. Saves hardware by sometimes rounding to the second nearest value. Error is about double that of correct rounding.
Table 241.  Port Interface for the Scalar Block
Signal Direction Type Description Vector Data Support Complex Data Support
a Input Any fixed- or floating-point type Operand 1 Yes Yes
b Input Any fixed- or floating-point type Operand 2 Yes Yes
q Output Derived fixed- or floating-point type Result No Yes