Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added some utilities that may be of some help
Added PHP script that generates all of the supported characters in VHDL
- Loading branch information
1 parent
1db5ecd
commit 27ef7e4
Showing
2 changed files
with
299 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,257 @@ | ||
-- Char => Addr -- Decimal : Hex | ||
character'val(16#00#) => "00000000", -- NULL : 0 : x00 | ||
character'val(16#01#) => "00000001", -- : 1 : x01 | ||
character'val(16#02#) => "00000010", -- : 2 : x02 | ||
character'val(16#03#) => "00000011", -- : 3 : x03 | ||
character'val(16#04#) => "00000100", -- : 4 : x04 | ||
character'val(16#05#) => "00000101", -- : 5 : x05 | ||
character'val(16#06#) => "00000110", -- : 6 : x06 | ||
character'val(16#07#) => "00000111", -- : 7 : x07 | ||
character'val(16#08#) => "00001000", -- : 8 : x08 | ||
character'val(16#09#) => "00001001", -- HT Tab : 9 : x09 | ||
character'val(16#0a#) => "00001010", -- LF : 10 : x0a | ||
character'val(16#0b#) => "00001011", -- : 11 : x0b | ||
character'val(16#0c#) => "00001100", -- : 12 : x0c | ||
character'val(16#0d#) => "00001101", -- CR : 13 : x0d | ||
character'val(16#0e#) => "00001110", -- : 14 : x0e | ||
character'val(16#0f#) => "00001111", -- : 15 : x0f | ||
character'val(16#10#) => "00010000", -- : 16 : x10 | ||
character'val(16#11#) => "00010001", -- : 17 : x11 | ||
character'val(16#12#) => "00010010", -- : 18 : x12 | ||
character'val(16#13#) => "00010011", -- : 19 : x13 | ||
character'val(16#14#) => "00010100", -- : 20 : x14 | ||
character'val(16#15#) => "00010101", -- : 21 : x15 | ||
character'val(16#16#) => "00010110", -- : 22 : x16 | ||
character'val(16#17#) => "00010111", -- : 23 : x17 | ||
character'val(16#18#) => "00011000", -- : 24 : x18 | ||
character'val(16#19#) => "00011001", -- : 25 : x19 | ||
character'val(16#1a#) => "00011010", -- : 26 : x1a | ||
character'val(16#1b#) => "00011011", -- : 27 : x1b | ||
character'val(16#1c#) => "00011100", -- : 28 : x1c | ||
character'val(16#1d#) => "00011101", -- : 29 : x1d | ||
character'val(16#1e#) => "00011110", -- : 30 : x1e | ||
character'val(16#1f#) => "00011111", -- : 31 : x1f | ||
character'val(16#20#) => "00100000", -- SP Space : 32 : x20 | ||
character'val(16#21#) => "00100001", -- ! : 33 : x21 | ||
character'val(16#22#) => "00100010", -- " : 34 : x22 | ||
character'val(16#23#) => "00100011", -- # : 35 : x23 | ||
character'val(16#24#) => "00100100", -- $ : 36 : x24 | ||
character'val(16#25#) => "00100101", -- % : 37 : x25 | ||
character'val(16#26#) => "00100110", -- & : 38 : x26 | ||
character'val(16#27#) => "00100111", -- ' : 39 : x27 | ||
character'val(16#28#) => "00101000", -- ( : 40 : x28 | ||
character'val(16#29#) => "00101001", -- ) : 41 : x29 | ||
character'val(16#2a#) => "00101010", -- * : 42 : x2a | ||
character'val(16#2b#) => "00101011", -- + : 43 : x2b | ||
character'val(16#2c#) => "00101100", -- , : 44 : x2c | ||
character'val(16#2d#) => "00101101", -- - : 45 : x2d | ||
character'val(16#2e#) => "00101110", -- . : 46 : x2e | ||
character'val(16#2f#) => "00101111", -- / : 47 : x2f | ||
character'val(16#30#) => "00110000", -- 0 : 48 : x30 | ||
character'val(16#31#) => "00110001", -- 1 : 49 : x31 | ||
character'val(16#32#) => "00110010", -- 2 : 50 : x32 | ||
character'val(16#33#) => "00110011", -- 3 : 51 : x33 | ||
character'val(16#34#) => "00110100", -- 4 : 52 : x34 | ||
character'val(16#35#) => "00110101", -- 5 : 53 : x35 | ||
character'val(16#36#) => "00110110", -- 6 : 54 : x36 | ||
character'val(16#37#) => "00110111", -- 7 : 55 : x37 | ||
character'val(16#38#) => "00111000", -- 8 : 56 : x38 | ||
character'val(16#39#) => "00111001", -- 9 : 57 : x39 | ||
character'val(16#3a#) => "00111010", -- : : 58 : x3a | ||
character'val(16#3b#) => "00111011", -- ; : 59 : x3b | ||
character'val(16#3c#) => "00111100", -- < : 60 : x3c | ||
character'val(16#3d#) => "00111101", -- = : 61 : x3d | ||
character'val(16#3e#) => "00111110", -- > : 62 : x3e | ||
character'val(16#3f#) => "00111111", -- ? : 63 : x3f | ||
character'val(16#40#) => "01000000", -- @ : 64 : x40 | ||
character'val(16#41#) => "01000001", -- A : 65 : x41 | ||
character'val(16#42#) => "01000010", -- B : 66 : x42 | ||
character'val(16#43#) => "01000011", -- C : 67 : x43 | ||
character'val(16#44#) => "01000100", -- D : 68 : x44 | ||
character'val(16#45#) => "01000101", -- E : 69 : x45 | ||
character'val(16#46#) => "01000110", -- F : 70 : x46 | ||
character'val(16#47#) => "01000111", -- G : 71 : x47 | ||
character'val(16#48#) => "01001000", -- H : 72 : x48 | ||
character'val(16#49#) => "01001001", -- I : 73 : x49 | ||
character'val(16#4a#) => "01001010", -- J : 74 : x4a | ||
character'val(16#4b#) => "01001011", -- K : 75 : x4b | ||
character'val(16#4c#) => "01001100", -- L : 76 : x4c | ||
character'val(16#4d#) => "01001101", -- M : 77 : x4d | ||
character'val(16#4e#) => "01001110", -- N : 78 : x4e | ||
character'val(16#4f#) => "01001111", -- O : 79 : x4f | ||
character'val(16#50#) => "01010000", -- P : 80 : x50 | ||
character'val(16#51#) => "01010001", -- Q : 81 : x51 | ||
character'val(16#52#) => "01010010", -- R : 82 : x52 | ||
character'val(16#53#) => "01010011", -- S : 83 : x53 | ||
character'val(16#54#) => "01010100", -- T : 84 : x54 | ||
character'val(16#55#) => "01010101", -- U : 85 : x55 | ||
character'val(16#56#) => "01010110", -- V : 86 : x56 | ||
character'val(16#57#) => "01010111", -- W : 87 : x57 | ||
character'val(16#58#) => "01011000", -- X : 88 : x58 | ||
character'val(16#59#) => "01011001", -- Y : 89 : x59 | ||
character'val(16#5a#) => "01011010", -- Z : 90 : x5a | ||
character'val(16#5b#) => "01011011", -- [ : 91 : x5b | ||
character'val(16#5c#) => "01011100", -- \ : 92 : x5c | ||
character'val(16#5d#) => "01011101", -- ] : 93 : x5d | ||
character'val(16#5e#) => "01011110", -- ^ : 94 : x5e | ||
character'val(16#5f#) => "01011111", -- _ : 95 : x5f | ||
character'val(16#60#) => "01100000", -- ` : 96 : x60 | ||
character'val(16#61#) => "01100001", -- a : 97 : x61 | ||
character'val(16#62#) => "01100010", -- b : 98 : x62 | ||
character'val(16#63#) => "01100011", -- c : 99 : x63 | ||
character'val(16#64#) => "01100100", -- d : 100 : x64 | ||
character'val(16#65#) => "01100101", -- e : 101 : x65 | ||
character'val(16#66#) => "01100110", -- f : 102 : x66 | ||
character'val(16#67#) => "01100111", -- g : 103 : x67 | ||
character'val(16#68#) => "01101000", -- h : 104 : x68 | ||
character'val(16#69#) => "01101001", -- i : 105 : x69 | ||
character'val(16#6a#) => "01101010", -- j : 106 : x6a | ||
character'val(16#6b#) => "01101011", -- k : 107 : x6b | ||
character'val(16#6c#) => "01101100", -- l : 108 : x6c | ||
character'val(16#6d#) => "01101101", -- m : 109 : x6d | ||
character'val(16#6e#) => "01101110", -- n : 110 : x6e | ||
character'val(16#6f#) => "01101111", -- o : 111 : x6f | ||
character'val(16#70#) => "01110000", -- p : 112 : x70 | ||
character'val(16#71#) => "01110001", -- q : 113 : x71 | ||
character'val(16#72#) => "01110010", -- r : 114 : x72 | ||
character'val(16#73#) => "01110011", -- s : 115 : x73 | ||
character'val(16#74#) => "01110100", -- t : 116 : x74 | ||
character'val(16#75#) => "01110101", -- u : 117 : x75 | ||
character'val(16#76#) => "01110110", -- v : 118 : x76 | ||
character'val(16#77#) => "01110111", -- w : 119 : x77 | ||
character'val(16#78#) => "01111000", -- x : 120 : x78 | ||
character'val(16#79#) => "01111001", -- y : 121 : x79 | ||
character'val(16#7a#) => "01111010", -- z : 122 : x7a | ||
character'val(16#7b#) => "01111011", -- { : 123 : x7b | ||
character'val(16#7c#) => "01111100", -- | : 124 : x7c | ||
character'val(16#7d#) => "01111101", -- } : 125 : x7d | ||
character'val(16#7e#) => "01111110", -- ~ : 126 : x7e | ||
character'val(16#7f#) => "01111111", -- DEL : 127 : x7f | ||
character'val(16#80#) => "10000000", -- € : 128 : x80 | ||
character'val(16#81#) => "10000001", -- HOP High Octet Preset : 129 : x81 | ||
character'val(16#82#) => "10000010", -- ‚ : 130 : x82 | ||
character'val(16#83#) => "10000011", -- ƒ : 131 : x83 | ||
character'val(16#84#) => "10000100", -- „ : 132 : x84 | ||
character'val(16#85#) => "10000101", -- … : 133 : x85 | ||
character'val(16#86#) => "10000110", -- † : 134 : x86 | ||
character'val(16#87#) => "10000111", -- ‡ : 135 : x87 | ||
character'val(16#88#) => "10001000", -- ˆ : 136 : x88 | ||
character'val(16#89#) => "10001001", -- ‰ : 137 : x89 | ||
character'val(16#8a#) => "10001010", -- Š : 138 : x8a | ||
character'val(16#8b#) => "10001011", -- ‹ : 139 : x8b | ||
character'val(16#8c#) => "10001100", -- Œ : 140 : x8c | ||
character'val(16#8d#) => "10001101", -- : 141 : x8d | ||
character'val(16#8e#) => "10001110", -- Ž : 142 : x8e | ||
character'val(16#8f#) => "10001111", -- SS3 Single Shift 3 : 143 : x8f | ||
character'val(16#90#) => "10010000", -- DCS Device Control String : 144 : x90 | ||
character'val(16#91#) => "10010001", -- ‘ : 145 : x91 | ||
character'val(16#92#) => "10010010", -- ’ : 146 : x92 | ||
character'val(16#93#) => "10010011", -- “ : 147 : x93 | ||
character'val(16#94#) => "10010100", -- ” : 148 : x94 | ||
character'val(16#95#) => "10010101", -- • : 149 : x95 | ||
character'val(16#96#) => "10010110", -- – : 150 : x96 | ||
character'val(16#97#) => "10010111", -- — : 151 : x97 | ||
character'val(16#98#) => "10011000", -- ˜ : 152 : x98 | ||
character'val(16#99#) => "10011001", -- ™ : 153 : x99 | ||
character'val(16#9a#) => "10011010", -- š : 154 : x9a | ||
character'val(16#9b#) => "10011011", -- › : 155 : x9b | ||
character'val(16#9c#) => "10011100", -- œ : 156 : x9c | ||
character'val(16#9d#) => "10011101", -- OSC Operating System Command : 157 : x9d | ||
character'val(16#9e#) => "10011110", -- ž : 158 : x9e | ||
character'val(16#9f#) => "10011111", -- Ÿ : 159 : x9f | ||
character'val(16#a0#) => "10100000", -- NBSP Space : 160 : xa0 | ||
character'val(16#a1#) => "10100001", -- ¡ : 161 : xa1 | ||
character'val(16#a2#) => "10100010", -- ¢ : 162 : xa2 | ||
character'val(16#a3#) => "10100011", -- £ : 163 : xa3 | ||
character'val(16#a4#) => "10100100", -- ¤ : 164 : xa4 | ||
character'val(16#a5#) => "10100101", -- ¥ : 165 : xa5 | ||
character'val(16#a6#) => "10100110", -- ¦ : 166 : xa6 | ||
character'val(16#a7#) => "10100111", -- § : 167 : xa7 | ||
character'val(16#a8#) => "10101000", -- ¨ : 168 : xa8 | ||
character'val(16#a9#) => "10101001", -- © : 169 : xa9 | ||
character'val(16#aa#) => "10101010", -- ª : 170 : xaa | ||
character'val(16#ab#) => "10101011", -- « : 171 : xab | ||
character'val(16#ac#) => "10101100", -- ¬ : 172 : xac | ||
character'val(16#ad#) => "10101101", -- : 173 : xad | ||
character'val(16#ae#) => "10101110", -- ® : 174 : xae | ||
character'val(16#af#) => "10101111", -- ¯ : 175 : xaf | ||
character'val(16#b0#) => "10110000", -- ° : 176 : xb0 | ||
character'val(16#b1#) => "10110001", -- ± : 177 : xb1 | ||
character'val(16#b2#) => "10110010", -- ² : 178 : xb2 | ||
character'val(16#b3#) => "10110011", -- ³ : 179 : xb3 | ||
character'val(16#b4#) => "10110100", -- ´ : 180 : xb4 | ||
character'val(16#b5#) => "10110101", -- µ : 181 : xb5 | ||
character'val(16#b6#) => "10110110", -- ¶ : 182 : xb6 | ||
character'val(16#b7#) => "10110111", -- · : 183 : xb7 | ||
character'val(16#b8#) => "10111000", -- ¸ : 184 : xb8 | ||
character'val(16#b9#) => "10111001", -- ¹ : 185 : xb9 | ||
character'val(16#ba#) => "10111010", -- º : 186 : xba | ||
character'val(16#bb#) => "10111011", -- » : 187 : xbb | ||
character'val(16#bc#) => "10111100", -- ¼ : 188 : xbc | ||
character'val(16#bd#) => "10111101", -- ½ : 189 : xbd | ||
character'val(16#be#) => "10111110", -- ¾ : 190 : xbe | ||
character'val(16#bf#) => "10111111", -- ¿ : 191 : xbf | ||
character'val(16#c0#) => "11000000", -- À : 192 : xc0 | ||
character'val(16#c1#) => "11000001", -- Á : 193 : xc1 | ||
character'val(16#c2#) => "11000010", -- Â : 194 : xc2 | ||
character'val(16#c3#) => "11000011", -- Ã : 195 : xc3 | ||
character'val(16#c4#) => "11000100", -- Ä : 196 : xc4 | ||
character'val(16#c5#) => "11000101", -- Å : 197 : xc5 | ||
character'val(16#c6#) => "11000110", -- Æ : 198 : xc6 | ||
character'val(16#c7#) => "11000111", -- Ç : 199 : xc7 | ||
character'val(16#c8#) => "11001000", -- È : 200 : xc8 | ||
character'val(16#c9#) => "11001001", -- É : 201 : xc9 | ||
character'val(16#ca#) => "11001010", -- Ê : 202 : xca | ||
character'val(16#cb#) => "11001011", -- Ë : 203 : xcb | ||
character'val(16#cc#) => "11001100", -- Ì : 204 : xcc | ||
character'val(16#cd#) => "11001101", -- Í : 205 : xcd | ||
character'val(16#ce#) => "11001110", -- Î : 206 : xce | ||
character'val(16#cf#) => "11001111", -- Ï : 207 : xcf | ||
character'val(16#d0#) => "11010000", -- Ð : 208 : xd0 | ||
character'val(16#d1#) => "11010001", -- Ñ : 209 : xd1 | ||
character'val(16#d2#) => "11010010", -- Ò : 210 : xd2 | ||
character'val(16#d3#) => "11010011", -- Ó : 211 : xd3 | ||
character'val(16#d4#) => "11010100", -- Ô : 212 : xd4 | ||
character'val(16#d5#) => "11010101", -- Õ : 213 : xd5 | ||
character'val(16#d6#) => "11010110", -- Ö : 214 : xd6 | ||
character'val(16#d7#) => "11010111", -- × : 215 : xd7 | ||
character'val(16#d8#) => "11011000", -- Ø : 216 : xd8 | ||
character'val(16#d9#) => "11011001", -- Ù : 217 : xd9 | ||
character'val(16#da#) => "11011010", -- Ú : 218 : xda | ||
character'val(16#db#) => "11011011", -- Û : 219 : xdb | ||
character'val(16#dc#) => "11011100", -- Ü : 220 : xdc | ||
character'val(16#dd#) => "11011101", -- Ý : 221 : xdd | ||
character'val(16#de#) => "11011110", -- Þ : 222 : xde | ||
character'val(16#df#) => "11011111", -- ß : 223 : xdf | ||
character'val(16#e0#) => "11100000", -- à : 224 : xe0 | ||
character'val(16#e1#) => "11100001", -- á : 225 : xe1 | ||
character'val(16#e2#) => "11100010", -- â : 226 : xe2 | ||
character'val(16#e3#) => "11100011", -- ã : 227 : xe3 | ||
character'val(16#e4#) => "11100100", -- ä : 228 : xe4 | ||
character'val(16#e5#) => "11100101", -- å : 229 : xe5 | ||
character'val(16#e6#) => "11100110", -- æ : 230 : xe6 | ||
character'val(16#e7#) => "11100111", -- ç : 231 : xe7 | ||
character'val(16#e8#) => "11101000", -- è : 232 : xe8 | ||
character'val(16#e9#) => "11101001", -- é : 233 : xe9 | ||
character'val(16#ea#) => "11101010", -- ê : 234 : xea | ||
character'val(16#eb#) => "11101011", -- ë : 235 : xeb | ||
character'val(16#ec#) => "11101100", -- ì : 236 : xec | ||
character'val(16#ed#) => "11101101", -- í : 237 : xed | ||
character'val(16#ee#) => "11101110", -- î : 238 : xee | ||
character'val(16#ef#) => "11101111", -- ï : 239 : xef | ||
character'val(16#f0#) => "11110000", -- ð : 240 : xf0 | ||
character'val(16#f1#) => "11110001", -- ñ : 241 : xf1 | ||
character'val(16#f2#) => "11110010", -- ò : 242 : xf2 | ||
character'val(16#f3#) => "11110011", -- ó : 243 : xf3 | ||
character'val(16#f4#) => "11110100", -- ô : 244 : xf4 | ||
character'val(16#f5#) => "11110101", -- õ : 245 : xf5 | ||
character'val(16#f6#) => "11110110", -- ö : 246 : xf6 | ||
character'val(16#f7#) => "11110111", -- ÷ : 247 : xf7 | ||
character'val(16#f8#) => "11111000", -- ø : 248 : xf8 | ||
character'val(16#f9#) => "11111001", -- ù : 249 : xf9 | ||
character'val(16#fa#) => "11111010", -- ú : 250 : xfa | ||
character'val(16#fb#) => "11111011", -- û : 251 : xfb | ||
character'val(16#fc#) => "11111100", -- ü : 252 : xfc | ||
character'val(16#fd#) => "11111101", -- ý : 253 : xfd | ||
character'val(16#fe#) => "11111110", -- þ : 254 : xfe | ||
character'val(16#ff#) => "11111111", -- ÿ : 255 : xff |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
<?php | ||
|
||
// Author: Eric (MLM) | ||
// Generates an array table of all characters that VHDL supports | ||
// | ||
// "character'val(16#20#)" notation is equivalent to 20 in base 16 (hex) which is the space character | ||
|
||
error_reporting(E_ALL); | ||
|
||
header('Content-Type: text/html; charset=iso-8859-1'); | ||
|
||
$start = 0; | ||
$end = 255; // 127 or 255 | ||
|
||
$omitArray = array_merge(range(0, 31)); | ||
$characterNotationArray = array_merge(range(127, 159)); | ||
|
||
$customCharacterDescriptionArray = array( | ||
0 => 'NULL', | ||
9 => 'HT Tab', | ||
10 => 'LF', | ||
13 => 'CR', | ||
32 => 'SP Space', | ||
127 => 'DEL', | ||
129 => 'HOP High Octet Preset', | ||
143 => 'SS3 Single Shift 3', | ||
144 => 'DCS Device Control String', | ||
157 => 'OSC Operating System Command', | ||
160 => 'NBSP Space', | ||
); | ||
|
||
|
||
echo '<pre>'; | ||
echo '-- Char => Addr' . "\t" . '-- ' . 'Decimal : Hex' . "\n"; | ||
|
||
for ($i = $start; $i <= $end; $i++) | ||
{ | ||
|
||
echo 'character\'val(16#' . str_pad(dechex($i), 2, "0", STR_PAD_LEFT) . '#)' . ' => "' . str_pad(decbin($i), 8, "0", STR_PAD_LEFT) . '",' . "\t" . '-- ' . (!array_key_exists($i, $customCharacterDescriptionArray) ? chr($i) : $customCharacterDescriptionArray[$i]) . ' : ' . $i . ' : x' . str_pad(dechex($i), 2, "0", STR_PAD_LEFT) . "\n"; | ||
|
||
} | ||
echo '</pre>'; |