10 use ieee.std_logic_1164.
ALL;
11 use ieee.numeric_std.
ALL;
19 constant opcode_LOADR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
25 constant opcode_LOADI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
31 constant opcode_STORI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
37 constant opcode_STORR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
43 constant opcode_PUSH : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
49 constant opcode_POP : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
55 constant opcode_MOVR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
61 constant opcode_MOVI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
67 constant opcode_JUMPR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
73 constant opcode_JUMPI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
79 constant opcode_CALLR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
85 constant opcode_CALLI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
91 constant opcode_RETURN: (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
97 constant opcode_TEST : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
103 constant opcode_HALT : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
109 constant opcode_ANDR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
115 constant opcode_NANDR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
121 constant opcode_ORR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
127 constant opcode_NORR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
133 constant opcode_XORR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
139 constant opcode_LSLR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
145 constant opcode_LSRR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
151 constant opcode_NOTR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
157 constant opcode_ANDI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
163 constant opcode_NANDI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
169 constant opcode_ORI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
175 constant opcode_NORI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
181 constant opcode_XORI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
187 constant opcode_LSLI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
193 constant opcode_LSRI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
199 constant opcode_IADDI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
205 constant opcode_ISUBI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
211 constant opcode_IMULI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
217 constant opcode_IDIVI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
223 constant opcode_IASRI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
229 constant opcode_IADDR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
235 constant opcode_ISUBR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
241 constant opcode_IMULR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
247 constant opcode_IDIVR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
253 constant opcode_IASRR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
259 constant opcode_FADDI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
265 constant opcode_FSUBI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
271 constant opcode_FMULI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
277 constant opcode_FDIVI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
283 constant opcode_FASRI : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
289 constant opcode_FADDR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
295 constant opcode_FSUBR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
301 constant opcode_FMULR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
307 constant opcode_FDIVR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
313 constant opcode_FASRR : (opcode_length-1 downto 0) := (to_unsigned(0, opcode_length));
integer :=4 opcode_length_ORI
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_ORI
Bitwise OR two registers together.
integer :=4 opcode_length_STORR
The length in bytes of the instruction.
Package that contains declarations and definitions for all instruction opcodes and their lengths...
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_LSRI
Logical shift right the bits in register X by the immediate value.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_TEST
Test two general or special registers and set comparison bits.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_IMULI
Integer Multiply register X by immediate value.
Package header for all constants, functions and types used in TIM.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_LSRR
Logical shift right the bits in register X by the value in register Y.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_ANDI
Bitwise AND two registers together.
integer :=4 opcode_length_ANDI
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_LOADR
Load to register X from address in register Y with offset in register Z.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_IADDI
Integer Add register X to immediate value.
integer :=4 opcode_length_IMULR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_FMULI
Floating point Multiply register X by immediate value.
integer :=4 opcode_length_HALT
The length in bytes of the instruction.
integer :=4 opcode_length_XORI
The length in bytes of the instruction.
integer :=4 opcode_length_LOADR
The length in bytes of the instruction.
integer :=4 opcode_length_FMULR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_CALLI
Call to function who's address is contained within instruction immediate.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_LSLR
Logical shift left the bits in register X by the value in register Y.
integer :=4 opcode_length_MOVI
The length in bytes of the instruction.
integer :=4 opcode_length_ISUBR
The length in bytes of the instruction.
integer :=4 opcode_length_CALLI
The length in bytes of the instruction.
integer :=4 opcode_length_LSRI
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_IASRR
Integer Arithmetic shift register X right value in register Y.
integer :=4 opcode_length_ISUBI
The length in bytes of the instruction.
integer :=4 opcode_length_FSUBI
The length in bytes of the instruction.
integer :=4 opcode_length_STORI
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_ISUBR
Integer Subtract register X from register Y.
integer :=4 opcode_length_RETURN
The length in bytes of the instruction.
integer :=4 opcode_length_IASRI
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_FSUBI
Floating point Subtract immediate value from register X.
integer :=4 opcode_length_LSRR
The length in bytes of the instruction.
integer :=4 opcode_length_JUMPI
The length in bytes of the instruction.
integer :=4 opcode_length_FASRR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_IDIVR
Integer Divide register X by register Y.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_ISUBI
Integer Subtract immediate value from register X.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_MOVI
Move immediate I into register X.
integer :=4 opcode_length_NORI
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_ORR
Bitwise OR two registers together.
integer :=4 opcode_length_PUSH
The length in bytes of the instruction.
integer :=4 opcode_length_CALLR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_STORI
Store register X to address in register Y with offset in register Z.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_FDIVR
Floating point Divide register X by register Y.
integer :=4 opcode_length_NANDR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_MOVR
Move the content of register X into register Y.
integer :=4 opcode_length_FDIVI
The length in bytes of the instruction.
integer :=4 opcode_length_FSUBR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_ANDR
Bitwise AND two registers together.
integer :=4 opcode_length_JUMPR
The length in bytes of the instruction.
integer :=4 opcode_length_ORR
The length in bytes of the instruction.
integer :=4 opcode_length_FASRI
The length in bytes of the instruction.
integer :=4 opcode_length_ANDR
The length in bytes of the instruction.
integer :=4 opcode_length_XORR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_LSLI
Logical shift left the bits in register X by the immediate value.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_FASRI
Floating point Arithmetic shift register X right immediate value.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_FADDR
Floating point Add register X to register Y.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_XORI
Bitwise XOR two registers together.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_FDIVI
Floating point Divide register X by immediate value.
integer :=4 opcode_length_POP
The length in bytes of the instruction.
integer :=4 opcode_length_IDIVI
The length in bytes of the instruction.
integer :=4 opcode_length_NOTR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_NANDI
Bitwise NAND two registers together.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_STORR
Store register X to address in register Y with immediate offset.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_IDIVI
Integer Divide register X by immediate value.
integer :=4 opcode_length_LSLI
The length in bytes of the instruction.
integer :=4 opcode_length_IMULI
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_POP
Pop element at top of stack into register X and increment the stack pointer.
integer :=4 opcode_length_FADDI
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_IASRI
Integer Arithmetic shift register X right immediate value.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_LOADI
Load to register X from address in register Y with immediate offset.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_FMULR
Floating point Multiply register X by register Y.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_FASRR
Floating point Arithmetic shift register X right value in register Y.
integer :=4 opcode_length_LSLR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_IADDR
Integer Add register X to register Y.
integer :=4 opcode_length_IASRR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_NANDR
Bitwise NAND two registers together.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_XORR
Bitwise XOR two registers together.
integer :=4 opcode_length_NANDI
The length in bytes of the instruction.
integer :=4 opcode_length_FMULI
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_NOTR
Bitwise invert the specificed register.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_PUSH
Push register X onto the top of the stack and decrement the stack pointer.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_JUMPR
Jump to address contained within register X.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_FADDI
Floating point Add register X to immediate value.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_HALT
Stop processing and wait to be reset.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_NORI
Bitwise NOR two registers together.
integer :=4 opcode_length_IADDI
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_FSUBR
Floating point Subtract register X from register Y.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_JUMPI
Jump to address contained within instruction immediate.
integer :=4 opcode_length_FDIVR
The length in bytes of the instruction.
integer :=4 opcode_length_NORR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_NORR
Bitwise NOR two registers together.
integer :=4 opcode_length_TEST
The length in bytes of the instruction.
integer :=4 opcode_length_IDIVR
The length in bytes of the instruction.
integer :=4 opcode_length_FADDR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_IMULR
Integer Multiply register X by register Y.
integer :=4 opcode_length_IADDR
The length in bytes of the instruction.
integer :=4 opcode_length_LOADI
The length in bytes of the instruction.
integer :=4 opcode_length_MOVR
The length in bytes of the instruction.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_CALLR
Call to function who's address is contained within register X.
std_logic_vector (opcode_length - 1 downto 0) :=std_logic_vector (to_unsigned (0 ,opcode_length)) opcode_RETURN
Return from the last function call.