ASCII_ROM.VHD
上传用户:dgjihui88
上传日期:2013-07-23
资源大小:43k
文件大小:9k
源码类别:
VHDL/FPGA/Verilog
开发平台:
MultiPlatform
- library IEEE;
- use IEEE.std_logic_1164.all;
- use IEEE.std_logic_arith.all;
- use IEEE.std_logic_unsigned.all;
- library work;
- use work.my_package.all;
- entity CHAR_FONT is
- Port (
- SCAN_ADDR : In STD_LOGIC_VECTOR (10 downto 0);
- FONT_CODE : Out STD_LOGIC_VECTOR (7 downto 0)
- );
- end CHAR_FONT;
- architecture BEHAVIORAL of CHAR_FONT is
- constant FONT_TAB: ROM_TYPE(0 to 1023) :=
- (X"00", X"00", X"00", X"00", X"00", X"00", X"00", X"00", -- D_00
- X"7E", X"81", X"A5", X"81", X"BD", X"99", X"81", X"7E", -- D_01
- X"7E", X"FF", X"DB", X"FF", X"C3", X"E7", X"FF", X"7E", -- D_02
- X"6C", X"FE", X"FE", X"FE", X"7C", X"38", X"10", X"00", -- D_03
- X"10", X"38", X"7C", X"FE", X"7C", X"38", X"10", X"00", -- D_04
- X"38", X"7C", X"38", X"FE", X"FE", X"7C", X"38", X"7C", -- D_05
- X"10", X"10", X"38", X"7C", X"FE", X"7C", X"38", X"7C", -- D_06
- X"00", X"00", X"18", X"3C", X"3C", X"18", X"00", X"00", -- D_07
- X"FF", X"FF", X"E7", X"C3", X"C3", X"E7", X"FF", X"FF", -- D_08
- X"00", X"3C", X"66", X"42", X"42", X"66", X"3C", X"00", -- D_09
- X"FF", X"C3", X"99", X"BD", X"BD", X"99", X"C3", X"FF", -- D_0A
- X"0F", X"07", X"0F", X"7D", X"CC", X"CC", X"CC", X"78", -- D_0B
- X"3C", X"66", X"66", X"66", X"3C", X"18", X"7E", X"18", -- D_0C
- X"3F", X"33", X"3F", X"30", X"30", X"70", X"F0", X"E0", -- D_0D
- X"7F", X"63", X"7F", X"63", X"63", X"67", X"E6", X"C0", -- D_0E
- X"99", X"5A", X"3C", X"E7", X"E7", X"3C", X"5A", X"99", -- D_0F
- X"80", X"ED", X"F8", X"FE", X"F8", X"E0", X"80", X"00", -- D_10
- X"02", X"0E", X"3E", X"FE", X"3E", X"0E", X"02", X"00", -- D_11
- X"18", X"3C", X"7E", X"18", X"18", X"7E", X"3C", X"18", -- D_12
- X"66", X"66", X"66", X"66", X"66", X"00", X"66", X"00", -- D_13
- X"7F", X"DB", X"DB", X"7B", X"1B", X"1B", X"1B", X"00", -- D_14
- X"3E", X"63", X"38", X"6C", X"6C", X"38", X"CC", X"78", -- D_15
- X"00", X"00", X"00", X"00", X"7E", X"7E", X"7E", X"00", -- D_16
- X"18", X"3C", X"7E", X"18", X"7E", X"3C", X"18", X"FF", -- D_17
- X"18", X"3C", X"7E", X"18", X"18", X"18", X"18", X"00", -- D_18
- X"18", X"18", X"18", X"18", X"7E", X"3C", X"18", X"00", -- D_19
- X"00", X"18", X"0C", X"FE", X"0C", X"18", X"00", X"00", -- D_1A
- X"00", X"3D", X"60", X"FE", X"6D", X"30", X"00", X"00", -- D_1B
- X"00", X"00", X"C0", X"C0", X"C0", X"FE", X"00", X"00", -- D_1C
- X"00", X"24", X"66", X"FF", X"66", X"24", X"00", X"00", -- D_1D
- X"00", X"18", X"3C", X"7E", X"FF", X"FF", X"00", X"00", -- D_1E
- X"00", X"FF", X"FF", X"7E", X"3C", X"18", X"00", X"00", -- D_1F
- X"00", X"00", X"00", X"00", X"00", X"00", X"00", X"00", -- D_20 ' '
- X"30", X"78", X"78", X"30", X"30", X"00", X"30", X"00", -- D_21 '!'
- X"6C", X"6C", X"6C", X"00", X"00", X"00", X"00", X"00", -- D_22 '"'
- X"6C", X"6C", X"FE", X"6C", X"FE", X"6C", X"6C", X"00", -- D_23 '#'
- X"30", X"7C", X"C0", X"78", X"0C", X"F8", X"30", X"00", -- D_24 '$'
- X"00", X"C6", X"CC", X"18", X"30", X"66", X"C6", X"00", -- D_25 '%'
- X"38", X"6C", X"38", X"76", X"DC", X"CC", X"76", X"00", -- D_26 '&'
- X"60", X"60", X"C0", X"00", X"00", X"00", X"00", X"00", -- D_27 '`'
- X"18", X"30", X"60", X"60", X"60", X"30", X"18", X"00", -- D_28 '('
- X"60", X"30", X"18", X"18", X"18", X"30", X"60", X"00", -- D_29 ')'
- X"00", X"66", X"3C", X"FF", X"3C", X"66", X"00", X"00", -- D_2A '#'
- X"00", X"30", X"30", X"FC", X"30", X"30", X"00", X"00", -- D_2B '+'
- X"00", X"00", X"00", X"00", X"00", X"30", X"30", X"60", -- D_2C ','
- X"00", X"00", X"00", X"FC", X"00", X"00", X"00", X"00", -- D_2D '-'
- X"00", X"00", X"00", X"00", X"00", X"30", X"30", X"00", -- D_2E '.'
- X"06", X"0C", X"18", X"30", X"60", X"C0", X"80", X"00", -- D_2F '/'
- X"7C", X"C6", X"CE", X"DE", X"F6", X"E6", X"7C", X"00", -- D_30 '0'
- X"30", X"70", X"30", X"30", X"30", X"30", X"FC", X"00", -- D_31 '1'
- X"78", X"CC", X"0C", X"38", X"60", X"CC", X"FC", X"00", -- D_32 '2'
- X"78", X"CC", X"0C", X"38", X"0C", X"CC", X"78", X"00", -- D_33 '3'
- X"1C", X"3C", X"6C", X"CC", X"FE", X"0C", X"1E", X"00", -- D_34 '4'
- X"FC", X"C0", X"F8", X"0C", X"0C", X"CC", X"78", X"00", -- D_35 '5'
- X"38", X"60", X"C0", X"F8", X"CC", X"CC", X"78", X"00", -- D_36 '6'
- X"FC", X"CC", X"0C", X"18", X"30", X"30", X"30", X"00", -- D_37 '7'
- X"78", X"CC", X"CC", X"78", X"CC", X"CC", X"78", X"00", -- D_38 '8'
- X"78", X"CC", X"CC", X"7C", X"0C", X"18", X"70", X"00", -- D_39 '9'
- X"00", X"30", X"30", X"00", X"00", X"30", X"30", X"00", -- D_3A ':'
- X"00", X"30", X"30", X"00", X"00", X"30", X"30", X"00", -- D_3B ';'
- X"18", X"30", X"60", X"C0", X"60", X"30", X"18", X"00", -- D_3C '<'
- X"00", X"00", X"FC", X"00", X"00", X"FC", X"00", X"00", -- D_3D '='
- X"60", X"30", X"18", X"0C", X"18", X"30", X"60", X"00", -- D_3E '>'
- X"78", X"CC", X"0C", X"18", X"30", X"00", X"30", X"00", -- D_3F '?'
- X"7C", X"C6", X"DE", X"DE", X"DE", X"C0", X"78", X"00", -- D_40 '@'
- X"30", X"78", X"CC", X"CC", X"FC", X"CC", X"CC", X"00", -- D_41 'A'
- X"FC", X"66", X"66", X"7C", X"66", X"66", X"FC", X"00", -- D_42 'B'
- X"3C", X"66", X"C0", X"C0", X"C0", X"66", X"3C", X"00", -- D_43 'C'
- X"F8", X"6C", X"66", X"66", X"66", X"6C", X"F8", X"00", -- D_44 'D'
- X"FE", X"62", X"68", X"78", X"68", X"62", X"FE", X"00", -- D_45 'E'
- X"FE", X"62", X"68", X"78", X"68", X"60", X"F0", X"00", -- D_46 'F'
- X"3C", X"66", X"C0", X"C0", X"CE", X"66", X"3E", X"00", -- D_47 'G'
- X"CC", X"CC", X"CC", X"FC", X"CC", X"CC", X"CC", X"00", -- D_48 'H'
- X"78", X"30", X"30", X"30", X"30", X"30", X"78", X"00", -- D_49 'I'
- X"1E", X"0C", X"0C", X"0C", X"CC", X"CC", X"78", X"00", -- D_4A 'J'
- X"E6", X"66", X"6C", X"78", X"6C", X"66", X"E6", X"00", -- D_4B 'K'
- X"F0", X"60", X"60", X"60", X"62", X"66", X"FE", X"00", -- D_4C 'L'
- X"C6", X"EE", X"FE", X"FE", X"D6", X"C6", X"C6", X"00", -- D_4D 'M'
- X"C6", X"E6", X"F6", X"DE", X"CE", X"C6", X"C6", X"00", -- D_4E 'N'
- X"38", X"6C", X"C6", X"C6", X"C6", X"6C", X"38", X"00", -- D_4F 'O'
- X"FC", X"66", X"66", X"7C", X"60", X"60", X"F0", X"00", -- D_50 'P'
- X"78", X"CC", X"CC", X"CC", X"DC", X"78", X"1C", X"00", -- D_51 'Q'
- X"FC", X"66", X"66", X"7C", X"6C", X"66", X"E6", X"0C", -- D_52 'R'
- X"78", X"CC", X"E0", X"70", X"1C", X"CC", X"78", X"00", -- D_53 'S'
- X"FC", X"B4", X"30", X"30", X"30", X"30", X"78", X"00", -- D_54 'T'
- X"CC", X"CC", X"CC", X"CC", X"CC", X"CC", X"FC", X"00", -- D_55 'U'
- X"CC", X"CC", X"CC", X"CC", X"CC", X"78", X"30", X"00", -- D_56 'V'
- X"C6", X"C6", X"C6", X"D6", X"FE", X"EE", X"C6", X"00", -- D_57 'W'
- X"C6", X"C6", X"6C", X"38", X"38", X"6C", X"C6", X"00", -- D_58 'X'
- X"CC", X"CC", X"CC", X"78", X"30", X"30", X"78", X"00", -- D_59 'Y'
- X"FE", X"C6", X"8C", X"88", X"32", X"66", X"FE", X"00", -- D_5A 'Z'
- X"78", X"60", X"60", X"60", X"60", X"60", X"78", X"00", -- D_5B '['
- X"C0", X"60", X"30", X"18", X"0C", X"06", X"02", X"00", -- D_5C ''
- X"78", X"18", X"18", X"18", X"18", X"18", X"78", X"00", -- D_5D ']'
- X"10", X"38", X"6C", X"C6", X"00", X"00", X"00", X"00", -- D_5E '^'
- X"00", X"00", X"00", X"00", X"00", X"00", X"00", X"FF", -- D_5F '_'
- X"30", X"30", X"18", X"00", X"00", X"00", X"00", X"00", -- D_60 '`'
- X"00", X"00", X"78", X"0C", X"7C", X"CC", X"76", X"00", -- D_61 'a'
- X"E0", X"60", X"60", X"7C", X"66", X"66", X"DC", X"00", -- D_62 'b'
- X"00", X"00", X"78", X"CC", X"C0", X"CC", X"78", X"00", -- D_63 'c'
- X"1C", X"0C", X"0C", X"7C", X"CC", X"CC", X"76", X"00", -- D_64 'd'
- X"00", X"00", X"78", X"CC", X"FC", X"C0", X"78", X"00", -- D_65 'e'
- X"38", X"6C", X"60", X"F0", X"60", X"60", X"F0", X"00", -- D_66 'f'
- X"00", X"00", X"76", X"CC", X"CC", X"7C", X"0C", X"F8", -- D_67 'g'
- X"E0", X"60", X"6C", X"76", X"66", X"66", X"E6", X"00", -- D_68 'h'
- X"30", X"00", X"70", X"30", X"30", X"30", X"78", X"00", -- D_69 'i'
- X"0C", X"00", X"0C", X"0C", X"0C", X"CC", X"CC", X"78", -- D_6A 'j'
- X"E0", X"60", X"66", X"6C", X"78", X"6C", X"E6", X"00", -- D_6B 'k'
- X"70", X"30", X"30", X"30", X"30", X"30", X"78", X"00", -- D_6C 'l'
- X"00", X"00", X"CC", X"FE", X"FE", X"D6", X"C6", X"00", -- D_6D 'm'
- X"00", X"00", X"F8", X"CC", X"CC", X"CC", X"CC", X"00", -- D_6E 'n'
- X"00", X"00", X"78", X"CC", X"CC", X"CC", X"78", X"00", -- D_6F 'o'
- X"00", X"00", X"DC", X"66", X"66", X"7C", X"60", X"F0", -- D_70 'p'
- X"00", X"00", X"76", X"CC", X"CC", X"7C", X"0C", X"1E", -- D_71 'q'
- X"00", X"00", X"DC", X"76", X"66", X"60", X"F0", X"00", -- D_72 'r'
- X"00", X"00", X"7C", X"C0", X"78", X"0C", X"F8", X"00", -- D_73 's'
- X"10", X"30", X"7C", X"30", X"30", X"34", X"18", X"00", -- D_74 't'
- X"00", X"00", X"CC", X"CC", X"CC", X"CC", X"76", X"00", -- D_75 'u'
- X"00", X"00", X"CC", X"CC", X"CC", X"78", X"30", X"00", -- D_76 'v'
- X"00", X"00", X"C6", X"D6", X"FE", X"FE", X"6C", X"00", -- D_77 'w'
- X"00", X"00", X"C6", X"6C", X"38", X"6C", X"C6", X"00", -- D_78 'x'
- X"00", X"00", X"CC", X"CC", X"CC", X"7C", X"0C", X"F8", -- D_79 'y'
- X"00", X"00", X"FC", X"98", X"30", X"64", X"FC", X"00", -- D_7A 'z'
- X"1C", X"30", X"30", X"E0", X"30", X"30", X"1C", X"00", -- D_7B '{'
- X"18", X"18", X"18", X"00", X"18", X"18", X"18", X"00", -- D_7C '|'
- X"E0", X"30", X"30", X"1C", X"30", X"30", X"E0", X"00", -- D_7D '}'
- X"76", X"DC", X"00", X"00", X"00", X"00", X"00", X"00", -- D_7E '~'
- X"00", X"10", X"38", X"6C", X"C6", X"C6", X"FE", X"00" -- D_7F delta
- );
- begin
- FONT_CODE <= CONV_STD_LOGIC_VECTOR(FONT_TAB(CONV_INTEGER(SCAN_ADDR(10 downto 0))),8);
- end BEHAVIORAL;