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

Subversion Repositories rise

[/] [rise/] [trunk/] [vhdl/] [rise_pack.vhd] - Diff between revs 2 and 5

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

Rev 2 Rev 5
Line 25... Line 25...
  constant COND_WIDTH : integer := 3;
  constant COND_WIDTH : integer := 3;
  constant MEM_DATA_WIDTH : integer := ARCHITECTURE_WIDTH;
  constant MEM_DATA_WIDTH : integer := ARCHITECTURE_WIDTH;
  constant MEM_ADDR_WIDTH : integer := ARCHITECTURE_WIDTH;
  constant MEM_ADDR_WIDTH : integer := ARCHITECTURE_WIDTH;
 
 
  constant REGISTER_WIDTH : integer := ARCHITECTURE_WIDTH;
  constant REGISTER_WIDTH : integer := ARCHITECTURE_WIDTH;
  constant REGISTER_ADDR_WIDTH : integer := 5;
  constant REGISTER_ADDR_WIDTH : integer := 4;
  constant IMMEDIATE_WIDTH : integer := ARCHITECTURE_WIDTH;
  constant IMMEDIATE_WIDTH : integer := ARCHITECTURE_WIDTH;
  constant LOCK_WIDTH : integer := REGISTER_COUNT;
  constant LOCK_WIDTH : integer := REGISTER_COUNT;
 
 
  subtype PC_REGISTER_T is std_logic_vector(PC_WIDTH-1 downto 0);
  subtype PC_REGISTER_T is std_logic_vector(PC_WIDTH-1 downto 0);
  subtype IR_REGISTER_T is std_logic_vector(IR_WIDTH-1 downto 0);
  subtype IR_REGISTER_T is std_logic_vector(IR_WIDTH-1 downto 0);
Line 43... Line 43...
 
 
  subtype IMMEDIATE_T is std_logic_vector(IMMEDIATE_WIDTH-1 downto 0);
  subtype IMMEDIATE_T is std_logic_vector(IMMEDIATE_WIDTH-1 downto 0);
  subtype OPCODE_T is std_logic_vector(OPCODE_WIDTH-1 downto 0);
  subtype OPCODE_T is std_logic_vector(OPCODE_WIDTH-1 downto 0);
  subtype COND_T is std_logic_vector(COND_WIDTH-1 downto 0);
  subtype COND_T is std_logic_vector(COND_WIDTH-1 downto 0);
 
 
 
  --
 
  constant SR_REGISTER_DI : INTEGER := 15;
 
  constant SR_REGISTER_IP_MASK : INTEGER := 12;
 
  constant SR_REGISTER_OVERFLOW : INTEGER := 3;
 
  constant SR_REGISTER_NEGATIVE : INTEGER := 2;
 
  constant SR_REGISTER_CARRY : INTEGER := 1;
 
  constant SR_REGISTER_ZERO : INTEGER := 0;
 
  constant RESET_PC_VALUE : PC_REGISTER_T := ( others => '0' );
 
  constant RESET_SR_VALUE : PC_REGISTER_T := ( others => '0' );
 
 
 
  constant COND_NONE : COND_T := "000";
 
  -- RISE OPCODES --
 
  constant OPCODE_LD_IMM : OPCODE_T := "10000";
 
  constant OPCODE_LD_DISP : OPCODE_T := "10100";
 
  constant OPCODE_LD_DISP_MS : OPCODE_T := "11000";
 
  constant OPCODE_LD_REG : OPCODE_T := "00001";
 
  constant OPCODE_NOP : OPCODE_T := "00000";
 
 
  type IF_ID_REGISTER_T is record
  type IF_ID_REGISTER_T is record
                             pc : PC_REGISTER_T;
                             pc : PC_REGISTER_T;
                             ir : IR_REGISTER_T;
                             ir : IR_REGISTER_T;
                           end record;
                           end record;

powered by: WebSVN 2.1.0

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