|
发表于 2019-4-1 11:10:13
|
显示全部楼层
关于这段代码,有几点疑问?1.余数 remainder的定义,余数的位宽应该要等于除数的位宽,是不会比除数小的
output reg [REMAINDER_WIDTH-1:0] remainder
1.在移位除的时候基数遗漏减div_cnt
assign divivend_cut = lsf_divivend[DIVIDEND_WIDTH-1 -: DIVISOR_WIDTH];
2.比如 1100除以111 ,第一次长除就余下110,那么下一次就不应该使用{1‘b0,divivend_cut}(0110),而应该是{dividend_cut,//被除数截位的后一位}(1100)
疑问在这个逻辑
always @(*) begin
sub_dividend_divsor = {1'b0,divivend_cut } (有疑问??)- {1'b0, divisor};
end
|
|