the input/output appears to be 8-16 bits. I don't see anything in the interface that describes how A/B/C are intended to be transmitted.
C might need to be 19bits -- 8b*8b would give 16b results, but then you add five of these together. Depending on the values of A, B, the resulting C values could be larger than 16b.
The code as listed has 125 small multipliers. This is fine if you need this to complete every cycle, but the input don't appear to be set up to do this.
The A11-A55, B11-B55 are never set, and C11-C55 are never used.