-- PKGMIPS.VHD Version 2.0 LIBRARY IEEE; USE IEEE.Std_Logic_1164.all; PACKAGE mips IS -- Revised 11/5/00 CONSTANT DWordSize : POSITIVE := 8; CONSTANT DHWordSize : POSITIVE := DWordSize/2; CONSTANT DByteSize : POSITIVE := DWordSize/4; CONSTANT CWordSize : POSITIVE := 32; -- TYPE State is (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9); SUBTYPE Opcode is std_logic_vector(5 downto 0); SUBTYPE rsAddr is std_logic_vector(4 downto 0); SUBTYPE rtAddr is std_logic_vector(4 downto 0); SUBTYPE rdAddr is std_logic_vector(4 downto 0); SUBTYPE Func is std_logic_vector(5 downto 0); SUBTYPE shamt is std_logic_vector(4 downto 0); SUBTYPE Addr is std_logic_vector(25 downto 0); SUBTYPE nofst is std_logic_vector(15 downto 0); CONSTANT Op_lw :Opcode := B"100011"; CONSTANT Op_sw :Opcode := B"101011"; CONSTANT Op_beq :Opcode := B"000100"; CONSTANT Op_add :Opcode := B"000000"; CONSTANT Op_sub :Opcode := B"000000"; CONSTANT Op_and :Opcode := B"000000"; CONSTANT Op_or :Opcode := B"000000"; CONSTANT Op_slt :Opcode := B"000000"; CONSTANT Op_j :Opcode := B"100000"; CONSTANT Op_R_type :Opcode := B"000000"; CONSTANT Func_add :Opcode := B"010000"; CONSTANT Func_sub :Opcode := B"010010"; CONSTANT Func_and :Opcode := B"000100"; CONSTANT Func_or :Opcode := B"010101"; CONSTANT Func_slt :Opcode := B"011010"; SUBTYPE delay IS time; END PACKAGE mips;