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

Subversion Repositories ion

[/] [ion/] [trunk/] [vhdl/] [mips_pkg.vhdl] - Diff between revs 225 and 251

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

Rev 225 Rev 251
Line 44... Line 44...
---- Basic types ---------------------------------------------------------------
---- Basic types ---------------------------------------------------------------
 
 
subtype t_word is std_logic_vector(31 downto 0);
subtype t_word is std_logic_vector(31 downto 0);
subtype t_halfword is std_logic_vector(15 downto 0);
subtype t_halfword is std_logic_vector(15 downto 0);
subtype t_byte is std_logic_vector(7 downto 0);
subtype t_byte is std_logic_vector(7 downto 0);
 
subtype t_pc is std_logic_vector(31 downto 2);
 
 
 
subtype t_regindex is std_logic_vector(4 downto 0);
 
 
 
---- Interface types -----------------------------------------------------------
 
 
 
type t_cop0_mosi is record
 
    index :             t_regindex;
 
    we :                std_logic;
 
    data :              t_word;
 
    pc_restart :        t_pc;
 
    in_delay_slot :     std_logic;
 
    pipeline_stalled :  std_logic;
 
    exception :         std_logic;
 
    rfe :               std_logic;
 
    unknown_opcode :    std_logic;
 
    missing_cop :       std_logic;
 
    syscall :           std_logic;
 
    stall :             std_logic;
 
end record t_cop0_mosi;
 
 
 
type t_cop0_miso is record
 
    data :              t_word;
 
    kernel :            std_logic;
 
    idcache_enable :    std_logic;
 
    icache_invalidate : std_logic;
 
end record t_cop0_miso;
 
 
 
 
---- System configuration constants --------------------------------------------
---- System configuration constants --------------------------------------------
 
 
-- True to use standard-ish MIPS-1 memory map, false to use Plasma's
-- True to use standard-ish MIPS-1 memory map, false to use Plasma's
-- (see implementation of function decode_addr below).
-- (see implementation of function decode_addr below).
Line 142... Line 170...
 
 
subtype t_addr is std_logic_vector(31 downto 0);
subtype t_addr is std_logic_vector(31 downto 0);
subtype t_dword is std_logic_vector(63 downto 0);
subtype t_dword is std_logic_vector(63 downto 0);
subtype t_regnum is std_logic_vector(4 downto 0);
subtype t_regnum is std_logic_vector(4 downto 0);
type t_rbank is array(0 to 31) of t_word;
type t_rbank is array(0 to 31) of t_word;
subtype t_pc is std_logic_vector(31 downto 2);
 
-- This is used as a textual shortcut only
-- This is used as a textual shortcut only
constant ZERO : t_word := (others => '0');
constant ZERO : t_word := (others => '0');
-- control word for ALU
-- control word for ALU
type t_alu_control is record
type t_alu_control is record
    logic_sel :         std_logic_vector(1 downto 0);
    logic_sel :         std_logic_vector(1 downto 0);

powered by: WebSVN 2.1.0

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