-- Purpose: This package defines an alphabet of -- digits from 0 to 9 and letters from A to Z. -- Each character is encoded by a 16x16 matrix. -- Totally 10 digits + 26 letters + 1 space = 37 characters are defined. library IEEE; use IEEE.STD_LOGIC_1164.all; package Alphabet is type ROM is array (0 to 90, 0 to 15) of std_logic_vector(0 to 15); -- Declare constants constant alph_rom : ROM := ( 48 => ( "0111111111100000", --0 "1111111111110000", "1100000000110000", "1100000000110000", "1110000001110000", "1100000000110000", "1100000000110000", "1100000000110000", "1100000000110000", "1100000000110000", "1111111111110000", "0111111111100000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 49 => ( "0000000000110000", --1 "0000000011110000", "0000001111110000", "0000111111111000", "0011111101110000", "0000010001110000", "0000000001110000", "0000000001110000", "0000000001110000", "0000000001110000", "0000000001110000", "0000000001110000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 50 => ( "0111111111100000", --2 "1111111111110000", "1100000000110000", "0000000000111000", "0000000000110000", "0111111111100000", "1111111111100000", "1110000000000000", "1100000000000000", "1110000000000000", "1111111111100000", "1111111111111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 51 => ( "0111111111110000", --3 "1111111111110000", "1100000011111000", "0000000001111000", "0000000011110000", "1111111111110000", "1111111111110000", "0000000011111000", "0000000001111000", "1100000011110000", "1111111111110000", "0111111111110000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 52 => ( "1110000000111000", --4 "1110000000111000", "1110000000111000", "1110000000111000", "1110000000111000", "1111111111111000", "1111111111111000", "0000000000111000", "0000000000111000", "0000000000111000", "0000000000111000", "0000000000111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 53 => ( "1111111111111000", --5 "1111111111111000", "1110000000000000", "1110000000000000", "1110000000000000", "1111111111111000", "1111111111111000", "0000000000111000", "0000000000111000", "0000000000111000", "1111111111111000", "1111111111111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 54 => ( "1111111111111000", --6 "1111111111111000", "1110000000000000", "1110000000000000", "1110000000000000", "1111111111111000", "1111111111111000", "1110000000111000", "1110000000111000", "1110000000111000", "1111111111111000", "1111111111111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 55 => ( "1111111111110000", --7 "1111111111110000", "0000000000110000", "0000000001100000", "0000000011000000", "0000000110000000", "0000001100000000", "0000001100000000", "0000001100000000", "0000001100000000", "0000001100000000", "0000001100000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 56 => ( "0111111111110000", --8 "1111111111111000", "1110000000111000", "1110000000111000", "1110000000111000", "1111111111111000", "1111111111111000", "1110000000111000", "1110000000111000", "1110000000111000", "1111111111111000", "0111111111110000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 57 => ( "1111111111111000", --9 "1111111111111000", "1110000000111000", "1110000000111000", "1110000000111000", "1111111111111000", "1111111111111000", "0000000000111000", "0000000000111000", "0000000000111000", "1111111111111000", "1111111111111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 65 => ( "0000011000000000", --A "0000111100000000", "0001111110000000", "0011100111000000", "0011100111000000", "0011100111000000", "0011100111000000", "0111111111100000", "0111111111100000", "0111000001110000", "1110000000111000", "1110000000111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 66 => ( "1111111110000000", --B "1110000011100000", "1110000000111000", "1110000000111000", "1110000001110000", "1111111110000000", "1111111110000000", "1110000001110000", "1110000000111000", "1110000000111000", "1110000011100000", "1111111111000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 67 => ( "1111111111100000", --C "1111111111111000", "1111000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "1111000000000000", "1111111111111000", "1111111111100000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 68 => ( "1111110000000000", --D "1111111110000000", "1110000111000000", "1110000011100000", "1110000001110000", "1110000000111000", "1110000001110000", "1110000011100000", "1110000011100000", "1110000111000000", "1111111110000000", "1111110000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 69 => ( "1111111111100000", --E "1111111111111000", "1110000000000000", "1110000000000000", "1110000000000000", "1111111100000000", "1111111100000000", "1110000000000000", "1110000000000000", "1110000000000000", "1111111111111000", "1111111111100000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 70 => ( "1111111111100000", --F "1111111111111000", "1110000000000000", "1110000000000000", "1110000000000000", "1111111100000000", "1111111100000000", "1110000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 71 => ( "1111111111100000", --G "1111111111111000", "1111000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "1110000111110000", "1110000011100000", "1110000001110000", "1111000000111000", "1111111111111000", "1111111111100000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 72 => ( "1110000000111000", --H "1110000000111000", "1110000000111000", "1110000000111000", "1110000000111000", "1111111111111000", "1111111111111000", "1110000000111000", "1110000000111000", "1110000000111000", "1110000000111000", "1110000000111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 73 => ( "0011111111100000", --I "0000111110000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000111110000000", "0011111111100000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 74 => ( "0000111111111000", --J "0000001111100000", "0000000111000000", "0000000111000000", "0000000111000000", "0000000111000000", "0000000111000000", "0000000111000000", "1111000111000000", "0111000111000000", "0111111111000000", "0011111110000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 75 => ( "1110000000111000", --K "1110000001110000", "1110001110000000", "1110011100000000", "1110111000000000", "1111000000000000", "1110111000000000", "1110001110000000", "1110000011100000", "1110000001110000", "1110000000111000", "1110000000111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 76 => ( "1110000000000000", --L "1110000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "1110000000011000", "1111111111111000", "1111111111111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 77 => ( "1110000000111000", --M "1111000001111000", "1111000001111000", "1111100011111000", "1110111110111000", "1110011100111000", "1110011100111000", "1110001000111000", "1110000000111000", "1110000000111000", "1110000000111000", "1110000000111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 78 => ( "1111000000111000", --N "1111100000111000", "1111110000111000", "1110111000111000", "1110011100111000", "1110011100111000", "1110001110111000", "1110001110111000", "1110000111111000", "1110000011111000", "1110000001111000", "1110000000111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 79 => ( "0000111100000000", --O "0001111110000000", "0111000011100000", "1110000000111000", "1110000000111000", "1110000000111000", "1110000000111000", "1110000000111000", "1110000000111000", "0111000011100000", "0001111110000000", "0000111100000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 80 => ( "1111111111000000", --P "1111111111100000", "1110000000111000", "1110000000111000", "1110000000111000", "1110000001110000", "1111111111000000", "1111111110000000", "1110000000000000", "1110000000000000", "1110000000000000", "1110000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 81 => ( "0000111100000000", --Q "0001111110000000", "0111000011100000", "1110000000111000", "1110000000111000", "1110000000111000", "1110000000111000", "1110000000111000", "1110001110111000", "0111000111100000", "0001111110111000", "0000111100011000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 82 => ( "1111111111000000", --R "1111111111100000", "1110000000111000", "1110000000111000", "1110000000111000", "1110000001110000", "1111111111000000", "1111111110000000", "1110111100000000", "1110011110000000", "1110000111100000", "1110000001111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 83 => ( "0000111111110000", --S "0111111111111000", "1111000000011000", "1110000000000000", "0011110000000000", "0000111100000000", "0000000111111000", "0000000011111000", "0000000000111000", "1100000000111000", "1110000111100000", "0111111111100000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 84 => ( "1111111111111000", --T "1111111111111000", "1000111110001000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000111110000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 85 => ( "1111000001111000", --U "1110000000111000", "1110000000111000", "1110000000111000", "1110000000111000", "1110000000111000", "0111000001110000", "0111000001110000", "0111000001110000", "0111000001110000", "0111111111110000", "0111111111110000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 86 => ( "1110000000111000", --V "1110000000111000", "1110000000111000", "0111000001110000", "0111000001110000", "0011100011100000", "0011100011100000", "0001110111000000", "0001110111000000", "0001110111000000", "0000111110000000", "0000011100000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 87 => ( "1110000000111000", --W "1110000000111000", "1110000000111000", "1110000000111000", "1110001000111000", "1110011100111000", "1110011100111000", "1110110110111000", "1111100011111000", "1111000001111000", "1111000001111000", "1110000000111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 88 => ( "1110000000111000", --X "0111000001110000", "0011100011100000", "0001110111000000", "0000111110000000", "0000011100000000", "0000001110000000", "0000111110000000", "0001110111000000", "0011100011100000", "0111000001110000", "1110000000111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 89 => ( "1110000000111000", --Y "0111000001110000", "0111000001110000", "0011100011100000", "0001110111000000", "0000111110000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000011100000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 90 => ( "1111111111111000", --Z "1111111111111000", "1000000000111000", "0000000001110000", "0000000111000000", "0000001110000000", "0000111000000000", "0001110000000000", "0111000000000000", "1110000000001000", "1111111111111000", "1111111111111000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), 32 => ( "0000000000000000", --space "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"), others => (others => (others => '0')) ); end Alphabet; package body Alphabet is end Alphabet;