Line 1... |
Line 1... |
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
--
|
--
|
-- The Arithmetic Logic Unit (ALU).
|
-- The Arithmetic Logic Unit (ALU).
|
-- It contains the ALU core plus the Accumulator and the Temp Reg.
|
-- It contains the ALU core plus the Accumulator and the Temp Reg.
|
--
|
--
|
-- $Id: alu.vhd,v 1.5 2004-04-06 20:21:53 arniml Exp $
|
-- $Id: alu.vhd,v 1.6 2004-04-07 20:56:23 arniml Exp $
|
--
|
--
|
-- Copyright (c) 2004, Arnim Laeuger (arniml@opencores.org)
|
-- Copyright (c) 2004, Arnim Laeuger (arniml@opencores.org)
|
--
|
--
|
-- All rights reserved
|
-- All rights reserved
|
--
|
--
|
Line 333... |
Line 333... |
add_result_s <= result_v;
|
add_result_s <= result_v;
|
|
|
-- Auxiliary Carry --------------------------------------------------------
|
-- Auxiliary Carry --------------------------------------------------------
|
aux_c_v := in_a_s(4) & in_b_s(4);
|
aux_c_v := in_a_s(4) & in_b_s(4);
|
|
|
|
aux_carry_o <= '0';
|
case aux_c_v is
|
case aux_c_v is
|
when "00" | "11" =>
|
when "00" | "11" =>
|
if result_v(4) = '1' then
|
if result_v(4) = '1' then
|
aux_carry_o <= '1';
|
aux_carry_o <= '1';
|
end if;
|
end if;
|
Line 345... |
Line 346... |
if result_v(4) = '0' then
|
if result_v(4) = '0' then
|
aux_carry_o <= '1';
|
aux_carry_o <= '1';
|
end if;
|
end if;
|
|
|
when others =>
|
when others =>
|
aux_carry_o <= '0';
|
|
null;
|
null;
|
|
|
end case;
|
end case;
|
|
|
end process adder;
|
end process adder;
|
Line 419... |
Line 419... |
|
|
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
-- File History:
|
-- File History:
|
--
|
--
|
-- $Log: not supported by cvs2svn $
|
-- $Log: not supported by cvs2svn $
|
|
-- Revision 1.5 2004/04/06 20:21:53 arniml
|
|
-- fix sensitivity list
|
|
--
|
-- Revision 1.4 2004/04/06 18:10:41 arniml
|
-- Revision 1.4 2004/04/06 18:10:41 arniml
|
-- rework adder and force resource sharing between ADD, INC and DEC
|
-- rework adder and force resource sharing between ADD, INC and DEC
|
--
|
--
|
-- Revision 1.3 2004/04/04 14:18:52 arniml
|
-- Revision 1.3 2004/04/04 14:18:52 arniml
|
-- add measures to implement XCHD
|
-- add measures to implement XCHD
|