基于FPGA的VGA设计

modulevga(rst_n,clock,hsyn,vsyn,red,green,blue);inputrst_n;inputclock;outputhsyn;outp... module vga(rst_n, clock, hsyn, vsyn, red, green, blue);
input rst_n;
input clock;

output hsyn;
output vsyn;
output red;
output green;
output blue;

reg hsyn;
reg vsyn;
reg red;
reg green;
reg blue;

//临时变量
reg vga_hsyn;
reg vga_vsyn;
reg vga_red;
reg vga_green;
reg vga_blue;
reg [9:0]x_cnt;
reg [9:0]y_cnt;
reg clk1;
reg clk2;

always @(posedge clock, negedge rst_n)
begin
if(!rst_n)
clk1 = 0;
else if(clock)
if (clk1 == 10'd)
clk1 = 0 ;
else
clk1 = clk1 + 1;

end

always @(posedge clock, negedge rst_n)
begin
if(!rst_n)
clk2 = 0;
else if(clock)
if (clk2 == 10'd1588)
clk2 = 0 ;
else
clk2= clk2 + 1;

end
//x_cnt
always @(posedge clk2, negedge rst_n)
begin
if(!rst_n)
x_cnt <= 0;
else
begin
if(x_cnt == 10'd799)
x_cnt <= 0;
else
x_cnt <= x_cnt + 1;
end

end

//y_cnt
always @(posedge clk1, negedge rst_n)
begin
if(!rst_n)
y_cnt <= 0;
else
begin
if(x_cnt == 10'd799)
begin
if(y_cnt == 10'd482)
y_cnt <= 0;
end
else
y_cnt <= y_cnt + 1;
end
end

//vga_hsyn
always @(posedge clock, negedge rst_n)
begin
if(!rst_n)
vga_hsyn <= 0;
else
if(x_cnt < 10'd640)
vga_hsyn <= 1'b1;
else
vga_hsyn <= 0;
end

//vga_vsyn
always @(posedge clock, negedge rst_n)
begin
if(!rst_n)
vga_vsyn <= 0;
else
if(y_cnt < 10'd480)
vga_vsyn <= 1'b1;
else
vga_vsyn <= 0;
end

//hsyn,vsyn
always @(posedge clock, negedge rst_n)
begin
if(!rst_n)
begin
hsyn <=0;
vsyn <=0;
end
else
begin
hsyn <= x_cnt <= 10'd50;
vsyn <= y_cnt <= 10'd6;
end
end

//red
always @(posedge clock, negedge rst_n)
begin
if(!rst_n)
red <= 0;
else
red <= (vga_red && vga_hsyn && vga_vsyn);
end

//green
always @(posedge clock, negedge rst_n)
begin
if (!rst_n)
green <= 0;
else
green <= (vga_green && vga_hsyn && vga_vsyn);
end

//blue
always @(posedge clock, negedge rst_n)
begin
if(!rst_n)
blue <= 0;
else
blue <= (vga_blue && vga_hsyn && vga_vsyn);
end

always @(posedge clock, negedge rst_n)
begin
if(!rst_n)
begin
vga_red <= 0;
vga_green <= 0;
vga_blue <= 0;
end
else
begin
if (x_cnt > 10'd10 && x_cnt < 10'd120)
begin
vga_red <= 1'b1;
vga_green <= 0;
vga_blue <= 0;
end
else if (x_cnt >10'd120 && x_cnt < 10'd240)
begin
vga_red <= 0;
vga_green <= 1'b1;
vga_blue <= 0;
end
else if(x_cnt > 10'd240 && x_cnt < 10'd360)
begin
vga_red <= 0;
vga_green <= 0;
vga_blue <= 1'b1;
end
else if(x_cnt > 10'd360 && x_cnt < 10'd480)
begin
vga_red <= 1'b1;
vga_green <= 1'b1;
vga_blue <= 0;
end
else
begin
vga_red <= 0;
vga_green <= 0;
vga_blue <= 0;
end
end
end
endmodule
请问最后显示什么图像?最好解释一下大概意思,谢啦
我说那位沙发,干你丫,明白人几眼就看出个大概了,还用的着你吗
展开
 我来答
大爷光头
2010-10-05 · 超过16用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:39.3万
展开全部
这个显示的是网格状的
有暗红色 白色 黑色 等
像80年代的床单 哈哈
yangshuhe33
2010-10-04 · TA获得超过752个赞
知道小有建树答主
回答量:335
采纳率:0%
帮助的人:263万
展开全部
我干,都是穷鬼!
给个200分我就给你看了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
峥峥好
2010-10-04 · 超过31用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:0
展开全部
程序我写过,关键看定义的RGB三种颜色的具体2进制表示了,呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式