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

Subversion Repositories ion

[/] [ion/] [trunk/] [vhdl/] [mips_alu.vhdl] - Diff between revs 82 and 161

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

Rev 82 Rev 161
Line 1... Line 1...
 
--------------------------------------------------------------------------------
 
-- mips_alu.vhdl -- integer arithmetic ALU, excluding mult/div functionality.
 
--
 
--------------------------------------------------------------------------------
 
-- Copyright (C) 2010 Jose A. Ruiz
 
--                                                              
 
-- This source file may be used and distributed without         
 
-- restriction provided that this copyright statement is not    
 
-- removed from the file and that any derivative work contains  
 
-- the original copyright notice and the associated disclaimer. 
 
--                                                              
 
-- This source file is free software; you can redistribute it   
 
-- and/or modify it under the terms of the GNU Lesser General   
 
-- Public License as published by the Free Software Foundation; 
 
-- either version 2.1 of the License, or (at your option) any   
 
-- later version.                                               
 
--                                                              
 
-- This source is distributed in the hope that it will be       
 
-- useful, but WITHOUT ANY WARRANTY; without even the implied   
 
-- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      
 
-- PURPOSE.  See the GNU Lesser General Public License for more 
 
-- details.                                                     
 
--                                                              
 
-- You should have received a copy of the GNU Lesser General    
 
-- Public License along with this source; if not, download it   
 
-- from http://www.opencores.org/lgpl.shtml
 
--------------------------------------------------------------------------------
 
 
library ieee;
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_unsigned.all;
 
 
Line 10... Line 38...
        clk             : in std_logic;
        clk             : in std_logic;
        reset           : in std_logic;
        reset           : in std_logic;
 
 
        -- function selection
        -- function selection
        ac              : in t_alu_control;
        ac              : in t_alu_control;
 
        -- comparison result flags
        flags           : out t_alu_flags;
        flags           : out t_alu_flags;
 
 
        -- '1' when inp1 is zero
 
        --flags.inp1_eq_zero    : out std_logic;
 
        -- '1' when inp1 is < 0 (bit 31 set)
 
        --flags.inp1_lt_zero    : out std_logic;
 
        -- '1' when (inp1 + ac.neg_sel(inp2) + ac.cy_in) < 0
 
        --flags.inp1_lt_inp2    : out std_logic;
 
        -- '1' when (inp1 + ac.neg_sel(inp2) + ac.cy_in) == 0
 
        --flags.inp1_eq_inp2    : out std_logic;
 
 
 
        -- data inputs
        -- data inputs
        inp1            : in std_logic_vector(31 downto 0);
        inp1            : in std_logic_vector(31 downto 0);
        inp2            : in std_logic_vector(31 downto 0);
        inp2            : in std_logic_vector(31 downto 0);
        -- data result output
        -- data result output
        outp            : out std_logic_vector(31 downto 0)
        outp            : out std_logic_vector(31 downto 0)

powered by: WebSVN 2.1.0

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