No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TableASCII.vhd 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. ----------------------------------------------------------------------------------
  2. -- Company:
  3. -- Engineer:
  4. --
  5. -- Create Date: 28.06.2021 09:20:00
  6. -- Design Name:
  7. -- Module Name: TableASCII - Behavioral
  8. -- Project Name:
  9. -- Target Devices:
  10. -- Tool Versions:
  11. -- Description:
  12. --
  13. -- Dependencies:
  14. --
  15. -- Revision:
  16. -- Revision 0.01 - File Created
  17. -- Additional Comments:
  18. --
  19. ----------------------------------------------------------------------------------
  20. library IEEE;
  21. use IEEE.STD_LOGIC_1164.ALL;
  22. Library UNISIM;
  23. use UNISIM.vcomponents.all;
  24. Library UNIMACRO;
  25. use UNIMACRO.vcomponents.all;
  26. use work.font.all;
  27. entity TableASCII is
  28. Port ( CodeASCII : Natural;
  29. Font : out font_T);
  30. end TableASCII;
  31. architecture Behavioral of TableASCII is
  32. type FontMemory_T is array (0 to 127) of font_T;
  33. signal FontMemory : FontMemory_T := (
  34. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0000 (nul)
  35. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0001
  36. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0002
  37. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0003
  38. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0004
  39. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0005
  40. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0006
  41. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0007
  42. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0008
  43. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0009
  44. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+000A
  45. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+000B
  46. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+000C
  47. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+000D
  48. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+000E
  49. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+000F
  50. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0010
  51. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0011
  52. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0012
  53. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0013
  54. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0014
  55. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0015
  56. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0016
  57. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0017
  58. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0018
  59. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0019
  60. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+001A
  61. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+001B
  62. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+001C
  63. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+001D
  64. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+001E
  65. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+001F
  66. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0020 (space)
  67. ( x"18", x"3C", x"3C", x"18", x"18", x"00", x"18", x"00"), -- U+0021 (!)
  68. ( x"36", x"36", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+0022 (")
  69. ( x"36", x"36", x"7F", x"36", x"7F", x"36", x"36", x"00"), -- U+0023 (#)
  70. ( x"0C", x"3E", x"03", x"1E", x"30", x"1F", x"0C", x"00"), -- U+0024 ($)
  71. ( x"00", x"63", x"33", x"18", x"0C", x"66", x"63", x"00"), -- U+0025 (%)
  72. ( x"1C", x"36", x"1C", x"6E", x"3B", x"33", x"6E", x"00"), -- U+0026 (&)
  73. ( x"06", x"06", x"03", x"00", x"00", x"00", x"00", x"00"), -- U+0027 (')
  74. ( x"18", x"0C", x"06", x"06", x"06", x"0C", x"18", x"00"), -- U+0028 (()
  75. ( x"06", x"0C", x"18", x"18", x"18", x"0C", x"06", x"00"), -- U+0029 ())
  76. ( x"00", x"66", x"3C", x"FF", x"3C", x"66", x"00", x"00"), -- U+002A (*)
  77. ( x"00", x"0C", x"0C", x"3F", x"0C", x"0C", x"00", x"00"), -- U+002B (+)
  78. ( x"00", x"00", x"00", x"00", x"00", x"0C", x"0C", x"06"), -- U+002C (,)
  79. ( x"00", x"00", x"00", x"3F", x"00", x"00", x"00", x"00"), -- U+002D (-)
  80. ( x"00", x"00", x"00", x"00", x"00", x"0C", x"0C", x"00"), -- U+002E (.)
  81. ( x"60", x"30", x"18", x"0C", x"06", x"03", x"01", x"00"), -- U+002F (/)
  82. ( x"3E", x"63", x"73", x"7B", x"6F", x"67", x"3E", x"00"), -- U+0030 (0)
  83. ( x"0C", x"0E", x"0C", x"0C", x"0C", x"0C", x"3F", x"00"), -- U+0031 (1)
  84. ( x"1E", x"33", x"30", x"1C", x"06", x"33", x"3F", x"00"), -- U+0032 (2)
  85. ( x"1E", x"33", x"30", x"1C", x"30", x"33", x"1E", x"00"), -- U+0033 (3)
  86. ( x"38", x"3C", x"36", x"33", x"7F", x"30", x"78", x"00"), -- U+0034 (4)
  87. ( x"3F", x"03", x"1F", x"30", x"30", x"33", x"1E", x"00"), -- U+0035 (5)
  88. ( x"1C", x"06", x"03", x"1F", x"33", x"33", x"1E", x"00"), -- U+0036 (6)
  89. ( x"3F", x"33", x"30", x"18", x"0C", x"0C", x"0C", x"00"), -- U+0037 (7)
  90. ( x"1E", x"33", x"33", x"1E", x"33", x"33", x"1E", x"00"), -- U+0038 (8)
  91. ( x"1E", x"33", x"33", x"3E", x"30", x"18", x"0E", x"00"), -- U+0039 (9)
  92. ( x"00", x"0C", x"0C", x"00", x"00", x"0C", x"0C", x"00"), -- U+003A (:)
  93. ( x"00", x"0C", x"0C", x"00", x"00", x"0C", x"0C", x"06"), -- U+003B (--)
  94. ( x"18", x"0C", x"06", x"03", x"06", x"0C", x"18", x"00"), -- U+003C (<)
  95. ( x"00", x"00", x"3F", x"00", x"00", x"3F", x"00", x"00"), -- U+003D (=)
  96. ( x"06", x"0C", x"18", x"30", x"18", x"0C", x"06", x"00"), -- U+003E (>)
  97. ( x"1E", x"33", x"30", x"18", x"0C", x"00", x"0C", x"00"), -- U+003F (?)
  98. ( x"3E", x"63", x"7B", x"7B", x"7B", x"03", x"1E", x"00"), -- U+0040 (@)
  99. ( x"0C", x"1E", x"33", x"33", x"3F", x"33", x"33", x"00"), -- U+0041 (A)
  100. ( x"3F", x"66", x"66", x"3E", x"66", x"66", x"3F", x"00"), -- U+0042 (B)
  101. ( x"3C", x"66", x"03", x"03", x"03", x"66", x"3C", x"00"), -- U+0043 (C)
  102. ( x"1F", x"36", x"66", x"66", x"66", x"36", x"1F", x"00"), -- U+0044 (D)
  103. ( x"7F", x"46", x"16", x"1E", x"16", x"46", x"7F", x"00"), -- U+0045 (E)
  104. ( x"7F", x"46", x"16", x"1E", x"16", x"06", x"0F", x"00"), -- U+0046 (F)
  105. ( x"3C", x"66", x"03", x"03", x"73", x"66", x"7C", x"00"), -- U+0047 (G)
  106. ( x"33", x"33", x"33", x"3F", x"33", x"33", x"33", x"00"), -- U+0048 (H)
  107. ( x"1E", x"0C", x"0C", x"0C", x"0C", x"0C", x"1E", x"00"), -- U+0049 (I)
  108. ( x"78", x"30", x"30", x"30", x"33", x"33", x"1E", x"00"), -- U+004A (J)
  109. ( x"67", x"66", x"36", x"1E", x"36", x"66", x"67", x"00"), -- U+004B (K)
  110. ( x"0F", x"06", x"06", x"06", x"46", x"66", x"7F", x"00"), -- U+004C (L)
  111. ( x"63", x"77", x"7F", x"7F", x"6B", x"63", x"63", x"00"), -- U+004D (M)
  112. ( x"63", x"67", x"6F", x"7B", x"73", x"63", x"63", x"00"), -- U+004E (N)
  113. ( x"1C", x"36", x"63", x"63", x"63", x"36", x"1C", x"00"), -- U+004F (O)
  114. ( x"3F", x"66", x"66", x"3E", x"06", x"06", x"0F", x"00"), -- U+0050 (P)
  115. ( x"1E", x"33", x"33", x"33", x"3B", x"1E", x"38", x"00"), -- U+0051 (Q)
  116. ( x"3F", x"66", x"66", x"3E", x"36", x"66", x"67", x"00"), -- U+0052 (R)
  117. ( x"1E", x"33", x"07", x"0E", x"38", x"33", x"1E", x"00"), -- U+0053 (S)
  118. ( x"3F", x"2D", x"0C", x"0C", x"0C", x"0C", x"1E", x"00"), -- U+0054 (T)
  119. ( x"33", x"33", x"33", x"33", x"33", x"33", x"3F", x"00"), -- U+0055 (U)
  120. ( x"33", x"33", x"33", x"33", x"33", x"1E", x"0C", x"00"), -- U+0056 (V)
  121. ( x"63", x"63", x"63", x"6B", x"7F", x"77", x"63", x"00"), -- U+0057 (W)
  122. ( x"63", x"63", x"36", x"1C", x"1C", x"36", x"63", x"00"), -- U+0058 (X)
  123. ( x"33", x"33", x"33", x"1E", x"0C", x"0C", x"1E", x"00"), -- U+0059 (Y)
  124. ( x"7F", x"63", x"31", x"18", x"4C", x"66", x"7F", x"00"), -- U+005A (Z)
  125. ( x"1E", x"06", x"06", x"06", x"06", x"06", x"1E", x"00"), -- U+005B ([)
  126. ( x"03", x"06", x"0C", x"18", x"30", x"60", x"40", x"00"), -- U+005C (\)
  127. ( x"1E", x"18", x"18", x"18", x"18", x"18", x"1E", x"00"), -- U+005D (])
  128. ( x"08", x"1C", x"36", x"63", x"00", x"00", x"00", x"00"), -- U+005E (^)
  129. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"FF"), -- U+005F (_)
  130. ( x"0C", x"0C", x"18", x"00", x"00", x"00", x"00", x"00"), -- U+0060 (`)
  131. ( x"00", x"00", x"1E", x"30", x"3E", x"33", x"6E", x"00"), -- U+0061 (a)
  132. ( x"07", x"06", x"06", x"3E", x"66", x"66", x"3B", x"00"), -- U+0062 (b)
  133. ( x"00", x"00", x"1E", x"33", x"03", x"33", x"1E", x"00"), -- U+0063 (c)
  134. ( x"38", x"30", x"30", x"3e", x"33", x"33", x"6E", x"00"), -- U+0064 (d)
  135. ( x"00", x"00", x"1E", x"33", x"3f", x"03", x"1E", x"00"), -- U+0065 (e)
  136. ( x"1C", x"36", x"06", x"0f", x"06", x"06", x"0F", x"00"), -- U+0066 (f)
  137. ( x"00", x"00", x"6E", x"33", x"33", x"3E", x"30", x"1F"), -- U+0067 (g)
  138. ( x"07", x"06", x"36", x"6E", x"66", x"66", x"67", x"00"), -- U+0068 (h)
  139. ( x"0C", x"00", x"0E", x"0C", x"0C", x"0C", x"1E", x"00"), -- U+0069 (i)
  140. ( x"30", x"00", x"30", x"30", x"30", x"33", x"33", x"1E"), -- U+006A (j)
  141. ( x"07", x"06", x"66", x"36", x"1E", x"36", x"67", x"00"), -- U+006B (k)
  142. ( x"0E", x"0C", x"0C", x"0C", x"0C", x"0C", x"1E", x"00"), -- U+006C (l)
  143. ( x"00", x"00", x"33", x"7F", x"7F", x"6B", x"63", x"00"), -- U+006D (m)
  144. ( x"00", x"00", x"1F", x"33", x"33", x"33", x"33", x"00"), -- U+006E (n)
  145. ( x"00", x"00", x"1E", x"33", x"33", x"33", x"1E", x"00"), -- U+006F (o)
  146. ( x"00", x"00", x"3B", x"66", x"66", x"3E", x"06", x"0F"), -- U+0070 (p)
  147. ( x"00", x"00", x"6E", x"33", x"33", x"3E", x"30", x"78"), -- U+0071 (q)
  148. ( x"00", x"00", x"3B", x"6E", x"66", x"06", x"0F", x"00"), -- U+0072 (r)
  149. ( x"00", x"00", x"3E", x"03", x"1E", x"30", x"1F", x"00"), -- U+0073 (s)
  150. ( x"08", x"0C", x"3E", x"0C", x"0C", x"2C", x"18", x"00"), -- U+0074 (t)
  151. ( x"00", x"00", x"33", x"33", x"33", x"33", x"6E", x"00"), -- U+0075 (u)
  152. ( x"00", x"00", x"33", x"33", x"33", x"1E", x"0C", x"00"), -- U+0076 (v)
  153. ( x"00", x"00", x"63", x"6B", x"7F", x"7F", x"36", x"00"), -- U+0077 (w)
  154. ( x"00", x"00", x"63", x"36", x"1C", x"36", x"63", x"00"), -- U+0078 (x)
  155. ( x"00", x"00", x"33", x"33", x"33", x"3E", x"30", x"1F"), -- U+0079 (y)
  156. ( x"00", x"00", x"3F", x"19", x"0C", x"26", x"3F", x"00"), -- U+007A (z)
  157. ( x"38", x"0C", x"0C", x"07", x"0C", x"0C", x"38", x"00"), -- U+007B (()
  158. ( x"18", x"18", x"18", x"00", x"18", x"18", x"18", x"00"), -- U+007C (|)
  159. ( x"07", x"0C", x"0C", x"38", x"0C", x"0C", x"07", x"00"), -- U+007D ())
  160. ( x"6E", x"3B", x"00", x"00", x"00", x"00", x"00", x"00"), -- U+007E (~)
  161. ( x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00") -- U+007F
  162. );
  163. begin
  164. Font <= FontMemory(CodeASCII);
  165. end Behavioral;