URL
https://opencores.org/ocsvn/neorv32/neorv32/trunk
[/] [neorv32/] [trunk/] [rtl/] [core/] [neorv32_cpu_cp_muldiv.vhd] - Diff between revs 56 and 60
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 56 |
Rev 60 |
Line 161... |
Line 161... |
div_res_corr <= rs1_i(rs1_i'left);
|
div_res_corr <= rs1_i(rs1_i'left);
|
else
|
else
|
div_res_corr <= '0';
|
div_res_corr <= '0';
|
end if;
|
end if;
|
-- divide by zero? --
|
-- divide by zero? --
|
opy_is_zero <= not or_all_f(rs2_i); -- set if rs2 = 0
|
opy_is_zero <= not or_reduce_f(rs2_i); -- set if rs2 = 0
|
-- abs(rs1) --
|
-- abs(rs1) --
|
if ((rs1_i(rs1_i'left) and rs1_is_signed) = '1') then -- signed division?
|
if ((rs1_i(rs1_i'left) and rs1_is_signed) = '1') then -- signed division?
|
div_opx <= std_ulogic_vector(0 - unsigned(rs1_i)); -- make positive
|
div_opx <= std_ulogic_vector(0 - unsigned(rs1_i)); -- make positive
|
else
|
else
|
div_opx <= rs1_i;
|
div_opx <= rs1_i;
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.