library ieee; use ieee.std_logic_1164.all; package ESD2004_types is subtype alu_op is std_logic_vector(3 downto 0); constant alu_add : alu_op := "0000"; constant alu_sub : alu_op := "0001"; constant alu_and : alu_op := "0010"; constant alu_or : alu_op := "0011"; constant alu_not : alu_op := "0100"; constant alu_xor : alu_op := "0101"; constant alu_sgt : alu_op := "1000"; constant alu_sge : alu_op := "1001"; constant alu_slt : alu_op := "1010"; constant alu_sle : alu_op := "1011"; subtype jump_op is std_logic_vector(2 downto 0); constant j_normal : jump_op := "000"; constant j_reg : jump_op := "001"; constant j_imm : jump_op := "100"; constant j_beqz : jump_op := "101"; constant j_bneqz : jump_op := "110"; subtype shift_op is std_logic_vector(1 downto 0); constant sh_sll : shift_op := "00"; constant sh_srl : shift_op := "01"; constant sh_sra : shift_op := "10"; end ESD2004_types; package body ESD2004_types is end ESD2004_types;