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 ...
随机推荐
- tomcat jvm参数优化
根据gc(垃圾回收器)的选择,进行参数优化 JVM给了三种选择:串行收集器.并行收集器.并发收集器,但是串行收集器只适用于小数据量的情况,所以这里的选择主要针对并行收集器和并发收集器. -XX:+Us ...
- jQuery_2_常规选择器-高级选择器
高级选择器 层次选择器 1. 后代选择器 $("#d1 p") 获取追溯到的多个DOM对象 (无论儿子还是孙子都是后代) 2. 子选择器 $("# ...
- UVA Stacks of Flapjacks 栈排序
题意:给一个整数序列,输出每次反转的位置,输出0代表排序完成.给一个序列1 2 3 4 5,这5就是栈底,1是顶,底到顶的位置是从1~5,每次反转是指从左数第i个位置,将其及其左边所有的数字都反转,假 ...
- Unity结合Flask实现排行榜功能
业余做的小游戏,排行榜本来是用PlayerPrefs存储在本地,现在想将数据放在服务器上.因为功能很简单,就选择了小巧玲珑的Flask来实现. 闲话少叙.首先考虑URL的设计.排行榜无非是一堆分数sc ...
- codeforces 600D Area of Two Circles' Intersection
分相离,内含,想交三种情况讨论一下. 主要是精度和数据范围的问题,首先数据用long double,能用整型判断就不要用浮点型. 题目中所给的坐标,半径是整型的,出现卡浮点判断的情况还是比较少的. 最 ...
- 【洛谷1337】[JSOI2004] 吊打XXX(模拟退火经典题)
点此看题面 大致题意: 一个平面上有\(n\)个点,每个点有1个权值,现在要选择平面上的一个点,使这\(n\)个点的权值乘上到达选定点的距离之和最小. 模拟退火 我们可以用模拟退火来做这道题. 先将\ ...
- apache的安全增强配置(使用mod_chroot,mod_security)
apache的安全增强配置(使用mod_chroot,mod_security) 作者:windydays 2010/8/17 LAMP环境的一般入侵,大致经过sql注入,上传webshel ...
- C#获取Honeywell voyager 1400g扫码后的数据
一.在类方法中加入 System.IO.Ports.SerialPort com;二.在构造方法中加入 try { com = new System.IO.Ports.SerialPort(&qu ...
- ZJOI2004 午餐
题目传送门 嗯--我承认我看了题解,不过好歹有了点自己的思路,大约蒙出来了\(30\%\)(个人感觉)-- 学会\(DP\),任重而道远啊! Step1.贪心排序 先将每个人按吃饭的快慢排序,然后再进 ...
- Java十进制转成二进制 八进制 十六进制
int a = 357;//十进制转成二进制System.out.println(Integer.toBinaryString(a)); package com.swift; import java. ...