本次学习主要向配合basys2实行。

上次学习vga的rgb三个output都是1位的,但是我看了basys2的rgb分别是332位,这里让我卡顿了很久,

之后通过查资料才知道,rgb的不同大小表示的只是不同的颜色。

vga256其实 vga的基本工作原理都是相同的,这里只是将332通道的rgb表示出来,所以本次代码中单写332通道的rgb

reg [7:0]vga_rgb;

always@(posedge clk_25)
begin
if(!valid)
vga_rgb <= 8'd0;
else
begin
case(x_dis)
10'd0:
begin
if(y_dis >= 10'd0 && y_dis < 10'd30)
vga_rgb <= 8'd0;
else if(y_dis >= 10'd30 && y_dis < 10'd60)
vga_rgb <= 8'd16;
else if(y_dis >= 10'd60 && y_dis < 10'd90)
vga_rgb <= 8'd32;
else if(y_dis >= 10'd90 && y_dis < 10'd120)
vga_rgb <= 8'd48;
else if(y_dis >= 10'd120 && y_dis < 10'd150)
vga_rgb <= 8'd64;
else if(y_dis >= 10'd150 && y_dis < 10'd180)
vga_rgb <= 8'd80;
else if(y_dis >= 10'd180 && y_dis < 10'd210)
vga_rgb <= 8'd96;
else if(y_dis >= 10'd210 && y_dis < 10'd240)
vga_rgb <= 8'd112;
else if(y_dis >= 10'd240 && y_dis < 10'd270)
vga_rgb <= 8'd128;
else if(y_dis >= 10'd270 && y_dis < 10'd300)
vga_rgb <= 8'd144;
else if(y_dis >= 10'd300 && y_dis < 10'd330)
vga_rgb <= 8'd160;
else if(y_dis >= 10'd330 && y_dis < 10'd360)
vga_rgb <= 8'd176;
else if(y_dis >= 10'd360 && y_dis < 10'd390)
vga_rgb <= 8'd192;
else if(y_dis >= 10'd390 && y_dis < 10'd420)
vga_rgb <= 8'd208;
else if(y_dis >= 10'd420 && y_dis < 10'd450)
vga_rgb <= 8'd224;
else
vga_rgb <= 8'd240;
end
10'd40,10'd80,10'd120,
10'd160,10'd200,10'd240,
10'd280,10'd320,10'd360,
10'd400,10'd440,10'd480,
10'd520,10'd560,10'd600,10'd640:
vga_rgb <= vga_rgb + 1'b1;
default: ;
endcase
end
end

assign vga_r = vga_rgb[7:5];
assign vga_g = vga_rgb[4:2];
assign vga_b = vga_rgb[1:0];

这里主要写了将640x480的分辨率,分成256个小格,分别显示不同的颜色

主要代码:10'd40,10'd80,10'd120,
10'd160,10'd200,10'd240,
10'd280,10'd320,10'd360,
10'd400,10'd440,10'd480,
10'd520,10'd560,10'd600,10'd640:
vga_rgb <= vga_rgb + 1'b1;

这里可以理解,每当它所显示的小格的位置发生变化时,rgb+1,则它的颜色就会发生变化。

基于fpga的vga学习(2)的更多相关文章

  1. 基于fpga的vga学习(3)

    本次学习如何通过vga发送数字.文字.字母, 首先利用建模软件,将想要发送的数据通过数学建模转换,这里我用的软件是PCtoLCD,具体效果如下 这里可以看出,建模将数据装换成0和1,一个字母用16x8 ...

  2. 基于fpga的vga学习(1)

    这次学习我主要掌握了vga的基本运行原理. vga基本概念: VGA时序主要包括两条信号线(HS,VS)的输出——行扫描和场扫描.VGA采用逐行扫描,每个像素对应的点扫描.行与行之间存在消隐以及显示时 ...

  3. 基于FPGA的VGA显示设计(二)

    上一篇:基于FPGA的VGA显示设计(一)     参照 CrazyBingo 的 基于FPGA的VGA可移植模块终极设计代码  的工程代码风格,模块化处理了上一篇的代码,并增加了一点其它图形. 顶层 ...

  4. 基于FPGA的VGA可移植模块终极设计【转】

    本文转载自:http://www.cnblogs.com/lueguo/p/3373643.html 略过天涯   基于FPGA的VGA可移植模块终极设计 一.VGA的诱惑 首先,VGA的驱动,这事, ...

  5. 基于FPGA的VGA显示实验设计

    基于FPGA的VGA显示实验设计 成果展示(优酷视频): 视频: 基于FPGA的VGA显示技术(手机控制) http://v.youku.com/v_show/id_XNjk4ODE3ODUy.htm ...

  6. 基于FPGA的VGA显示静态图片

    终于熬到暑假了,记过三四周的突击带考试,终于为我的大二画上了一个完整的句号,接下来终于可以静心去做自己想做的事情了,前一阵子报了一个线上培训班,学学Sobel边缘检测,之前一直在学习图像处理,但是因为 ...

  7. [置顶] 基于FPGA的VGA简易显存设计&NIOS ii软核接入

    项目简介 本项目基于Altera公司的Cyclone IV型芯片,利用NIOS II软核,2-port RAM与时序控制模块,实现64*48分辨率的显存(再大的显存板载资源m9k不够用) 实现效果如下 ...

  8. 基于FPGA驱动VGA显示图片的小问题

    学习VGA显示图片的过程中,遇到了一个小问题,我在显示屏上开了一个60x60的框,放了一张图片进去显示,但是最终的结果如下图所示. 出现了一个竖黑边,看了看代码,分析了一下逻辑没问题,然而看这个显示那 ...

  9. 基于FPGA的VGA显示设计(一)

    前言 FPGA主要运用于芯片验证.通信.图像处理.显示VGA接口的显示器是最基本的要求了. 原理 首先需要了解 : (1)VGA接口协议:VGA端子_维基百科 .VGA视频传输标准_百度 引脚1 RE ...

随机推荐

  1. 既然还看不到未来之光,那就从骄阳开始的地方--IT携行

    对于还没真正踏入IT的小白菜来说,哪有资格把刚学到的鸡毛蒜皮儿,三脚猫都不算的东西逮出来献丑,献丑都不算,还不如我们来谈谈人生,练练脸皮...... 我出发的起点肯定不同,多方限制,可能缺乏时光;那正 ...

  2. 数字证书原理(ssl,https)

    文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理, ...

  3. Python设计模式 - UML - 通信图(Communication Diagram)

    简介 通信图表示对象之间的消息往来,是表述时序图中信息交互的另一种UML图,介绍完时序图就要对照学习一下通信图,二者是一体两面的. 通信图和时序图可以相互转换,二者的侧重点不同,通信图侧重哪些对象发送 ...

  4. 解决修改css或js文件后,浏览器缓存未更新问题

    问题描述:最近在上线新版本项目的时候,发现有的用户的操作还是调用的老版本JS里面的内容,这样就造成原来新的JS里面加上的限制不能限制用户的操作,从而导致用户可以重复操作. 问题产生原因: 如果在用户之 ...

  5. Android 代码判断是否有网络

    public void okGo() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemServic ...

  6. centos7下Etcd3集群搭建

    一.环境介绍 etcd主要功能是分布式的存储键值,优点不多说了,分布是集群,自动选举等等,自行百度,主要说下配置方法,折腾了几天,终于优点眉目了,记录下操作方法,本文参考了如下链接 https://w ...

  7. WCF 服务的集合管理器的设计

    今天是2019年2月1日,时间过得针对,马上就年底了,当前新年也离我们越来越近了.在此,我也祝福经常浏览我博客的朋友们“新年快乐.阖家欢乐”,来年有一个好彩头.在即将结束这一年之计,写今年的最后一片文 ...

  8. 20172306 2018-2019-2 《Java程序设计与数据结构》第九周学习总结

    20172306 2018-2019-2 <Java程序设计与数据结构>第九周学习总结 教材学习内容总结 无向图 图是由结点和这些结点之间的连接构成 就图来说,结点叫做顶点,结点之间的连接 ...

  9. 团队项目Alpha冲刺阶段之学习总结

    线性布局 线性布局是程序中最常见的种布局方式,可以分为水平线性布局和重直线性布局两种,通过Android:orientation属性可以设置线性布局的方向.线性布局的特点是各个子元法彼此连接,中间不留 ...

  10. linux学习第十九天 (Linux就该这么学) 结课了

    今天最后一天课程了,结课了,还有点舍不得那,在些也祝 李老师 事业蒸蒸日上,超来超好, 今天内容是部署了 LNMP 部署动态网站环境(linux  +nginx+mysql+php) 安装文件挺别多, ...