Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module mult(
- input [15:0]A, B,
- output reg [15:0] C
- );
- reg[31:0] result;
- reg [15:0] lo, hi;
- always @(*) begin
- result = A * B;
- if (result == 32'b0)
- begin
- C = (-1) * A + (-1) * B + 1;
- end
- else
- begin
- hi = result >> 16;
- lo = result;
- if (lo > hi)
- begin
- C = lo - hi;
- end
- else
- begin
- C = lo - hi + 1;
- end
- end
- end
- endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement