基于vhdl语言的vga显示与控制

基于vhdl语言的vga显示与控制

ID:3155091

大小:1.07 MB

页数:18页

时间:2017-11-20

基于vhdl语言的vga显示与控制_第1页
基于vhdl语言的vga显示与控制_第2页
基于vhdl语言的vga显示与控制_第3页
基于vhdl语言的vga显示与控制_第4页
基于vhdl语言的vga显示与控制_第5页
资源描述:

《基于vhdl语言的vga显示与控制》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、EDA大作业实验报告基于VHDL语言的VGA显示与控制1111000079田宇1111000081王坤目录1.VGA显示原理31.1VGA逐行扫描显示31.2VGA时序分析32.时序部分的代码实现32.1时序部分主要代码32.2时序部分的实现42.2.1行时序42.2.2场时序53.控制部分的代码实现53.1控制部分主要代码53.2控制部分的实现123.2.1彩条与彩格123.2.2字体显示124.硬件平台实验121.VGA显示原理1.1VGA逐行扫描显示逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏

2、幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。1.2VGA时序分析(图-1)2.时序部分的代码实现2.1时序部分主要代码ifck'eventandck='1'thenH<=H+1;ifH>15andH<110thenHs<='1';elsifH>=110thenHs<='0';ifH>=160andH<800thenHen<='1';elsifH=800thenHen<='0';H<=

3、0;endif;endif;endif;ifHs'eventandHs='1'thenV<=V+1;ifV>11andV<14thenVs<='1';elsifV>=14thenVs<='0';ifV>=45andV<525thenVen<='1';elsifV=525thenVen<='0';V<=0;endif;endif;endif;此部分代码为时序部分主要代码。2.2时序部分的实现2.2.1行时序H:行HS:行消隐信号Hen:允许显示由时序图(图-1)可以看出,行时序中需要有行消隐、行同步、显示前后沿等。其中有效显示信号为64

4、0个周期。2.2.2场时序与行时序相类似。1.控制部分的代码实现3.1控制部分主要代码process(clk_d,sw)beginifclk_d'eventandclk_d='1'thenifsw="11"thensw_t<=sw_t+1;endif;ifsw="01"thensw_t<=sw_t-1;endif;endif;endprocess;process(sw_t)beginifsw_t="0000"thenR<=Rd(s);G<=Gd(s);B<=Bd(s);elsifsw_t="0001"thenR<=Rd(s+1);G<

5、=Gd(s+1);B<=Bd(s+1);elsifsw_t="0010"thenR<=Rd(s+2);G<=Gd(s+2);B<=Bd(s+2);elsifsw_t="0011"thenR<=Rd(s+3);G<=Gd(s+3);B<=Bd(s+3);ifs=5andt=4and(n=0orm=0orn=79orm=59orn=1orm=1orn=78orm=58)thenR<=Rd(3);G<=Gd(3);B<=Bd(3);endif;elsifsw_t="0100"thenR<=Rd(s+4);G<=Gd(s+4);B<=Bd(s

6、+4);ifs=3andt=4and(n=0orm=0orn=79orm=59orn=1orm=1orn=78orm=58)thenR<=Rd(0);G<=Gd(1);B<=Bd(3);endif;elsifsw_t="0101"thenR<=Rd(s+5);G<=Gd(s+5);B<=Bd(s+5);ifs=2andt=4and(n=0orm=0orn=79orm=59orn=1orm=1orn=78orm=58)thenR<=Rd(3);G<=Gd(2);B<=Bd(0);endif;elsifsw_t="0110"thenR<=

7、Rd(s+6);G<=Gd(s+6);B<=Bd(s+6);ifs=1andt=4and(n=0orm=0orn=79orm=59orn=1orm=1orn=78orm=58)thenR<=Rd(0);G<=Gd(0);B<=Bd(3);endif;elsifsw_t="0111"thenR<=Rd(s+7);G<=Gd(s+7);B<=Bd(s+7);ifs=3andt=5and(n=0orm=0orn=79orm=59orn=1orm=1orn=78orm=58)thenR<=Rd(0);G<=Gd(0);B<=Bd(0);end

8、if;elsifsw_t="1000"thenR<=Rd((s+t)rem8);G<=Gd((s+t)rem8);B<=Bd((s+t)rem8);elsifsw_t="1001"thenR<=Rd((s+t)rem7)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。