see to vhdl
--
-- Copyright (c) 1999-2000 Tony Givargis. Permission to copy is granted
-- provided that this header remains intact. This software is provided
-- with no warranties.
--
-- Version : 2.8
--
-------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_ARITH.all;
-------------------------------------------------------------------------------
package I8051_LIB is
constant CD_16 : UNSIGNED (15 downto 0) := "----------------";
constant CD_12 : UNSIGNED (11 downto 0) := "------------";
constant CD_11 : UNSIGNED (10 downto 0) := "-----------";
constant CD_8 : UNSIGNED ( 7 downto 0) := "--------";
constant C0_8 : UNSIGNED ( 7 downto 0) := "00000000";
constant C1_8 : UNSIGNED ( 7 downto 0) := "00000001";
constant C7_8 : UNSIGNED ( 7 downto 0) := "00000111";
constant CM_8 : UNSIGNED ( 7 downto 0) := "11111111";
constant CD_7 : UNSIGNED ( 6 downto 0) := "-------";
constant C0_7 : UNSIGNED ( 6 downto 0) := "0000000";
constant C9_4 : UNSIGNED ( 3 downto 0) := "1001";
constant R_B : UNSIGNED (7 downto 0) := "11110000";
constant R_ACC : UNSIGNED (7 downto 0) := "11100000";
constant R_PSW : UNSIGNED (7 downto 0) := "11010000";
constant R_IP : UNSIGNED (7 downto 0) := "10111000";
constant R_IE : UNSIGNED (7 downto 0) := "10101000";
constant R_SP : UNSIGNED (7 downto 0) := "10000001";
constant R_P0 : UNSIGNED (7 downto 0) := "10000000";
constant R_P1 : UNSIGNED (7 downto 0) := "10010000";
constant R_P2 : UNSIGNED (7 downto 0) := "10100000";
constant R_P3 : UNSIGNED (7 downto 0) := "10110000";
constant R_DPL : UNSIGNED (7 downto 0) := "10000010";
constant R_DPH : UNSIGNED (7 downto 0) := "10000011";
constant R_PCON : UNSIGNED (7 downto 0) := "10000111";
constant R_SCON : UNSIGNED (7 downto 0) := "10011000";
constant R_SBUF : UNSIGNED (7 downto 0) := "10011001";
constant R_TCON : UNSIGNED (7 downto 0) := "10001000";
constant R_TMOD : UNSIGNED (7 downto 0) := "10001001";
constant R_TL0 : UNSIGNED (7 downto 0) := "10001010";
constant R_TL1 : UNSIGNED (7 downto 0) := "10001011";
constant R_TH0 : UNSIGNED (7 downto 0) := "10001100";
constant R_TH1 : UNSIGNED (7 downto 0) := "10001101";
constant ACALL : UNSIGNED (4 downto 0) := "10001";
constant ADD_1 : UNSIGNED (4 downto 0) := "00101";
constant ADD_2 : UNSIGNED (7 downto 0) := "00100101";
constant ADD_3 : UNSIGNED (6 downto 0) := "0010011";
constant ADD_4 : UNSIGNED (7 downto 0) := "00100100";
constant ADDC_1 : UNSIGNED (4 downto 0) := "00111";
constant ADDC_2 : UNSIGNED (7 downto 0) := "00110101";
constant ADDC_3 : UNSIGNED (6 downto 0) := "0011011";
constant ADDC_4 : UNSIGNED (7 downto 0) := "00110100";
constant AJMP : UNSIGNED (4 downto 0) := "00001";
constant ANL_1 : UNSIGNED (4 downto 0) := "01011";
constant ANL_2 : UNSIGNED (7 downto 0) := "01010101";
constant ANL_3 : UNSIGNED (6 downto 0) := "0101011";
constant ANL_4 : UNSIGNED (7 downto 0) := "01010100";
constant ANL_5 : UNSIGNED (7 downto 0) := "01010010";
constant ANL_6 : UNSIGNED (7 downto 0) := "01010011";
constant ANL_7 : UNSIGNED (7 downto 0) := "10000010";
constant ANL_8 : UNSIGNED (7 downto 0) := "10110000";
constant CJNE_1 : UNSIGNED (7 downto 0) := "10110101";
constant CJNE_2 : UNSIGNED (7 downto 0) := "10110100";
constant CJNE_3 : UNSIGNED (4 downto 0) := "10111";
constant CJNE_4 : UNSIGNED (6 downto 0) := "1011011";
constant CLR_1 : UNSIGNED (7 downto 0) := "11100100";
constant CLR_2 : UNSIGNED (7 downto 0) := "11000011";
constant CLR_3 : UNSIGNED (7 downto 0) := "11000010";
constant CPL_1 : UNSIGNED (7 downto 0) := "11110100";
constant CPL_2 : UNSIGNED (7 downto 0) := "10110011";
constant CPL_3 : UNSIGNED (7 downto 0) := "10110010";
constant DA : UNSIGNED (7 downto 0) := "11010100";
constant DEC_1 : UNSIGNED (7 downto 0) := "00010100";
constant DEC_2 : UNSIGNED (4 downto 0) := "00011";
constant DEC_3 : UNSIGNED (7 downto 0) := "00010101";
constant DEC_4 : UNSIGNED (6 downto 0) := "0001011";
constant DIV : UNSIGNED (7 downto 0) := "10000100";
constant DJNZ_1 : UNSIGNED (4 downto 0) := "11011";
constant DJNZ_2 : UNSIGNED (7 downto 0) := "11010101";
constant INC_1 : UNSIGNED (7 downto 0) := "00000100";
constant INC_2 : UNSIGNED (4 downto 0) := "00001";
constant INC_3 : UNSIGNED (7 downto 0) := "00000101";
constant INC_4 : UNSIGNED (6 downto 0) := "0000011";
constant INC_5 : UNSIGNED (7 downto 0) := "10100011";
constant JB : UNSIGNED (7 downto 0) := "00100000";
constant JBC : UNSIGNED (7 downto 0) := "00010000";
constant JC : UNSIGNED (7 downto 0) := "01000000";
constant JMP : UNSIGNED (7 downto 0) := "01110011";
constant JNB : UNSIGNED (7 downto 0) := "00110000";
constant JNC : UNSIGNED (7 downto 0) := "01010000";
constant JNZ : UNSIGNED (7 downto 0) := "01110000";
constant JZ : UNSIGNED (7 downto 0) := "01100000";
constant LCALL : UNSIGNED (7 downto 0) := "00010010";
constant LJMP : UNSIGNED (7 downto 0) := "00000010";
constant MOV_1 : UNSIGNED (4 downto 0) := "11101";
constant MOV_2 : UNSIGNED (7 downto 0) := "11100101";
constant MOV_3 : UNSIGNED (6 downto 0) := "1110011";
constant MOV_4 : UNSIGNED (7 downto 0) := "01110100";
constant MOV_5 : UNSIGNED (4 downto 0) := "11111";
constant MOV_6 : UNSIGNED (4 downto 0) := "10101";
constant MOV_7 : UNSIGNED (4 downto 0) := "01111";
constant MOV_8 : UNSIGNED (7 downto 0) := "11110101";
constant MOV_9 : UNSIGNED (4 downto 0) := "10001";
constant MOV_10 : UNSIGNED (7 downto 0) := "10000101";
constant MOV_11 : UNSIGNED (6 downto 0) := "1000011";
constant MOV_12 : UNSIGNED (7 downto 0) := "01110101";
constant MOV_13 : UNSIGNED (6 downto 0) := "1111011";
constant MOV_14 : UNSIGNED (6 downto 0) := "1010011";
constant MOV_15 : UNSIGNED (6 downto 0) := "0111011";
constant MOV_16 : UNSIGNED (7 downto 0) := "10100010";
constant MOV_17 : UNSIGNED (7 downto 0) := "10010010";
constant MOV_18 : UNSIGNED (7 downto 0) := "10010000";
constant MOVC_1 : UNSIGNED (7 downto 0) := "10010011";
constant MOVC_2 : UNSIGNED (7 downto 0) := "10000011";
constant MOVX_1 : UNSIGNED (6 downto 0) := "1110001";
constant MOVX_2 : UNSIGNED (7 downto 0) := "11100000";
constant MOVX_3 : UNSIGNED (6 downto 0) := "1111001";
constant MOVX_4 : UNSIGNED (7 downto 0) := "11110000";
constant MUL : UNSIGNED (7 downto 0) := "10100100";
constant NOP : UNSIGNED (7 downto 0) := "00000000";
constant ORL_1 : UNSIGNED (4 downto 0) := "01001";
constant ORL_2 : UNSIGNED (7 downto 0) := "01000101";
constant ORL_3 : UNSIGNED (6 downto 0) := "0100011";
constant ORL_4 : UNSIGNED (7 downto 0) := "01000100";
constant ORL_5 : UNSIGNED (7 downto 0) := "01000010";
constant ORL_6 : UNSIGNED (7 downto 0) := "01000011";
constant ORL_7 : UNSIGNED (7 downto 0) := "01110010";
constant ORL_8 : UNSIGNED (7 downto 0) := "10100000";
constant POP : UNSIGNED (7 downto 0) := "11010000";
constant PUSH : UNSIGNED (7 downto 0) := "11000000";
constant RET : UNSIGNED (7 downto 0) := "00100010";
constant RETI : UNSIGNED (7 downto 0) := "00110010";
constant RL : UNSIGNED (7 downto 0) := "00100011";
constant RLC : UNSIGNED (7 downto 0) := "00110011";
constant RR : UNSIGNED (7 downto 0) := "00000011";
constant RRC : UNSIGNED (7 downto 0) := "00010011";
constant SETB_1 : UNSIGNED (7 downto 0) := "11010011";
constant SETB_2 : UNSIGNED (7 downto 0) := "11010010";
constant SJMP : UNSIGNED (7 downto 0) := "10000000";
constant SUBB_1 : UNSIGNED (4 downto 0) := "10011";
constant SUBB_2 : UNSIGNED (7 downto 0) := "10010101";
constant SUBB_3 : UNSIGNED (6 downto 0) := "1001011";
constant SUBB_4 : UNSIGNED (7 downto 0) := "10010100";
constant SWAP : UNSIGNED (7 downto 0) := "11000100";
constant XCH_1 : UNSIGNED (4 downto 0) := "11001";
constant XCH_2 : UNSIGNED (7 downto 0) := "11000101";
constant XCH_3 : UNSIGNED (6 downto 0) := "1100011";
constant XCHD : UNSIGNED (6 downto 0) := "1101011";
constant XRL_1 : UNSIGNED (4 downto 0) := "01101";
constant XRL_2 : UNSIGNED (7 downto 0) := "01100101";
constant XRL_3 : UNSIGNED (6 downto 0) := "0110011";
constant XRL_4 : UNSIGNED (7 downto 0) := "01100100";
constant XRL_5 : UNSIGNED (7 downto 0) := "01100010";
constant XRL_6 : UNSIGNED (7 downto 0) := "01100011";
constant ALU_OPC_NONE : UNSIGNED (3 downto 0) := "0000";
constant ALU_OPC_ADD : UNSIGNED (3 downto 0) := "0001";
constant ALU_OPC_SUB : UNSIGNED (3 downto 0) := "0010";
constant ALU_OPC_MUL : UNSIGNED (3 downto 0) := "0011";
constant ALU_OPC_DIV : UNSIGNED (3 downto 0) := "0100";
constant ALU_OPC_DA : UNSIGNED (3 downto 0) := "0101";
constant ALU_OPC_NOT : UNSIGNED (3 downto 0) := "0110";
constant ALU_OPC_AND : UNSIGNED (3 downto 0) := "0111";
constant ALU_OPC_XOR : UNSIGNED (3 downto 0) := "1000";
constant ALU_OPC_OR : UNSIGNED (3 downto 0) := "1001";
constant ALU_OPC_RL : UNSIGNED (3 downto 0) := "1010";
constant ALU_OPC_RLC : UNSIGNED (3 downto 0) := "1011";
constant ALU_OPC_RR : UNSIGNED (3 downto 0) := "1100";
constant ALU_OPC_RRC : UNSIGNED (3 downto 0) := "1101";
constant ALU_OPC_PCSADD : UNSIGNED (3 downto 0) := "1110";
constant ALU_OPC_PCUADD : UNSIGNED (3 downto 0) := "1111";
constant OPC_ACALL : UNSIGNED (6 downto 0) := "0000000";
constant OPC_ADD_1 : UNSIGNED (6 downto 0) := "0000001";
constant OPC_ADD_2 : UNSIGNED (6 downto 0) := "0000010";
constant OPC_ADD_3 : UNSIGNED (6 downto 0) := "0000011";
constant OPC_ADD_4 : UNSIGNED (6 downto 0) := "0000100";
constant OPC_ADDC_1 : UNSIGNED (6 downto 0) := "0000101";
constant OPC_ADDC_2 : UNSIGNED (6 downto 0) := "0000110";
constant OPC_ADDC_3 : UNSIGNED (6 downto 0) := "0000111";
constant OPC_ADDC_4 : UNSIGNED (6 downto 0) := "0001000";
constant OPC_AJMP : UNSIGNED (6 downto 0) := "0001001";
constant OPC_ANL_1 : UNSIGNED (6 downto 0) := "0001010";
constant OPC_ANL_2 : UNSIGNED (6 downto 0) := "0001011";
constant OPC_ANL_3 : UNSIGNED (6 downto 0) := "0001100";
constant OPC_ANL_4 : UNSIGNED (6 downto 0) := "0001101";
constant OPC_ANL_5 : UNSIGNED (6 downto 0) := "0001110";
constant OPC_ANL_6 : UNSIGNED (6 downto 0) := "0001111";
constant OPC_ANL_7 : UNSIGNED (6 downto 0) := "0010000";
constant OPC_ANL_8 : UNSIGNED (6 downto 0) := "0010001";
constant OPC_CJNE_1 : UNSIGNED (6 downto 0) := "0010010";
constant OPC_CJNE_2 : UNSIGNED (6 downto 0) := "0010011";
constant OPC_CJNE_3 : UNSIGNED (6 downto 0) := "0010100";
constant OPC_CJNE_4 : UNSIGNED (6 downto 0) := "0010101";
constant OPC_CLR_1 : UNSIGNED (6 downto 0) := "0010110";
constant OPC_CLR_2 : UNSIGNED (6 downto 0) := "0010111";
constant OPC_CLR_3 : UNSIGNED (6 downto 0) := "0011000";
constant OPC_CPL_1 : UNSIGNED (6 downto 0) := "0011001";
constant OPC_CPL_2 : UNSIGNED (6 downto 0) := "0011010";
constant OPC_CPL_3 : UNSIGNED (6 downto 0) := "0011011";
constant OPC_DA : UNSIGNED (6 downto 0) := "0011100";
constant OPC_DEC_1 : UNSIGNED (6 downto 0) := "0011101";
constant OPC_DEC_2 : UNSIGNED (6 downto 0) := "0011110";
constant OPC_DEC_3 : UNSIGNED (6 downto 0) := "0011111";
constant OPC_DEC_4 : UNSIGNED (6 downto 0) := "0100000";
constant OPC_DIV : UNSIGNED (6 downto 0) := "0100001";
constant OPC_DJNZ_1 : UNSIGNED (6 downto 0) := "0100010";
constant OPC_DJNZ_2 : UNSIGNED (6 downto 0) := "0100011";
constant OPC_INC_1 : UNSIGNED (6 downto 0) := "0100100";
constant OPC_INC_2 : UNSIGNED (6 downto 0) := "0100101";
constant OPC_INC_3 : UNSIGNED (6 downto 0) := "0100110";
constant OPC_INC_4 : UNSIGNED (6 downto 0) := "0100111";
constant OPC_INC_5 : UNSIGNED (6 downto 0) := "0101000";
constant OPC_JB : UNSIGNED (6 downto 0) := "0101001";
constant OPC_JBC : UNSIGNED (6 downto 0) := "0101010";
constant OPC_JC : UNSIGNED (6 downto 0) := "0101011";
constant OPC_JMP : UNSIGNED (6 downto 0) := "0101100";
constant OPC_JNB : UNSIGNED (6 downto 0) := "0101101";
constant OPC_JNC : UNSIGNED (6 downto 0) := "0101110";
constant OPC_JNZ : UNSIGNED (6 downto 0) := "0101111";
constant OPC_JZ : UNSIGNED (6 downto 0) := "0110000";
constant OPC_LCALL : UNSIGNED (6 downto 0) := "0110001";
constant OPC_LJMP : UNSIGNED (6 downto 0) := "0110010";
constant OPC_MOV_1 : UNSIGNED (6 downto 0) := "0110011";
constant OPC_MOV_2 : UNSIGNED (6 downto 0) := "0110100";
constant OPC_MOV_3 : UNSIGNED (6 downto 0) := "0110101";
constant OPC_MOV_4 : UNSIGNED (6 downto 0) := "0110110";
constant OPC_MOV_5 : UNSIGNED (6 downto 0) := "0110111";
constant OPC_MOV_6 : UNSIGNED (6 downto 0) := "0111000";
constant OPC_MOV_7 : UNSIGNED (6 downto 0) := "0111001";
constant OPC_MOV_8 : UNSIGNED (6 downto 0) := "0111010";
constant OPC_MOV_9 : UNSIGNED (6 downto 0) := "0111011";
constant OPC_MOV_10 : UNSIGNED (6 downto 0) := "0111100";
constant OPC_MOV_11 : UNSIGNED (6 downto 0) := "0111101";
constant OPC_MOV_12 : UNSIGNED (6 downto 0) := "0111110";
constant OPC_MOV_13 : UNSIGNED (6 downto 0) := "0111111";
constant OPC_MOV_14 : UNSIGNED (6 downto 0) := "1000000";
constant OPC_MOV_15 : UNSIGNED (6 downto 0) := "1000001";
constant OPC_MOV_16 : UNSIGNED (6 downto 0) := "1000010";
constant OPC_MOV_17 : UNSIGNED (6 downto 0) := "1000011";
constant OPC_MOV_18 : UNSIGNED (6 downto 0) := "1000100";
constant OPC_MOVC_1 : UNSIGNED (6 downto 0) := "1000101";
constant OPC_MOVC_2 : UNSIGNED (6 downto 0) := "1000110";
constant OPC_MOVX_1 : UNSIGNED (6 downto 0) := "1000111";
constant OPC_MOVX_2 : UNSIGNED (6 downto 0) := "1001000";
constant OPC_MOVX_3 : UNSIGNED (6 downto 0) := "1001001";
constant OPC_MOVX_4 : UNSIGNED (6 downto 0) := "1001010";
constant OPC_MUL : UNSIGNED (6 downto 0) := "1001011";
constant OPC_NOP : UNSIGNED (6 downto 0) := "1001100";
constant OPC_ORL_1 : UNSIGNED (6 downto 0) := "1001101";
constant OPC_ORL_2 : UNSIGNED (6 downto 0) := "1001110";
constant OPC_ORL_3 : UNSIGNED (6 downto 0) := "1001111";
constant OPC_ORL_4 : UNSIGNED (6 downto 0) := "1010000";
constant OPC_ORL_5 : UNSIGNED (6 downto 0) := "1010001";
constant OPC_ORL_6 : UNSIGNED (6 downto 0) := "1010010";
constant OPC_ORL_7 : UNSIGNED (6 downto 0) := "1010011";
constant OPC_ORL_8 : UNSIGNED (6 downto 0) := "1010100";
constant OPC_POP : UNSIGNED (6 downto 0) := "1010101";
constant OPC_PUSH : UNSIGNED (6 downto 0) := "1010110";
constant OPC_RET : UNSIGNED (6 downto 0) := "1010111";
constant OPC_RETI : UNSIGNED (6 downto 0) := "1011000";
constant OPC_RL : UNSIGNED (6 downto 0) := "1011001";
constant OPC_RLC : UNSIGNED (6 downto 0) := "1011010";
constant OPC_RR : UNSIGNED (6 downto 0) := "1011011";
constant OPC_RRC : UNSIGNED (6 downto 0) := "1011100";
constant OPC_SETB_1 : UNSIGNED (6 downto 0) := "1011101";
constant OPC_SETB_2 : UNSIGNED (6 downto 0) := "1011110";
constant OPC_SJMP : UNSIGNED (6 downto 0) := "1011111";
constant OPC_SUBB_1 : UNSIGNED (6 downto 0) := "1100000";
constant OPC_SUBB_2 : UNSIGNED (6 downto 0) := "1100001";
constant OPC_SUBB_3 : UNSIGNED (6 downto 0) := "1100010";
constant OPC_SUBB_4 : UNSIGNED (6 downto 0) := "1100011";
constant OPC_SWAP : UNSIGNED (6 downto 0) := "1100100";
constant OPC_XCH_1 : UNSIGNED (6 downto 0) := "1100101";
constant OPC_XCH_2 : UNSIGNED (6 downto 0) := "1100110";
constant OPC_XCH_3 : UNSIGNED (6 downto 0) := "1100111";
constant OPC_XCHD : UNSIGNED (6 downto 0) := "1101000";
constant OPC_XRL_1 : UNSIGNED (6 downto 0) := "1101001";
constant OPC_XRL_2 : UNSIGNED (6 downto 0) := "1101010";
constant OPC_XRL_3 : UNSIGNED (6 downto 0) := "1101011";
constant OPC_XRL_4 : UNSIGNED (6 downto 0) := "1101100";
constant OPC_XRL_5 : UNSIGNED (6 downto 0) := "1101101";
constant OPC_XRL_6 : UNSIGNED (6 downto 0) := "1101110";
constant OPC_ERROR : UNSIGNED (6 downto 0) := "1101111";
constant OPC_NU1 : UNSIGNED (6 downto 0) := "1110000";
constant OPC_NU2 : UNSIGNED (6 downto 0) := "1110001";
constant OPC_NU3 : UNSIGNED (6 downto 0) := "1110010";
constant OPC_NU4 : UNSIGNED (6 downto 0) := "1110011";
constant OPC_NU5 : UNSIGNED (6 downto 0) := "1111100";
constant OPC_NU6 : UNSIGNED (6 downto 0) := "1111101";
constant OPC_NU7 : UNSIGNED (6 downto 0) := "1111110";
constant OPC_NU8 : UNSIGNED (6 downto 0) := "1111111";
end I8051_LIB;
-------------------------------------------------------------------------------
-- end of file --
Posted on: March 27, 2009, 02:09:30 14:09 - Automerged
schematic