Vivado synthesis infers multiplier macros from multiplication operators in the source code. The resulting signal width equals the sum of the two operand sizes. For example, multiplying a 16-bit signal by an 8-bit signal produces a result of 24 bits.
Recommended: If you do not need all of a device's
most significant bits, reduce operand sizes to the minimum needed. AMD
recommends this, especially when the Multiplier macro is implemented in slice
logic.