179 lines
11 KiB
VHDL
179 lines
11 KiB
VHDL
----------------------------------------------------------------------------------
|
|
-- Company:
|
|
-- Engineer:
|
|
--
|
|
-- Create Date: 28.06.2021 09:20:00
|
|
-- Design Name:
|
|
-- Module Name: TableASCII - Behavioral
|
|
-- Project Name:
|
|
-- Target Devices:
|
|
-- Tool Versions:
|
|
-- Description:
|
|
--
|
|
-- Dependencies:
|
|
--
|
|
-- Revision:
|
|
-- Revision 0.01 - File Created
|
|
-- Additional Comments:
|
|
--
|
|
----------------------------------------------------------------------------------
|
|
|
|
|
|
library IEEE;
|
|
use IEEE.STD_LOGIC_1164.ALL;
|
|
|
|
Library UNISIM;
|
|
use UNISIM.vcomponents.all;
|
|
|
|
Library UNIMACRO;
|
|
use UNIMACRO.vcomponents.all;
|
|
|
|
use work.font.all;
|
|
|
|
|
|
|
|
entity TableASCII is
|
|
Port ( CodeASCII : Natural;
|
|
Font : out font_T);
|
|
end TableASCII;
|
|
|
|
architecture Behavioral of TableASCII is
|
|
|
|
type FontMemory_T is array (0 to 127) of font_T;
|
|
|
|
signal FontMemory : FontMemory_T := (
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0000 (nul)
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0001
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0002
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0003
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0004
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0005
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0006
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0007
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0008
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0009
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+000A
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+000B
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+000C
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+000D
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+000E
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+000F
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0010
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0011
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0012
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0013
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0014
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0015
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0016
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0017
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0018
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0019
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+001A
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+001B
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+001C
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+001D
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+001E
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+001F
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0020 (space)
|
|
( x"18", x"3C", x"3C", x"18", x"18", x"00", x"18", x"00"), -- U+0021 (!)
|
|
( x"36", x"36", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0022 (")
|
|
( x"36", x"36", x"7F", x"36", x"7F", x"36", x"36", x"00"), -- U+0023 (#)
|
|
( x"0C", x"3E", x"03", x"1E", x"30", x"1F", x"0C", x"00"), -- U+0024 ($)
|
|
( x"00", x"63", x"33", x"18", x"0C", x"66", x"63", x"00"), -- U+0025 (%)
|
|
( x"1C", x"36", x"1C", x"6E", x"3B", x"33", x"6E", x"00"), -- U+0026 (&)
|
|
( x"06", x"06", x"03", x"00", x"00", x"00", x"00", x"00"), -- U+0027 (')
|
|
( x"18", x"0C", x"06", x"06", x"06", x"0C", x"18", x"00"), -- U+0028 (()
|
|
( x"06", x"0C", x"18", x"18", x"18", x"0C", x"06", x"00"), -- U+0029 ())
|
|
( x"00", x"66", x"3C", x"FF", x"3C", x"66", x"00", x"00"), -- U+002A (*)
|
|
( x"00", x"0C", x"0C", x"3F", x"0C", x"0C", x"00", x"00"), -- U+002B (+)
|
|
( x"00", x"00", x"00", x"00", x"00", x"0C", x"0C", x"06"), -- U+002C (,)
|
|
( x"00", x"00", x"00", x"3F", x"00", x"00", x"00", x"00"), -- U+002D (-)
|
|
( x"00", x"00", x"00", x"00", x"00", x"0C", x"0C", x"00"), -- U+002E (.)
|
|
( x"60", x"30", x"18", x"0C", x"06", x"03", x"01", x"00"), -- U+002F (/)
|
|
( x"3E", x"63", x"73", x"7B", x"6F", x"67", x"3E", x"00"), -- U+0030 (0)
|
|
( x"0C", x"0E", x"0C", x"0C", x"0C", x"0C", x"3F", x"00"), -- U+0031 (1)
|
|
( x"1E", x"33", x"30", x"1C", x"06", x"33", x"3F", x"00"), -- U+0032 (2)
|
|
( x"1E", x"33", x"30", x"1C", x"30", x"33", x"1E", x"00"), -- U+0033 (3)
|
|
( x"38", x"3C", x"36", x"33", x"7F", x"30", x"78", x"00"), -- U+0034 (4)
|
|
( x"3F", x"03", x"1F", x"30", x"30", x"33", x"1E", x"00"), -- U+0035 (5)
|
|
( x"1C", x"06", x"03", x"1F", x"33", x"33", x"1E", x"00"), -- U+0036 (6)
|
|
( x"3F", x"33", x"30", x"18", x"0C", x"0C", x"0C", x"00"), -- U+0037 (7)
|
|
( x"1E", x"33", x"33", x"1E", x"33", x"33", x"1E", x"00"), -- U+0038 (8)
|
|
( x"1E", x"33", x"33", x"3E", x"30", x"18", x"0E", x"00"), -- U+0039 (9)
|
|
( x"00", x"0C", x"0C", x"00", x"00", x"0C", x"0C", x"00"), -- U+003A (:)
|
|
( x"00", x"0C", x"0C", x"00", x"00", x"0C", x"0C", x"06"), -- U+003B (--)
|
|
( x"18", x"0C", x"06", x"03", x"06", x"0C", x"18", x"00"), -- U+003C (<)
|
|
( x"00", x"00", x"3F", x"00", x"00", x"3F", x"00", x"00"), -- U+003D (=)
|
|
( x"06", x"0C", x"18", x"30", x"18", x"0C", x"06", x"00"), -- U+003E (>)
|
|
( x"1E", x"33", x"30", x"18", x"0C", x"00", x"0C", x"00"), -- U+003F (?)
|
|
( x"3E", x"63", x"7B", x"7B", x"7B", x"03", x"1E", x"00"), -- U+0040 (@)
|
|
( x"0C", x"1E", x"33", x"33", x"3F", x"33", x"33", x"00"), -- U+0041 (A)
|
|
( x"3F", x"66", x"66", x"3E", x"66", x"66", x"3F", x"00"), -- U+0042 (B)
|
|
( x"3C", x"66", x"03", x"03", x"03", x"66", x"3C", x"00"), -- U+0043 (C)
|
|
( x"1F", x"36", x"66", x"66", x"66", x"36", x"1F", x"00"), -- U+0044 (D)
|
|
( x"7F", x"46", x"16", x"1E", x"16", x"46", x"7F", x"00"), -- U+0045 (E)
|
|
( x"7F", x"46", x"16", x"1E", x"16", x"06", x"0F", x"00"), -- U+0046 (F)
|
|
( x"3C", x"66", x"03", x"03", x"73", x"66", x"7C", x"00"), -- U+0047 (G)
|
|
( x"33", x"33", x"33", x"3F", x"33", x"33", x"33", x"00"), -- U+0048 (H)
|
|
( x"1E", x"0C", x"0C", x"0C", x"0C", x"0C", x"1E", x"00"), -- U+0049 (I)
|
|
( x"78", x"30", x"30", x"30", x"33", x"33", x"1E", x"00"), -- U+004A (J)
|
|
( x"67", x"66", x"36", x"1E", x"36", x"66", x"67", x"00"), -- U+004B (K)
|
|
( x"0F", x"06", x"06", x"06", x"46", x"66", x"7F", x"00"), -- U+004C (L)
|
|
( x"63", x"77", x"7F", x"7F", x"6B", x"63", x"63", x"00"), -- U+004D (M)
|
|
( x"63", x"67", x"6F", x"7B", x"73", x"63", x"63", x"00"), -- U+004E (N)
|
|
( x"1C", x"36", x"63", x"63", x"63", x"36", x"1C", x"00"), -- U+004F (O)
|
|
( x"3F", x"66", x"66", x"3E", x"06", x"06", x"0F", x"00"), -- U+0050 (P)
|
|
( x"1E", x"33", x"33", x"33", x"3B", x"1E", x"38", x"00"), -- U+0051 (Q)
|
|
( x"3F", x"66", x"66", x"3E", x"36", x"66", x"67", x"00"), -- U+0052 (R)
|
|
( x"1E", x"33", x"07", x"0E", x"38", x"33", x"1E", x"00"), -- U+0053 (S)
|
|
( x"3F", x"2D", x"0C", x"0C", x"0C", x"0C", x"1E", x"00"), -- U+0054 (T)
|
|
( x"33", x"33", x"33", x"33", x"33", x"33", x"3F", x"00"), -- U+0055 (U)
|
|
( x"33", x"33", x"33", x"33", x"33", x"1E", x"0C", x"00"), -- U+0056 (V)
|
|
( x"63", x"63", x"63", x"6B", x"7F", x"77", x"63", x"00"), -- U+0057 (W)
|
|
( x"63", x"63", x"36", x"1C", x"1C", x"36", x"63", x"00"), -- U+0058 (X)
|
|
( x"33", x"33", x"33", x"1E", x"0C", x"0C", x"1E", x"00"), -- U+0059 (Y)
|
|
( x"7F", x"63", x"31", x"18", x"4C", x"66", x"7F", x"00"), -- U+005A (Z)
|
|
( x"1E", x"06", x"06", x"06", x"06", x"06", x"1E", x"00"), -- U+005B ([)
|
|
( x"03", x"06", x"0C", x"18", x"30", x"60", x"40", x"00"), -- U+005C (\)
|
|
( x"1E", x"18", x"18", x"18", x"18", x"18", x"1E", x"00"), -- U+005D (])
|
|
( x"08", x"1C", x"36", x"63", x"00", x"00", x"00", x"00"), -- U+005E (^)
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"FF"), -- U+005F (_)
|
|
( x"0C", x"0C", x"18", x"00", x"00", x"00", x"00", x"00"), -- U+0060 (`)
|
|
( x"00", x"00", x"1E", x"30", x"3E", x"33", x"6E", x"00"), -- U+0061 (a)
|
|
( x"07", x"06", x"06", x"3E", x"66", x"66", x"3B", x"00"), -- U+0062 (b)
|
|
( x"00", x"00", x"1E", x"33", x"03", x"33", x"1E", x"00"), -- U+0063 (c)
|
|
( x"38", x"30", x"30", x"3e", x"33", x"33", x"6E", x"00"), -- U+0064 (d)
|
|
( x"00", x"00", x"1E", x"33", x"3f", x"03", x"1E", x"00"), -- U+0065 (e)
|
|
( x"1C", x"36", x"06", x"0f", x"06", x"06", x"0F", x"00"), -- U+0066 (f)
|
|
( x"00", x"00", x"6E", x"33", x"33", x"3E", x"30", x"1F"), -- U+0067 (g)
|
|
( x"07", x"06", x"36", x"6E", x"66", x"66", x"67", x"00"), -- U+0068 (h)
|
|
( x"0C", x"00", x"0E", x"0C", x"0C", x"0C", x"1E", x"00"), -- U+0069 (i)
|
|
( x"30", x"00", x"30", x"30", x"30", x"33", x"33", x"1E"), -- U+006A (j)
|
|
( x"07", x"06", x"66", x"36", x"1E", x"36", x"67", x"00"), -- U+006B (k)
|
|
( x"0E", x"0C", x"0C", x"0C", x"0C", x"0C", x"1E", x"00"), -- U+006C (l)
|
|
( x"00", x"00", x"33", x"7F", x"7F", x"6B", x"63", x"00"), -- U+006D (m)
|
|
( x"00", x"00", x"1F", x"33", x"33", x"33", x"33", x"00"), -- U+006E (n)
|
|
( x"00", x"00", x"1E", x"33", x"33", x"33", x"1E", x"00"), -- U+006F (o)
|
|
( x"00", x"00", x"3B", x"66", x"66", x"3E", x"06", x"0F"), -- U+0070 (p)
|
|
( x"00", x"00", x"6E", x"33", x"33", x"3E", x"30", x"78"), -- U+0071 (q)
|
|
( x"00", x"00", x"3B", x"6E", x"66", x"06", x"0F", x"00"), -- U+0072 (r)
|
|
( x"00", x"00", x"3E", x"03", x"1E", x"30", x"1F", x"00"), -- U+0073 (s)
|
|
( x"08", x"0C", x"3E", x"0C", x"0C", x"2C", x"18", x"00"), -- U+0074 (t)
|
|
( x"00", x"00", x"33", x"33", x"33", x"33", x"6E", x"00"), -- U+0075 (u)
|
|
( x"00", x"00", x"33", x"33", x"33", x"1E", x"0C", x"00"), -- U+0076 (v)
|
|
( x"00", x"00", x"63", x"6B", x"7F", x"7F", x"36", x"00"), -- U+0077 (w)
|
|
( x"00", x"00", x"63", x"36", x"1C", x"36", x"63", x"00"), -- U+0078 (x)
|
|
( x"00", x"00", x"33", x"33", x"33", x"3E", x"30", x"1F"), -- U+0079 (y)
|
|
( x"00", x"00", x"3F", x"19", x"0C", x"26", x"3F", x"00"), -- U+007A (z)
|
|
( x"38", x"0C", x"0C", x"07", x"0C", x"0C", x"38", x"00"), -- U+007B (()
|
|
( x"18", x"18", x"18", x"00", x"18", x"18", x"18", x"00"), -- U+007C (|)
|
|
( x"07", x"0C", x"0C", x"38", x"0C", x"0C", x"07", x"00"), -- U+007D ())
|
|
( x"6E", x"3B", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+007E (~)
|
|
( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00") -- U+007F
|
|
);
|
|
|
|
begin
|
|
|
|
Font <= FontMemory(CodeASCII);
|
|
|
|
end Behavioral;
|