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

Subversion Repositories t400

[/] [t400/] [trunk/] [rtl/] [vhdl/] [t400_alu.vhd] - Diff between revs 43 and 47

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 43 Rev 47
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

powered by: WebSVN 2.1.0

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