Forum Discussion
Altera_Forum
Honored Contributor
15 years agoSince the device's multipliers can only handle 18x18 multiplications, larger multiplications are implemented using several partial multiplications, like you learned in school.
Thus, a full 32x32 multiplication requires 4 partial multiplcations. And since the signal is in the MSB, the other parts are handled as unsigned. 1st a[17:0] * b [17:0] - unsigned * unsigned 2nd a[31:18] * b [17:0] - signed * unsigned 3rd a[17:0] * b [31:18] - unsigned * signed 4th a[31:18] * b [31:18] - signed * signed Thus, the mix you're seeing in the report. As for case 2, since you're only keeping the result's 32 LSBs, the 4th term isn't needed.