Multiply Accumulator v2.0 showing incorrect output. The output is attenuated by a some factor for unsigned input types.
The problem occurs for both software simulation and hardware implementation
This is the known issue for Multiply Accumulator v2.0 core.This issue applies when either or both inputs are unsigned.
In these cases, the output will be attenuated by a factor of 2 (single input is unsigned) or 4 (both inputs unsigned) and with all the data widths
User can workaround this issue by using only signed input type and zero-pad extend unsigned inputs.
e.g. signed_a <= '0' & unsigned_a;
This will result in inputs one bit wider than required, but the hardware used is exactly the same.