VGA Display Based VHDL on FPGA
Abstract !" #
$%&'("$$
#$(# )
% $ *
" #(#(
$
%+ $,$)(#
" -%
$,. ..&'.*
!" #$ % !#& "##'()* +
+# #$ + # ,
&&-+.!"/,.#
#+&-##
. + $ + + ## +&
#&+ +& 0
&&-+.+#
" # # # + $ #&+
+&. !"!"
# &-, +# !" #&+
+&1&!"#&+
+&2#.+#
!" #&+ +& "
3#+-#$#+#.
+#!"#&++&
. 445644789: ;& $## +
!# ;#++# . # !"
#$ +& ## #
+++ + . . # +
/.++##+
+.++.+,#3
-,+&.#&
#3-,..&1
3#+- #,++ + ++
++<1,##+# &
.#++. ,# $#.#
+ ,+ = #$#+ +
.+#,>;!"
9?>!">"
!" + ++ +# $
&#+&.+,#$#.#,
@A (B7 + &#+
#+&# 1## +&
C&+ # ++ !"
#$#&+.+&#++
#&#.,
=#+ #+$# ## ++ % !
@*#:/#-+#:-
++#D"+.+&#
. = , + +&
C&+."+&
C&++ +&++
#+#/&#++#
#/+&#.&#
A. VGA Interface Signals
# # . +!"#$++
+&++#+
#+#E++.,(
,(F+$!"#$G+
& "2#,
G
!#
@
#
G
9#:
G#:-
#-G#:-
" # # H# $#C+ $
#: +#:- + /#-
+#:- + $# ,
&#+-9#+,&
# $ $#C+ ##+& +
#+-+ # E+ +.
,8
Table2 List of Frequencies Corresponding to
Common Resolutions [3]
Resolution
Horizontal
Sync(KHz)
Vertical
Sync (Hz)
Pixel
Clock
(MHz)
640×480
800×600
800×600
1024×768
1024×768
31.496
48.077
46.875
48.363
56.476
59.940
72.188
75.000
60.004
70.069
25.175
50.000
49.500
65.000
75.000
!"#,+>;!".
+# + =/ ++ #:
+#:-+/#-+#:-
+#+# +
,+"+=/++,+
!"#$$#>;!".
#$!"
B. VGA Interface Denion[4]
!" #$ ++ ##+& +&
+++&#@3(#.+
# ; +& # F ,
#,"##(&+.
# +# / I +
# # 9# + ># (
+..+&+###
C. VGA Color
G+++>;!"#/+!"++
# + +#+ #++ /# #
++#+++#,
$ # ++ # & $ !"J
!"J! !"J@F /# #++
+,#++$7
# + +#
/ $ # ++ # & ,.
4K47.+#0!"J9+
!"J+#//++#FF#
F AGID>#.,+$
## . / #!"J,
!"J! !"J@F & # E+
+.,I
Table 3. 3-Bit Code of Color Signal
!"J !"J! !"J@F #
4
4
4
4
(
(
(
(
4
4
(
(
4
4
(
(
4
(
4
(
4
(
4
(
@
@
!#
;
?.
0
D. VGA Timing Control
')$ !"++ ## ,G"
9#++##-,.>;!"
#/!"+&.445644789:
+# $ !" +# &
$#C $ &1 + 4444A9:
$#C+$#:+/#-+
# L477 M9: 78( 9: $ +&
#/+ + +# $#C
#+-.,445644#$#+#+
789: ># 8 +. + &#++ $
#:/#-+$!"
@+++###,:
= , : " #:
#+ $ +#:- &
&1$!"#$+(4L45666.
#+- + 445644 " # -
+$#:+#+,
L.-&#++.>#I
>#I9#:G
-+$/#-+#+
, . - &# + +.
>#L
>#L#-G
- $ !" ++ + , 1
## # & #
#+#&###++
$ - + ## & . ,
##'(4)
Tutorial Goals:
Resoluon: 640x480 pixels (307,200 total
pixels)
Field Refresh Rate: 60 Hz
Line Refresh Rate: 31,476 Hz
+,#+,$ #
+ +# + ,
/&+/#$##+
. . & / &#&#
#+ . . . && +
,#+#/.#2 ;FN
#+ ,/ &# + .#
+$+
>$#+O649:OG#$#+
/#(666+
F$#+OI(L769:O/#
I(77G
I(77GPL4F+O(8LBG+G
,/$#+&
1#(L(G++$##-G
(L(GQ(8LBGO(6666G
>#6#$!"+
G####1+(
+#-/#(G..&,
,#8+-+&+#++
+&+8G&#R+
S,#+R#$#
,+#&S++
/1&-$!"++
Key Concepts
T/#+#8G+&
T,- $ + #+
-#&#+#
TG#+#$#+/#(666G
#.$#C$649:
III. THE SOFTWARE [10]
-#+U.#&#E+
:&=$#./=%/*
+/&#+
.+&+++#+
#+.
What It Takes
+U.#$#+&#E+C+R
/#+$#&#&#+
>#-.##-9F
« Begin Code »
ENTITY VHDL_VGA IS
PORT(
Counter/VGA Timing
clk: IN STD_LOGIC;
-VGA Signals/Pins
hsync,
vsync,
red,
green,
blue : OUT STD_LOGIC;
Sync Counters
row,
column:OUT STD_LOGIC_VECTOR(9 DOWNTO
0));
end VHDL_VGA;
« End Code »
"++-.&+
!" # & +
#&.+.,&
$# 8(7A9: . + R&#$R $#
6L41L4#+-S9F
Specic Timing
$. . . + #
+&=-++#$#+
« Begin Code »
WAIT UNTIL(clk'EVENT) AND (clk = '1');
IF(cnt = 25175000) THEN
cnt := 0;
ELSE
cnt := cnt + 1;
END IF;
« End Code »
=#++.+...+.(
,$#&#$##+$&#++
#+$++&#,
,##+$&#++,+
+#$#$#-++-+
>FFG
F@"?V
GGJF! J((6L"FFV
GGJF! J"9"FFV
GGJF! JG!"FFV
33= #-
?9FJ!"G
;%
33 #D!"
GJF! V
33!"G+D;+%&+*
+
/+
#
#
, GJF! V
33G #+
#.
GJF! J %B
04**V
9FJ!"V
33="##$-
" 9 ,/#$9FJ!"G
33GG+
G!"F J+/J+GJF! V
33,+
G!"F /J
#:J
/#-J GJF! V
33 #G+
G!"F #J+
#J+
,J+ GJF! V
33G #+
G!"F J
/JGJF! J %B04*V
@!
/JWO#:J"/#-JV
; GG
/#,##48(7444V
@!
0"F%R*"%OR(R*V
>%O8(7444*9
O4V
FG
OQ(V
>V
339#:G
33+9#: #
>%JO7BB*9
JWOX4444444444XV
FG
JWOJQ(V
>V
33!#9#:
33(64.+$
>%/JYO4*"%/JWO(B*9
#J+WOR(RV
#J+WOR4RV
,J+WOR4RV
>V
33(64.+$!#
>%/JYO(64*"%/JWOI(B*9
#J+WOR4RV
#J+WOR(RV
,J+WOR4RV
>V
33(64.+$@
>%/JYOI84*"%/JWOL7B*9
#J+WOR4RV
#J+WOR4RV
,J+WOR(RV
>V
33!#9#:G
>%JWO7*"%JYO6B*9
J+WOR4RV
FG
J+WOR(RV
>V
33#-G
33+#- #
>%/JYO8L*"%JYO6BB*9
/JWOX4444444444XV
FG>%JO6BB*9
/JWO/JQ(V
>V
33!##-G
>%/JWOLBL*"%/JYOLBI*9
/J+WOR4RV
FG
/J+WOR(RV
>V
33!#9#:
>%JWO6IB*9
#:JWOR(RV
WOJV
FG
#:JWOR4RV
>V
33!##-
>%/JWOL7B*9
/#-JWOR(RV
#.WO/JV
FG
/#-JWOR4RV
>V
33"++;+G+!"
#WO#J+"/JV
#WO#J+"/JV
,WO,J+"/JV
+WOJ+V
/+WO/J+V
; GGV
,/#V
What To Do Now
# # #-+ U#
#+9F$##-+
+&!"&?1&#.#
H# #+ H# +&+ ? . ,
+#&#+.&1,#+&
+&+#+&+##+
IV. CONCLUSIONS
+&##,/.+
+++.!".+
,+>;!".#:#3-+.
$+& #!"#>;!".
+$.<1,.+
/ $ >;!" .# +
.+++ + + <1, $ &#++#
+&3
+#+#/
#/++.#/
#+F +&#E#+#+&
$#-.#&+.+
+#$+#+/
##+,+$#!"#-
REFERENCES
'() G ; Z 9 " 9F 'A) @E : + /#+
;#++,8447:88386
'8) ?&[[:9+$!"+&A@+>;!"'Z) &#
/&,84476,(7(6):8L838L
'I)GIG##M@#+#!'@DF)2&DD 11
'L)=-$!"#$'@DF)2&DD #+-D/(
')!"-$#-'@DF)2&DD &#D+D&D/J-
'6)@\[0:-+$!"!#&+ #@+>;!"
'Z)"&&G,8446(4,II((4):L83L
'7) F0[F-:-+$ + ##+>;!"' )
G844,844683844687
') ? :-+$!" #@#G@+>;!"'Z)#
"&&-84488(7):L83L
'B);,0\[[0+$!"!#&+ #@+
>;!"'Z)Z#$#+ #;.#/#+8446,86(L):B3B8
'(4)2&DD &##D#+D/J/D1