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

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [VHDL/] [Open8_pkg.vhd] - Diff between revs 185 and 186

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

Rev 185 Rev 186
Line 128... Line 128...
  constant OP_LDA            : OPCODE_TYPE := "11101";
  constant OP_LDA            : OPCODE_TYPE := "11101";
  constant OP_LDX            : OPCODE_TYPE := "11110";
  constant OP_LDX            : OPCODE_TYPE := "11110";
  constant OP_LDO            : OPCODE_TYPE := "11111";
  constant OP_LDO            : OPCODE_TYPE := "11111";
 
 
  -- OP_STK uses the lower 3 bits to further refine the instruction by
  -- OP_STK uses the lower 3 bits to further refine the instruction by
  --  repurposing the source register field. These "sub opcodes" are
  --  repurposing the source register field. These "sub opcodes" take
  --  take the place of the register select for the OP_STK opcode
  --  the place of the register select for the OP_STK opcode
  constant SOP_RSP           : SUBOP_TYPE := "000";
  constant SOP_RSP           : SUBOP_TYPE := "000";
  constant SOP_RTS           : SUBOP_TYPE := "001";
  constant SOP_RTS           : SUBOP_TYPE := "001";
  constant SOP_RTI           : SUBOP_TYPE := "010";
  constant SOP_RTI           : SUBOP_TYPE := "010";
  constant SOP_BRK           : SUBOP_TYPE := "011";
  constant SOP_BRK           : SUBOP_TYPE := "011";
  constant SOP_JMP           : SUBOP_TYPE := "100";
  constant SOP_JMP           : SUBOP_TYPE := "100";
Line 154... Line 154...
    -- 2-cycle math
    -- 2-cycle math
    MUL_C1, UPP_C1,
    MUL_C1, UPP_C1,
    -- Stack
    -- Stack
    PSH_C1, POP_C1, POP_C2, POP_C3, POP_C4,
    PSH_C1, POP_C1, POP_C2, POP_C3, POP_C4,
    -- Subroutines & Interrupts
    -- Subroutines & Interrupts
    WAIT_FOR_INT, ISR_C1, ISR_C2, ISR_C3, JSR_C1, JSR_C2,
    WAIT_FOR_INT,
 
    ISR_C1, ISR_C2, ISR_C3, JSR_C1, JSR_C2,
    RTS_C1, RTS_C2, RTS_C3, RTS_C4, RTS_C5, RTI_C6,
    RTS_C1, RTS_C2, RTS_C3, RTS_C4, RTS_C5, RTI_C6,
    -- Debugging
    -- Debugging
    BRK_C1 );
    BRK_C1 );
 
 
  type CACHE_MODES is (CACHE_IDLE, CACHE_INSTR, CACHE_OPER1, CACHE_OPER2,
  type CACHE_MODES is (CACHE_IDLE, CACHE_INSTR, CACHE_OPER1, CACHE_OPER2,
Line 236... Line 237...
  constant PSR_Z             : integer := 0;
  constant PSR_Z             : integer := 0;
  constant PSR_C             : integer := 1;
  constant PSR_C             : integer := 1;
  constant PSR_N             : integer := 2;
  constant PSR_N             : integer := 2;
  constant PSR_I             : integer := 3;
  constant PSR_I             : integer := 3;
  constant PSR_GP4           : integer := 4;
  constant PSR_GP4           : integer := 4;
  constant PSR_GP5           :
 
 No newline at end of file
 No newline at end of file
 
  constant PSR_GP5           : integer := 5;
 
  constant PSR_GP6           : integer := 6;
 
  constant PSR_GP7           : integer := 7;
 
 
 
  type ALU_CTRL_TYPE is record
 
    Oper                     : OPCODE_TYPE;
 
    Reg                      : SUBOP_TYPE;
 
  end record;
 
 
 
  constant ACCUM             : SUBOP_TYPE := "000";
 
 
 
  type REGFILE_TYPE is array (0 to 7) of DATA_TYPE;
 
 
 
  subtype FLAG_TYPE is DATA_TYPE;
 
 
 
end Open8_pkg;
 
 
 
package body Open8_pkg is
 
end package body;
 
 
 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.