![]() |
T.I.M | Hardware Documentation
|
Package that contains declarations and definitions for all instruction opcodes and their lengths. More...
Libraries | |
| ieee | |
Use Clauses | |
| ieee.std_logic_1164.all | |
| ieee.numeric_std.all | |
| work.tim_common.opcode_length | |
Constants | |
| opcode_LOADR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Load to register X from address in register Y with offset in register Z. | |
| opcode_length_LOADR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_LOADI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Load to register X from address in register Y with immediate offset. | |
| opcode_length_LOADI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_STORI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Store register X to address in register Y with offset in register Z. | |
| opcode_length_STORI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_STORR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Store register X to address in register Y with immediate offset. | |
| opcode_length_STORR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_PUSH | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Push register X onto the top of the stack and decrement the stack pointer. | |
| opcode_length_PUSH | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_POP | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Pop element at top of stack into register X and increment the stack pointer. | |
| opcode_length_POP | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_MOVR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Move the content of register X into register Y. | |
| opcode_length_MOVR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_MOVI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Move immediate I into register X. | |
| opcode_length_MOVI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_JUMPR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Jump to address contained within register X. | |
| opcode_length_JUMPR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_JUMPI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Jump to address contained within instruction immediate. | |
| opcode_length_JUMPI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_CALLR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Call to function who's address is contained within register X. | |
| opcode_length_CALLR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_CALLI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Call to function who's address is contained within instruction immediate. | |
| opcode_length_CALLI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_RETURN | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Return from the last function call. | |
| opcode_length_RETURN | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_TEST | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Test two general or special registers and set comparison bits. | |
| opcode_length_TEST | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_HALT | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Stop processing and wait to be reset. | |
| opcode_length_HALT | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_ANDR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Bitwise AND two registers together. | |
| opcode_length_ANDR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_NANDR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Bitwise NAND two registers together. | |
| opcode_length_NANDR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_ORR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Bitwise OR two registers together. | |
| opcode_length_ORR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_NORR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Bitwise NOR two registers together. | |
| opcode_length_NORR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_XORR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Bitwise XOR two registers together. | |
| opcode_length_XORR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_LSLR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Logical shift left the bits in register X by the value in register Y. | |
| opcode_length_LSLR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_LSRR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Logical shift right the bits in register X by the value in register Y. | |
| opcode_length_LSRR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_NOTR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Bitwise invert the specificed register. | |
| opcode_length_NOTR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_ANDI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Bitwise AND two registers together. | |
| opcode_length_ANDI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_NANDI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Bitwise NAND two registers together. | |
| opcode_length_NANDI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_ORI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Bitwise OR two registers together. | |
| opcode_length_ORI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_NORI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Bitwise NOR two registers together. | |
| opcode_length_NORI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_XORI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Bitwise XOR two registers together. | |
| opcode_length_XORI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_LSLI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Logical shift left the bits in register X by the immediate value. | |
| opcode_length_LSLI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_LSRI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Logical shift right the bits in register X by the immediate value. | |
| opcode_length_LSRI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_IADDI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Integer Add register X to immediate value. | |
| opcode_length_IADDI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_ISUBI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Integer Subtract immediate value from register X. | |
| opcode_length_ISUBI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_IMULI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Integer Multiply register X by immediate value. | |
| opcode_length_IMULI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_IDIVI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Integer Divide register X by immediate value. | |
| opcode_length_IDIVI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_IASRI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Integer Arithmetic shift register X right immediate value. | |
| opcode_length_IASRI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_IADDR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Integer Add register X to register Y. | |
| opcode_length_IADDR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_ISUBR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Integer Subtract register X from register Y. | |
| opcode_length_ISUBR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_IMULR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Integer Multiply register X by register Y. | |
| opcode_length_IMULR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_IDIVR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Integer Divide register X by register Y. | |
| opcode_length_IDIVR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_IASRR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Integer Arithmetic shift register X right value in register Y. | |
| opcode_length_IASRR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_FADDI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Floating point Add register X to immediate value. | |
| opcode_length_FADDI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_FSUBI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Floating point Subtract immediate value from register X. | |
| opcode_length_FSUBI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_FMULI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Floating point Multiply register X by immediate value. | |
| opcode_length_FMULI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_FDIVI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Floating point Divide register X by immediate value. | |
| opcode_length_FDIVI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_FASRI | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Floating point Arithmetic shift register X right immediate value. | |
| opcode_length_FASRI | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_FADDR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Floating point Add register X to register Y. | |
| opcode_length_FADDR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_FSUBR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Floating point Subtract register X from register Y. | |
| opcode_length_FSUBR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_FMULR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Floating point Multiply register X by register Y. | |
| opcode_length_FMULR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_FDIVR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Floating point Divide register X by register Y. | |
| opcode_length_FDIVR | integer := 4 |
| The length in bytes of the instruction. | |
| opcode_FASRR | std_logic_vector ( opcode_length - 1 downto 0 ) := std_logic_vector ( to_unsigned ( 0 , opcode_length ) ) |
| Floating point Arithmetic shift register X right value in register Y. | |
| opcode_length_FASRR | integer := 4 |
| The length in bytes of the instruction. | |
Package that contains declarations and definitions for all instruction opcodes and their lengths.
Definition at line 16 of file instructions.vhdl.