MIPS/model/mul_unsigned.sv
2021-09-24 16:37:47 +08:00

23 lines
605 B
Systemverilog

`include "defines.svh"
module mul_unsigned(
input logic CLK,
input word_t A,
input word_t B,
output logic [63:0] P
);
word_t A1, A2, A3, A4, A5, A6;
word_t B1, B2, B3, B4, B5, B6;
ffen #(64) ff_1 (CLK, { A, B}, 1'b1, {A1, B1});
ffen #(64) ff_2 (CLK, {A1, B1}, 1'b1, {A2, B2});
ffen #(64) ff_3 (CLK, {A2, B2}, 1'b1, {A3, B3});
ffen #(64) ff_4 (CLK, {A3, B3}, 1'b1, {A4, B4});
ffen #(64) ff_5 (CLK, {A4, B4}, 1'b1, {A5, B5});
ffen #(64) ff_6 (CLK, {A5, B5}, 1'b1, {A6, B6});
assign P = $unsigned(A) * $unsigned(B);
endmodule