OpenCores
URL https://opencores.org/ocsvn/neorv32/neorv32/trunk

Subversion Repositories neorv32

[/] [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;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.