MyException - 我的异常网
当前位置:我的异常网» Verilog » 基于FPGA驱动VGA显示图片的小疑点

基于FPGA驱动VGA显示图片的小疑点

www.MyException.Cn  网友分享于:2013-10-08  浏览:0次
基于FPGA驱动VGA显示图片的小问题

         学习VGA显示图片的过程中,遇到了一个小问题,我在显示屏上开了一个60x60的框,放了一张图片进去显示,但是最终的结果如下图所示。

  出现了一个竖黑边,看了看代码,分析了一下逻辑没问题,然而看这个显示那肯定是有问题的,然后仿真了一下看看,时序图如下。

正确的时序

错误的时序

  我这是的是当行计数器记到200和场计数器记到200的时候显示ROM中的数据,在显示屏中开出一个60x60的正方形显示区域,对比上两幅图可得,第二幅图在当行计数器计数到200的时候lcd_data本应该是ROM里的数据,但是却输出的是16’h00,这是因为我原始的代码写的是当行计数器记到200的时候给ROM地址加1,然后有个使能信号将ROM的输出读出,但是实际上行计数记到200的同时ROM地址已经加1,那么ROM的第一个数据就没法读出来,然后从第二个数据开始显示,即每一行的第一个数据都没有给出所以最终会显示出一个竖黑边,那么这个问题怎么解决呢?很简单,就是在行计数器记到199的时候给使能信号,所以当显示屏显示第200个数据的时候,ROM的第一个数据正好读出,代码如下:显示结果如下

 1 //---------------------------------------------
 2 //addra
 3 always @(posedge clk or negedge rst_n)begin
 4     if(!rst_n)
 5         addra <= 16'd0;
 6     else if(addra == 3600 - 1'b1)
 7         addra <= 16'd0;
 8     else if(lcd_x >= 200 && lcd_x < 260 && lcd_y >= 200 && lcd_y < 260)
 9         addra <= addra + 1'b1;
10     else
11         addra <= addra;
12 end
13 
14 //-----------------------------------------------------------------------
15 //pic_en
16 reg     pic_en;
17 always @(posedge clk or negedge rst_n)begin
18     if(!rst_n)
19         pic_en <= 1'b0;
20     else if(lcd_x >= 200 && lcd_x < 260 && lcd_y >= 200 && lcd_y < 260)
21         pic_en <= 1'b1;
22     else 
23         pic_en <= 1'b0;
24 end
25 
26 //-----------------------------------------------------------------------
27 //data_en
28 reg     data_en;
29 always @(posedge clk or negedge rst_n)begin
30     if(!rst_n)
31         data_en <= 1'b0;
32     else if(lcd_x >= 199 && lcd_x < 259 && lcd_y >= 200 && lcd_y < 260)
33         data_en <= 1'b1;
34     else 
35         data_en <= 1'b0;
36 end    
37     
38 //lcd_data    
39 reg     [15:0]    lcd_data_r0;
40 reg     [15:0]    lcd_data_r1;
41     
42 always @(posedge clk or negedge rst_n)begin
43     if(!rst_n)
44         lcd_data_r0 <= 16'b0;
45     else if(lcd_y > 0 && lcd_y <= 150)
46         lcd_data_r0 <= `WHITE;
47     else if(lcd_y > 150 && lcd_y <= 350)
48         lcd_data_r0 <= `GREEN;
49     else if(lcd_y > 350 && lcd_y <= 480)
50         lcd_data_r0 <= `BLUE;
51     else 
52         lcd_data_r0 <= 16'b0;
53 end
54
55 always @(posedge clk or negedge rst_n)begin
56     if(!rst_n)
57         lcd_data_r1 <= 16'b0;
58     else if(pic_en == 1'b1)
59         lcd_data_r1 <= douta;
60     else
61         lcd_data_r1 <= 16'b0;
62 end
63     
64 //assign lcd_data = (pic_en == 1'b1)? `CYAN: lcd_data_r0;//开出一个紫颜色的框
65 
66 assign lcd_data = (pic_en == 1'b1)? lcd_data_r1: lcd_data_r0;

 

转载请注明出处:NingHeChuan(宁河川)

个人微信订阅号:开源FPGANingHeChuan

如果你想及时收到个人撰写的博文推送,可以扫描左边二维码(或者长按识别二维码)关注个人微信订阅号

知乎ID:NingHeChuan

微博ID:NingHeChuan

原文地址:http://www.cnblogs.com/ninghechuan/p/7577224.html 

文章评论

写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员的鄙视链
程序员的鄙视链
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
程序员必看的十大电影
程序员必看的十大电影
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
一个程序员的时间管理
一个程序员的时间管理
如何成为一名黑客
如何成为一名黑客
旅行,写作,编程
旅行,写作,编程
为什么程序员都是夜猫子
为什么程序员都是夜猫子
每天工作4小时的程序员
每天工作4小时的程序员
程序员都该阅读的书
程序员都该阅读的书
老程序员的下场
老程序员的下场
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
那些争议最大的编程观点
那些争议最大的编程观点
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
中美印日四国程序员比较
中美印日四国程序员比较
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
Java程序员必看电影
Java程序员必看电影
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员和编码员之间的区别
程序员和编码员之间的区别
我的丈夫是个程序员
我的丈夫是个程序员
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员应该关注的一些事儿
程序员应该关注的一些事儿
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
 程序员的样子
程序员的样子
10个调试和排错的小建议
10个调试和排错的小建议
代码女神横空出世
代码女神横空出世
漫画:程序员的工作
漫画:程序员的工作
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有