URL
https://opencores.org/ocsvn/neorv32/neorv32/trunk
[/] [neorv32/] [trunk/] [rtl/] [core/] [neorv32_cpu_cp_muldiv.vhd] - Diff between revs 39 and 40
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 39 |
Rev 40 |
Line 291... |
Line 291... |
-- Data Output ----------------------------------------------------------------------------
|
-- Data Output ----------------------------------------------------------------------------
|
-- -------------------------------------------------------------------------------------------
|
-- -------------------------------------------------------------------------------------------
|
operation_result: process(valid, cp_op_ff, mul_product, div_res, quotient, opy_is_zero, rs1_i, remainder)
|
operation_result: process(valid, cp_op_ff, mul_product, div_res, quotient, opy_is_zero, rs1_i, remainder)
|
begin
|
begin
|
if (valid = '1') then
|
if (valid = '1') then
|
valid_o <= '1';
|
|
case cp_op_ff is
|
case cp_op_ff is
|
when cp_op_mul_c =>
|
when cp_op_mul_c =>
|
res_o <= mul_product(31 downto 00);
|
res_o <= mul_product(31 downto 00);
|
when cp_op_mulh_c | cp_op_mulhsu_c | cp_op_mulhu_c =>
|
when cp_op_mulh_c | cp_op_mulhsu_c | cp_op_mulhu_c =>
|
res_o <= mul_product(63 downto 32);
|
res_o <= mul_product(63 downto 32);
|
Line 311... |
Line 310... |
end if;
|
end if;
|
when others => -- cp_op_remu_c
|
when others => -- cp_op_remu_c
|
res_o <= remainder;
|
res_o <= remainder;
|
end case;
|
end case;
|
else
|
else
|
valid_o <= '0';
|
|
res_o <= (others => '0');
|
res_o <= (others => '0');
|
end if;
|
end if;
|
end process operation_result;
|
end process operation_result;
|
|
|
|
-- status output --
|
|
valid_o <= valid;
|
|
|
|
|
end neorv32_cpu_cp_muldiv_rtl;
|
end neorv32_cpu_cp_muldiv_rtl;
|
|
|
No newline at end of file
|
No newline at end of file
|
© copyright 1999-2025
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.