else if(i<5'd16&&i>5'd0) begin
if(breg[i-1]) yout_r<=areg+yout_r;
areg<=areg<<1;
else if(i > 5'd0 && i < 5'd16) begin
if(areg[i-1]) yout_r = {1'b0,yout[30:15]+breg,yout_r[14:1]};
//累加并移位
else yout_r <= yout_r>>1;
//移位不累加
end
else if(i == 5'd16 && areg[15]) yout_r[31:16] <= yout_r[31:16]+breg;
//累加不移位
end
这两种乘法器的计算方法哪种好啊? |