Digital Signal Processing Reference
In-Depth Information
Table 10.2 Character Address Map for 8 by 8 Font ROM.
CHAR
ADDRESS
CHAR
ADDRESS
CHAR
ADDRESS
CHAR
ADDRESS
@
00
P
20
Space
40
0
60
A
01
Q
21
!
41
1
61
B
02
R
22
"
42
2
62
C
S
#
3
03
23
43
63
D
04
T
24
$
44
4
64
E
05
U
25
%
45
5
65
F
06
V
26
&
46
6
66
G
07
W
27
'
47
7
67
H
10
X
30
(
50
8
70
I
11
Y
31
)
51
9
71
J
12
Z
32
*
52
A
72
K
13
[
33
+
53
B
73
L
14
34
,
54
C
74
Dn Arrow
M
15
]
35
55
D
75
N
16
36
.
56
E
76
Up Arrow
O
17
Lft Arrow
37
/
57
F
77
A 16 by 16 pixel area is used to display a single character with the character
font. As the display moves to another character outside of the 16 by 16 pixel
area, a different location is selected in the character RAM using the high bits of
the row and column counters. This in turn selects another location in the
character font ROM to display another character.
Due to limited ROM space, only the capital letters, numbers and some symbols
are provided. Table 10.2 shows the alphanumeric characters followed by the
high six bits of its octal character address in the font ROM. For example, a
space is represented by octal code 40. The repeated letters A-F were used to
simplify the conversion and display of hexadecimal values.
10.10 VHDL Character Display Design Examples
The FPGAcores VGA_SYNC and CHAR_ROM are designed to be used
together to generate a text display. CHAR_ROM contains an 8 by 8 pixel
character font. In the following schematic, a test pattern with 40 characters
across with 30 lines down is displayed in the VGA_CHARACTER project.
Examining the RGB inputs on the VGA_SYNC core you can see that characters
will be white (111 = RGB) with a red (100 = RGB) background. Each character
uses a 16 by 16 pixel area in the 640 by 480 display area. Since the low bit in
the pixel row and column address is skipped in the font row and font column
ROM inputs, each data bit from the font is a displayed in a 2 by 2 pixel area.
Since pixel row bits 9 to 4 are used for the character address a new character
will be displayed every 16 th pixel row or character line. Division by 16 occurs
without any logic since the low four bits are not connected.
Search WWH ::




Custom Search