Line 1... |
Line 1... |
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
--
|
--
|
-- The Arithmetic Logic Unit (ALU).
|
-- The Arithmetic Logic Unit (ALU).
|
-- It contains the accumulator and the C flag.
|
-- It contains the accumulator and the C flag.
|
--
|
--
|
-- $Id: t400_alu.vhd,v 1.2 2006-05-21 21:47:40 arniml Exp $
|
-- $Id: t400_alu.vhd,v 1.3 2006-05-22 00:01:56 arniml Exp $
|
--
|
--
|
-- Copyright (c) 2006 Arnim Laeuger (arniml@opencores.org)
|
-- Copyright (c) 2006 Arnim Laeuger (arniml@opencores.org)
|
--
|
--
|
-- All rights reserved
|
-- All rights reserved
|
--
|
--
|
Line 69... |
Line 69... |
dec_data_i : in dec_data_t;
|
dec_data_i : in dec_data_t;
|
q_low_i : in dw_t;
|
q_low_i : in dw_t;
|
b_i : in b_t;
|
b_i : in b_t;
|
g_i : in dw_t;
|
g_i : in dw_t;
|
in_i : in dw_t;
|
in_i : in dw_t;
|
il_i : in dw_t;
|
|
sio_i : in dw_t;
|
sio_i : in dw_t;
|
a_o : out dw_t;
|
a_o : out dw_t;
|
carry_o : out std_logic;
|
carry_o : out std_logic;
|
c_o : out std_logic
|
c_o : out std_logic
|
);
|
);
|
Line 132... |
Line 131... |
when ALU_LOAD_G =>
|
when ALU_LOAD_G =>
|
a_q <= g_i;
|
a_q <= g_i;
|
when ALU_LOAD_IN =>
|
when ALU_LOAD_IN =>
|
a_q <= in_i;
|
a_q <= in_i;
|
when ALU_LOAD_IL =>
|
when ALU_LOAD_IL =>
|
a_q(3) <= il_i(3);
|
a_q(3) <= in_i(3);
|
if opt_cko_g = t400_opt_cko_gpi_c then
|
if opt_cko_g = t400_opt_cko_gpi_c then
|
a_q(2) <= cko_i;
|
a_q(2) <= cko_i;
|
else
|
else
|
a_q(2) <= '1';
|
a_q(2) <= '1';
|
end if;
|
end if;
|
a_q(1) <= '0';
|
a_q(1) <= '0';
|
a_q(0) <= il_i(0);
|
a_q(0) <= in_i(0);
|
when ALU_LOAD_BR =>
|
when ALU_LOAD_BR =>
|
a_q(3 downto 2) <= (others => '0');
|
a_q(3 downto 2) <= (others => '0');
|
a_q(1 downto 0) <= b_i(br_range_t);
|
a_q(1 downto 0) <= b_i(br_range_t);
|
when ALU_LOAD_BD =>
|
when ALU_LOAD_BD =>
|
a_q <= b_i(bd_range_t);
|
a_q <= b_i(bd_range_t);
|
Line 253... |
Line 252... |
|
|
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
-- File History:
|
-- File History:
|
--
|
--
|
-- $Log: not supported by cvs2svn $
|
-- $Log: not supported by cvs2svn $
|
|
-- Revision 1.2 2006/05/21 21:47:40 arniml
|
|
-- route cko to ALU for INIL instruction
|
|
--
|
-- Revision 1.1.1.1 2006/05/06 01:56:44 arniml
|
-- Revision 1.1.1.1 2006/05/06 01:56:44 arniml
|
-- import from local CVS repository, LOC_CVS_0_1
|
-- import from local CVS repository, LOC_CVS_0_1
|
--
|
--
|
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
|
|
No newline at end of file
|
No newline at end of file
|