URL
https://opencores.org/ocsvn/plasma/plasma/trunk
[/] [plasma/] [trunk/] [vhdl/] [mult.vhd] - Diff between revs 391 and 428
Show entire file |
Details |
Blame |
View Log
Rev 391 |
Rev 428 |
Line 75... |
Line 75... |
|
|
-- Result
|
-- Result
|
c_mult <= lower_reg when mult_func = MULT_READ_LO and negate_reg = '0' else
|
c_mult <= lower_reg when mult_func = MULT_READ_LO and negate_reg = '0' else
|
bv_negate(lower_reg) when mult_func = MULT_READ_LO
|
bv_negate(lower_reg) when mult_func = MULT_READ_LO
|
and negate_reg = '1' else
|
and negate_reg = '1' else
|
upper_reg when mult_func = MULT_READ_HI else
|
upper_reg when mult_func = MULT_READ_HI and negate_reg = '0' else
|
|
bv_negate(upper_reg) when mult_func = MULT_READ_HI
|
|
and negate_reg = '1' else
|
ZERO;
|
ZERO;
|
pause_out <= '1' when (count_reg /= "000000") and
|
pause_out <= '1' when (count_reg /= "000000") and
|
(mult_func = MULT_READ_LO or mult_func = MULT_READ_HI) else '0';
|
(mult_func = MULT_READ_LO or mult_func = MULT_READ_HI) else '0';
|
|
|
-- ABS and remainder signals
|
-- ABS and remainder signals
|
Line 128... |
Line 130... |
bb_reg <= b;
|
bb_reg <= b;
|
else
|
else
|
aa_reg <= a_neg;
|
aa_reg <= a_neg;
|
bb_reg <= b_neg;
|
bb_reg <= b_neg;
|
end if;
|
end if;
|
|
if a /= ZERO then
|
sign_reg <= a(31) xor b(31);
|
sign_reg <= a(31) xor b(31);
|
|
else
|
|
sign_reg <= '0';
|
|
end if;
|
sign2_reg <= '0';
|
sign2_reg <= '0';
|
upper_reg <= ZERO;
|
upper_reg <= ZERO;
|
count_reg <= "100000";
|
count_reg <= "100000";
|
negate_reg <= '0';
|
negate_reg <= '0';
|
when MULT_DIVIDE =>
|
when MULT_DIVIDE =>
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.