MIPS/sim/model/div_unsigned.sv
Paul Pan 9ce588757d feat: MU rewrite 1
1. ALU format
2. FIX hazard (MOVN / MOVZ)
3. verilator support
2022-07-27 15:07:16 +08:00

25 lines
768 B
Systemverilog

`include "defines.svh"
module div_unsigned(
input logic aclk,
input logic s_axis_dividend_tvalid,
input logic [31:0] s_axis_dividend_tdata,
input logic s_axis_divisor_tvalid,
input logic [31:0] s_axis_divisor_tdata,
output logic m_axis_dout_tvalid,
output logic [63:0] m_axis_dout_tdata
);
always_ff @(posedge aclk)
if (s_axis_dividend_tvalid & s_axis_divisor_tvalid) begin
m_axis_dout_tvalid <= 1'b1;
m_axis_dout_tdata[63:32] <= $unsigned(s_axis_dividend_tdata) / $unsigned(s_axis_divisor_tdata);
m_axis_dout_tdata[31: 0] <= $unsigned(s_axis_dividend_tdata) % $unsigned(s_axis_divisor_tdata);
end else begin
m_axis_dout_tvalid <= 0;
m_axis_dout_tdata <= 0;
end
endmodule