基于fpga的vga学习(2)

时间:2022-09-15 12:45:00

本次学习主要向配合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. &lbrack;置顶&rsqb;&NewLine; 基于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. MonogDB初探增加和删除

    1.插入并保存文档       在插入数据之前,首先用mongodb Shell命令db.baseUser.find() 查找集合的数据.      想必大家能猜到结果,什么东西都没有,那接着来说说怎 ...

  2. js计算散点图方程式

    //pointArrayX,pointArrayY 为两个数组,分别为x轴对应的点和y轴对应的点 function getEquationPara(pointArrayX, pointArrayY) ...

  3. String的内存分配

    1.String类是final类不能被继承 2.String str="abc"的内部工作 (1)先在栈中定 一个名为str的String类的引用变量 String str: (2 ...

  4. eclipse4&period;3 kepler中安装maven

    1.软件准备 a:Eclipse 4.3 http://www.eclipse.org/downloads/ b:maven http://maven.apache.org/download.cgi ...

  5. vim编程配置方法

    vim简介Vim 有以下几个模式:1) 正常(normal)模式,缺省的编辑模式:下面如果不加特殊说明,提到的命令都直接在正常模式下输入:任何其它模式中都可以通过键盘上的 Esc 键回到正常模式.2) ...

  6. Python&&num;160&semi;Python实现批量安装android&&num;160&semi;apk包

    基于Python实现批量安装android apk包 by:授客 QQ:1033553122 1.相关软件包及文件下载 下载地址:adb软件包及批量安装apk包的py文件.zip 2.测试环境 Win ...

  7. 第四章&&num;160&semi;栈与队列(c4)栈应用:中缀表达式求值

  8. 【Ray Tracing in One Weekend 超详解】 光线追踪1-3

    学完了插值,我们来学习在场景里面添加一个立体彩色球(三维插值) 按照惯例,先看效果: Chapter4: Adding a sphere 我们又一次面临图形学的主要任务. 我们需要再次回顾coord1 ...

  9. Oracle sqlldr导入之&OpenCurlyDoubleQuote;MAXIMUM ERROR COUNT EXCEEDED”

    昨天看到一个同事在通过PL/SQL Developer工具把文本数据往oracle表;有两个文本:一个有30万条记录:一个7万多条记录.在导入到过程中:出现错误记录还需要点击确认.不过使用黑科技(屏幕 ...

  10. test20181007 wzoi

    题意 分析 考场40分 错误的Manacher+dp. 用\(f(i)\)表示\(s_{1 \sim i}\)的最长偶数回文覆盖长度,在Manacher的同时用刷表法转移,每次还要对\(f(i-1)\ ...