ROM+VGA 图片显示
内容
1、将一幅图片制成mif文件,初始化rom,图片像素为 120 * 60
2、驱动VGA,将图片显示在屏幕上
1、VGA 时序
下面是我的笔记截图,感觉更好理解。
2、640*480 60hz
VGA 为什么要选用 25Mhz 的时钟进行驱动呢?
1s时间内显示60幅图像,每幅图像的像素总数为 800 *525 (640*480是指的有效像素,800*525是包含了所有的,具体情况见下图)
因此完成一幅图像的时间为 1s/60 =16.6ms
完成一行需要 16.6ms / 525 =31.75us
完成一个像素 16.6ms / 800 = 40 ns
40ns对应的时钟频率为25Mhz.
从上面这副图可以提取的信息如下,我们将它参数化
//行时序参数
`define H_FRONT 'd16 //显示前沿
`define H_SYNC 'd96 //同步脉冲
`define H_BACK 'd48 //显示后沿
`define H_DISP 'd640 //有效时间
`define H_TOTAL 'd800 //总的
//场时序参数
`define V_FRONT 'd10
`define V_SYNC 'd2
`define V_BACK 'd33
`define V_DISP 'd480
`define V_TOTAL 'd525
行时序参数的单位是像素,场时序参数的单位是一行,根据这一点,设计两个计数器
//----------------------------------------------------------------------
//行时序设计
always @(posedge clk or negedge rst_n)begin
if(rst_n=='b0)begin
h_cnt <= ;
end
else if(h_cnt == `H_TOTAL - 'b1)begin
h_cnt <= ;
end
else
h_cnt <= h_cnt + 'b1 ;
end
assign hs=(h_cnt >= && h_cnt < `H_SYNC )? 'b0 : 1'b1 ; //----------------------------------------------------------------------
//场时序设计
always @(posedge clk or negedge rst_n)begin
if(rst_n=='b0)begin
v_cnt<=;
end
else if(h_cnt == `H_TOTAL - 'b1) begin
if(v_cnt == `V_TOTAL - 'b1)
v_cnt <= ;
else
v_cnt <= v_cnt + 'b1;
end
end assign vs = (v_cnt >= && v_cnt< `V_SYNC)? 'b0 : 1'b1 ;
以上就完成了VGA的驱动,非常简单。
本次设计的难点在于rom地址的设计,什么情况下改变地址的值。
首先设计像素左标,640*480个有效像素,第一行第一个坐标为(0,0),第二个为(0,1)以此论推,横坐标为 x_pose ,纵坐标为 y_pose 。
至于为什么是 260 和 210太难解释了,不过我会把所有工程打包,提供下载,大家可以参考分析。
assign address_1 =(area_1)? (x_pose-)+*(y_pose-) : 'b0 ;
结果:
程序代码:链接:http://pan.baidu.com/s/1mi0eSNu 密码:8g64
由于资源的限制,只能显示很小的图片,表示很不舒服,我一定要学会设计SDRAM,走向巅峰!!
ROM+VGA 图片显示的更多相关文章
- 4.C#WinForm基础图片(显示和隐藏)
要求: 软件上有一张图片,默认是隐藏的.用户在文本框中输入身份证号(131226198105223452),点击按钮,如果年龄大于18岁,则显示图片. 知识点: 取当前年份,Date Time Now ...
- jQuery css3鼠标悬停图片显示遮罩层动画特效
jQuery css3鼠标悬停图片显示遮罩层动画特效 效果体验:http://hovertree.com/texiao/jquery/39/ 效果图: 源码下载:http://hovertree.co ...
- Latex图片显示问题(1)
用latex编译后,若用dvipdf生成pdf文件,则其中有个eps图的左侧会显示不完全:若是用dvips--pspdf生成pdf文件,图像显示没问题. 这种情况的问题出在,加载 graphicx 宏 ...
- WPF 图片显示中的保留字符问题
在WPF中显示一张图片,本是一件再简单不过的事情.一张图片,一行XAML代码即可. 但是前段时间遇到了一件奇怪的事: 开发机上运行正常的程序,在某些客户机器上却显示不了图片,而且除了这个问题,其它运行 ...
- JS控制图片显示的大小(图片等比例缩放)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Android ListView滑动过程中图片显示重复错乱闪烁问题解决
最新内容建议直接访问原文:Android ListView滑动过程中图片显示重复错乱闪烁问题解决 主要分析Android ListView滚动过程中图片显示重复.错乱.闪烁的原因及解决方法,顺带提及L ...
- java web图片显示到浏览器
今天研究了一下午,图片显示问题. jsp中获取绝对路径的方法:String contextPath = request.getContextPath();String path = request.g ...
- Android相机、相册获取图片显示并保存到SD卡
Android相机.相册获取图片显示并保存到SD卡 [复制链接] 电梯直达 楼主 发表于 2013-3-13 19:51:43 | 只看该作者 |只看大图 本帖最后由 happy小妖同学 ...
- cocos2d-x如何解决图片显示模糊问题
转载http://zhidao.baidu.com/link?url=JTUKP5quGfMQixLZSvtC2XlKMkQDyQbYW72_DRyD6KDRpkLs8_6poQtKkwsyqzU8q ...
随机推荐
- SqlServer图形数据库初体验
SQL Server2017新增了一个新功能叫做图形数据库.图形指的拓扑图形,是一些Node表和Edge表的合集,Node对应关系数据库中的实体,比如一个人.一个岗位等,Edge表指示Node之前的关 ...
- npm常用指令小记
查看本地指定包在npm远程服务器的版本信息 方式一: npm view <packageName> versions 方式二: npm info <packageName> 查 ...
- python内存泄露的诊断(转)
本篇文章非原创,转载自:http://rstevens.iteye.com/blog/828565 . 对于一个用 python 实现的,长期运行的后台服务进程来说,如果内存持续增长,那么很可能是有了 ...
- IOS tableView 去除分割线 和 不允许选中表格cell
//去除分割线 self.tableView.backgroundColor=[UIColor colorWithRed:///255.0 alpha:1.0]; self.tableView.sep ...
- 【BZOJ2243】[SDOI2011] 染色(树链剖分)
点此看题面 大致题意: 有一棵\(n\)个节点的无根树和\(m\)个操作,且每个节点有一个颜色.操作有两种:一种是将两点树上路径之间所有点染成颜色\(c\),另一种是询问两点树上路径之间颜色段的数量. ...
- 【洛谷1110】[ZJOI2007] 报表统计(两棵平衡树)
点此看题面 大致题意: 有一个序列,三种操作.\(INSERT\)操作是在原数列第\(i+1\)个元素之前插入一个新元素\(k\),\(MIN\)\(GAP\)操作是查询相邻两个元素的之间差值的最小值 ...
- Go - 环境安装
目录 你好,Go语言 环境安装 目录结构 命令 开发工具 学习网址 小结 你好,Go语言 Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. 因工作需要,准备入坑,先从环境安装开始 ...
- python_68_迭代器
''' 我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器和带yield的ge ...
- ERR_FAILED 浏览器访问
我是针对上一篇的问题 继续的探究 ,我百度了 看了这 https://zhidao.baidu.com/question/1175643597811783659.html 之后我就用 电脑管家进行系 ...
- 阿里云服务器下安装LAMP环境(CentOS Linux 6.3) 安装与配置 FTP 服务器
我们经常会使用 FTP,把本地电脑上的文件上传到服务器上,或者把服务器上的文件下载到自己的电脑里面.FTP 有服务端和客户端,FTP 的服务端提供了这种传输文件的服务,FTP 的客户端提供了传输文件的 ...