- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机组成原理
实验报告
实验10:VGA显示控制器的设计
实验十 VGA显示控制器的设计
一、实验目的
理解VGA显示器的工作原理。
理解分辨率的含义以及分辨率的表示方法。
理解VGA相关的概念:像素、行同步和场同步、消隐。
掌握VGA控制器的设计方法和设计要点。
通过修改代码改变行同步、场同步时序参数,了解VGA能正确显示的参数范围。
二、实验内容
1、阅读“VGA显示控制器设计”PPT;
2、完成VGA控制器的设计,在屏幕上显示出。
3、掌握PLL的定制方法。
4、在2的基础上,调整屏幕分辨率,将原来640*480的分辨率,通过修改代码改变行同步、场同步时序参数,变成1280*1024的分辨率,帧频不变,均为60HZ。为了满足显示的需要,需要用PLL将50MHz的频率倍频到108MHz。
5、利用VGA+ROM的结构显示给定图片。
6、利用VGA+ROM的结构显示字符,要求通过修改代码可以实现各种显示效果:改变字符颜色和大小;改变字符位置;其它显示效果。
7、在屏幕上显示一个4*4的红色小球,控制小球从左上至右下移动小球,也可以选择其它的运动轨迹。
三、实验仪器及设备:
一、PC机 二、 QuartusⅡ 9.0 三、 DE2-70 四、显示器
四、实验步骤
1、阅读“VGA显示控制器设计”PPT,理解VGA显示器的工作原理、分辨率的含义以及分辨率的表示方法和VGA相关的概念:像素、行同步和场同步、消隐。
2、认真阅读显示出640*480的分辨率),掌握编写类似代码的思路。
3、修改给定的分辨率为1280*1024的代码,显示出实验要求的黑白格团。
主要修改三点:a、x和y的位数,由于分辨率要达到1280,所以x和y的位数至少要有 11位。
b、修改输入频率,把25MHZ改为108MHZ(通过宏模块)。
c、always显示输出模块内有一些问题,需要作相应修改。
代码如下:
module lab10_VGA_Controller_640480_v
( //--VGA Side
output BLANK,// : out std_logic; --像素空白控制,0不输出像素点, 1输出像素点
output SYNC,// : out std_logic; --同步信号
output VGA_CLK,// : out std_logic; --像素时钟
output reg hs,//
output reg vs,// : out std_logic; --行同步、场同步信号
output reg [9:0] oRed,// : out std_logic_vector (9 downto 0); -- 10位红色
output reg [9:0] oGreen,// : out std_logic_vector (9 downto 0); ---
output reg [9:0] oBlue,// : out std_logic_vector (9 downto 0); ---
input reset,// : in std_logic; --SW[0]
input CLK_0 // : in std_logic); --50M时钟输入
);
//--VGA
reg CLK;// : std_logic;
reg [9:0] rt;
reg [9:0] gt;
reg [9:0] bt;// : std_logic_vector (9 downto 0);
reg hst;
reg vst;// : std_logic;
reg [11:0] x;// --X坐标
reg [11:0] y;// --Y坐标
assign BLANK=1b1;
assign SYNC=1b1;
assign VGA_CLK = CLK;
altpll3 altpll2_inst (
.inclk0 ( CLK_0 ),
.c0 ( CLK)
);
/*always @(posedge CLK_0)// --二分频电路
begin
CLK = ~CLK;
end*/
always @(posedge CLK or negedge reset)// --行区间像素数(含消隐区)
begin
if (!reset)
x =0;
else
begin
if (x==1687)
原创力文档


文档评论(0)