URL
https://opencores.org/ocsvn/zipcpu/zipcpu/trunk
Subversion Repositories zipcpu
Compare Revisions
- This comparison shows the changes necessary to convert path
/zipcpu
- from Rev 173 to Rev 174
- ↔ Reverse comparison
Rev 173 → Rev 174
/trunk/rtl/core/div.v
57,6 → 57,11
reg r_sign, pre_sign, r_z, r_c, last_bit; |
reg [(LGBW-1):0] r_bit; |
|
reg zero_divisor; |
initial zero_divisor = 1'b0; |
always @(posedge i_clk) |
zero_divisor <= (r_divisor == 0)&&(r_busy); |
|
initial r_busy = 1'b0; |
always @(posedge i_clk) |
if (i_rst) |
63,7 → 68,7
r_busy <= 1'b0; |
else if (i_wr) |
r_busy <= 1'b1; |
else if ((last_bit)||(o_err)) |
else if ((last_bit)||(zero_divisor)) |
r_busy <= 1'b0; |
|
initial o_busy = 1'b0; |
72,7 → 77,7
o_busy <= 1'b0; |
else if (i_wr) |
o_busy <= 1'b1; |
else if (((last_bit)||(o_err))&&(~r_sign)) |
else if (((last_bit)&&(~r_sign))||(zero_divisor)) |
o_busy <= 1'b0; |
else if (~r_busy) |
o_busy <= 1'b0; |
82,21 → 87,22
o_valid <= 1'b0; |
else if (r_busy) |
begin |
if ((last_bit)||(o_err)) |
o_valid <= (o_err)||(~r_sign); |
if ((last_bit)||(zero_divisor)) |
o_valid <= (zero_divisor)||(~r_sign); |
end else if (r_sign) |
begin |
// if (o_err), o_valid is already one. |
// if not, o_valid has not yet become one. |
o_valid <= (~o_err); // 1'b1; |
o_valid <= (~zero_divisor); // 1'b1; |
end else |
o_valid <= 1'b0; |
|
initial o_err = 1'b0; |
always @(posedge i_clk) |
if((i_rst)||(o_valid)) |
o_err <= 1'b0; |
else if (o_busy) |
o_err <= (r_divisor == 0); |
else if (((r_busy)||(r_sign))&&(zero_divisor)) |
o_err <= 1'b1; |
else |
o_err <= 1'b0; |
|
initial last_bit = 1'b0; |
always @(posedge i_clk) |
172,6 → 178,7
o_quotient[r_bit[(LGBW-1):0]] <= 1'b1; |
r_z <= 1'b0; |
end |
r_sign <= (r_sign)&&(~zero_divisor); |
end else if (r_sign) |
begin |
r_sign <= 1'b0; |