www.pudn.com > codeofvhdl2006.rar > HEX_FONT.VHD


 
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	UNSIGNED (10 downto 0); -- 256 Chars.... 
		FONT_CODE : Out	STD_LOGIC_VECTOR (7 downto 0) 
		); 
end CHAR_FONT; 
 
-- 
-- This character font rom only supports 16 hex numbers 
-- 
architecture BEHAVIORAL of CHAR_FONT is 
constant FONT_TAB: ROM_TYPE(0 to 127) := 
(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"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' 
); 
 
 
begin 
 
	FONT_CODE <= CONV_STD_LOGIC_VECTOR(FONT_TAB(CONV_INTEGER(SCAN_ADDR(6 downto 0))),8); 
 
 
 
end BEHAVIORAL;