General Description: The CORE Generator 4K 8x8 Speed Optimized 8x8 multiplier does not work correctly for A = -128 when B is a negative number. In simulation, it is observed that the MSB of the product gets replaced with a zero.
This problem only shows itself when the A input is equal to -128, the largest magnitude negative number that can be represented with 8 bits. Feeding this same value into the B input does not cause this problem.
Solution
If possible, use the B input for data values that may go as negative as -128.
Alternatively, you can use the Area-Optimized Multiplier, specifying input widths of 8 bits for the A and B inputs, but the drawback is that you might observe a slight reductiion in performance.