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

Subversion Repositories rise

[/] [rise/] [trunk/] [vhdl/] [rise_const_pack.vhd] - Blame information for rev 149

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 66 jlechner
-------------------------------------------------------------------------------
2
-- File: rise_const_pack.vhd
3
-- Author: Jakob Lechner, Urban Stadler, Harald Trinkl, Christian Walter
4
-- Created: 2006-11-29
5
-- Last updated: 2006-11-29
6
 
7
-- Description:
8
-- Package for RISE project.
9
-------------------------------------------------------------------------------
10
 
11
 
12
library IEEE;
13
use IEEE.STD_LOGIC_1164.all;
14
use IEEE.STD_LOGIC_ARITH.all;
15
 
16
package RISE_CONST_PACK is
17
 
18
  constant CONST_OPCODE_WIDTH : integer := 5;
19
  constant CONST_COND_WIDTH : integer := 3;
20
 
21
  subtype CONST_OPCODE_T is std_logic_vector(CONST_OPCODE_WIDTH-1 downto 0);
22
  subtype CONST_COND_T is std_logic_vector(CONST_COND_WIDTH-1 downto 0);
23
 
24
  -- RISE OPCODES --
25
  -- load opcodes
26
  constant CONST_OPCODE_LD_IMM        : CONST_OPCODE_T := "10000";
27
  constant CONST_OPCODE_LD_IMM_HB     : CONST_OPCODE_T := "10010";
28
  constant CONST_OPCODE_LD_DISP       : CONST_OPCODE_T := "10100";
29
  constant CONST_OPCODE_LD_DISP_MS    : CONST_OPCODE_T := "11000";
30
  constant CONST_OPCODE_LD_REG        : CONST_OPCODE_T := "00001";
31
 
32
  -- store opcodes
33
  constant CONST_OPCODE_ST_DISP       : CONST_OPCODE_T := "11100";
34
 
35
  -- arithmethic opcodes
36
  constant CONST_OPCODE_ADD           : CONST_OPCODE_T := "00010";
37
  constant CONST_OPCODE_ADD_IMM       : CONST_OPCODE_T := "00011";
38
  constant CONST_OPCODE_SUB           : CONST_OPCODE_T := "00100";
39
  constant CONST_OPCODE_SUB_IMM       : CONST_OPCODE_T := "00101";
40
  constant CONST_OPCODE_NEG           : CONST_OPCODE_T := "00110";
41
  constant CONST_OPCODE_ARS           : CONST_OPCODE_T := "00111";
42
  constant CONST_OPCODE_ALS           : CONST_OPCODE_T := "01000";
43
 
44
  -- logical opcodes
45
  constant CONST_OPCODE_AND : CONST_OPCODE_T := "01001";
46
  constant CONST_OPCODE_NOT : CONST_OPCODE_T := "01010";
47
  constant CONST_OPCODE_EOR : CONST_OPCODE_T := "01011";
48
  constant CONST_OPCODE_LS :  CONST_OPCODE_T := "01100";
49
  constant CONST_OPCODE_RS :  CONST_OPCODE_T := "01101";
50
 
51
  -- program control
52
  constant CONST_OPCODE_JMP : CONST_OPCODE_T := "01110";
53
 
54
  -- other
55
  constant CONST_OPCODE_TST : CONST_OPCODE_T := "01111";
56
  constant CONST_OPCODE_NOP : CONST_OPCODE_T := "00000";
57
 
58
  -- CONDITION CODES --
59
  constant CONST_COND_UNCONDITIONAL   : CONST_COND_T := "000";
60
  constant CONST_COND_NOT_ZERO        : CONST_COND_T := "001";
61
  constant CONST_COND_ZERO            : CONST_COND_T := "010";
62
  constant CONST_COND_CARRY           : CONST_COND_T := "011";
63
  constant CONST_COND_NEGATIVE        : CONST_COND_T := "100";
64
  constant CONST_COND_OVERFLOW        : CONST_COND_T := "101";
65
  constant CONST_COND_ZERO_NEGATIVE   : CONST_COND_T := "110";
66
 
67
end RISE_CONST_PACK;
68
 

powered by: WebSVN 2.1.0

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