基于fpga的vga学习(3)
本次学习如何通过vga发送数字、文字、字母,
首先利用建模软件,将想要发送的数据通过数学建模转换,这里我用的软件是PCtoLCD,具体效果如下
这里可以看出,建模将数据装换成0和1,一个字母用16x8的像素点构成,然后将前景表现 为1,背景表现为0,
这样子就可以直接用fpga通过对0和1的判断,直接赋予该像素点一种颜色,这里我将字母设置为红色,背景为绿色
主要代码:
//这里我要显示我的名字myz的参数
parameter line0 = 24'h000000,
line1 = 24'h000000,
line2 = 24'h000000,
line3 = 24'h000000,
line4 = 24'h000000,
line5 = 24'h000000,
line6 = 24'h000000,
line7 = 24'hfee77e,
line8 = 24'h494244,
line9 = 24'h492408,
line10 = 24'h492410,
line11 = 24'h491810,
line12 = 24'h491822,
line13 = 24'hed107e,
line14 = 24'h001000,
line15 = 24'h006000;
reg [4:0] bit_cnt;
always @(posedge clk_25 or negedge rst)
begin
if(!rst)
bit_cnt <= 5'h1f;
else if(x_cnt == 10'd442)
bit_cnt <= 5'd23;
else if(x_cnt > 10'd442 && x_cnt < 10'd446)
bit_cnt <= bit_cnt - 1'b1;
end
reg [7:0]vga_rgb;
always @(posedge clk_25)
begin
if(!valid)
vga_rgb <= 8'd0;
else if(x_cnt > 10'd442 && x_cnt < 10'd467)begin
case(y)
10'd231: if(line0[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_11100; //绿色
10'd232: if(line1[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd233: if(line2[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd234: if(line3[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd235: if(line4[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd236: if(line5[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd237: if(line6[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd238: if(line7[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd239: if(line8[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd240: if(line9[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd241: if(line10[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd242: if(line11[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd243: if(line12[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd244: if(line13[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd245: if(line14[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
10'd246: if(line15[bit_cnt]) vga_rgb <= 8'b111_000_00; //红色
else vga_rgb <= 8'b000_111_00; //绿色
default: vga_rgb <= 8'h00;
endcase
end
else
vga_rgb <= 8'h00;
end
基于fpga的vga学习(3)的更多相关文章
- 基于fpga的vga学习(2)
本次学习主要向配合basys2实行. 上次学习vga的rgb三个output都是1位的,但是我看了basys2的rgb分别是332位,这里让我卡顿了很久, 之后通过查资料才知道,rgb的不同大小表示的 ...
- 基于fpga的vga学习(1)
这次学习我主要掌握了vga的基本运行原理. vga基本概念: VGA时序主要包括两条信号线(HS,VS)的输出——行扫描和场扫描.VGA采用逐行扫描,每个像素对应的点扫描.行与行之间存在消隐以及显示时 ...
- 基于FPGA的VGA显示设计(二)
上一篇:基于FPGA的VGA显示设计(一) 参照 CrazyBingo 的 基于FPGA的VGA可移植模块终极设计代码 的工程代码风格,模块化处理了上一篇的代码,并增加了一点其它图形. 顶层 ...
- 基于FPGA的VGA可移植模块终极设计【转】
本文转载自:http://www.cnblogs.com/lueguo/p/3373643.html 略过天涯 基于FPGA的VGA可移植模块终极设计 一.VGA的诱惑 首先,VGA的驱动,这事, ...
- 基于FPGA的VGA显示实验设计
基于FPGA的VGA显示实验设计 成果展示(优酷视频): 视频: 基于FPGA的VGA显示技术(手机控制) http://v.youku.com/v_show/id_XNjk4ODE3ODUy.htm ...
- 基于FPGA的VGA显示静态图片
终于熬到暑假了,记过三四周的突击带考试,终于为我的大二画上了一个完整的句号,接下来终于可以静心去做自己想做的事情了,前一阵子报了一个线上培训班,学学Sobel边缘检测,之前一直在学习图像处理,但是因为 ...
- [置顶]
基于FPGA的VGA简易显存设计&NIOS ii软核接入
项目简介 本项目基于Altera公司的Cyclone IV型芯片,利用NIOS II软核,2-port RAM与时序控制模块,实现64*48分辨率的显存(再大的显存板载资源m9k不够用) 实现效果如下 ...
- 基于FPGA驱动VGA显示图片的小问题
学习VGA显示图片的过程中,遇到了一个小问题,我在显示屏上开了一个60x60的框,放了一张图片进去显示,但是最终的结果如下图所示. 出现了一个竖黑边,看了看代码,分析了一下逻辑没问题,然而看这个显示那 ...
- 基于FPGA的VGA显示设计(一)
前言 FPGA主要运用于芯片验证.通信.图像处理.显示VGA接口的显示器是最基本的要求了. 原理 首先需要了解 : (1)VGA接口协议:VGA端子_维基百科 .VGA视频传输标准_百度 引脚1 RE ...
随机推荐
- centos7 tomcat8+jdk1.8
(1) 下载Tomcat8压缩包进入 http://tomcat.apache.org/download-80.cgi 在binary Distributions下面,选择tar.gz包下载 [tar ...
- 【LOG4J】ログ出力の設定方法
参考URL: https://blog.csdn.net/zhengtaoit66/article/details/79551945 https://www.cnblogs.com/lujiango/ ...
- 获取select下拉框选中的的值
有一id=test的下拉框,怎么获取选中的那个值呢? 分别使用javascript方法和jquery方法 <select id="test" name="&quo ...
- Servlet第五篇(会话技术之Session)
Session 什么是Session Session 是另一种记录浏览器状态的机制.不同的是Cookie保存在浏览器中,Session保存在服务器中.用户使用浏览器访问服务器的时候,服务器把用户的信息 ...
- # 2018-2019-20175302实验一《Java开发环境的熟悉》实验报告
2018-2019-20175302实验一<Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java ...
- Android使用scrollview截取整个的屏幕并分享微信
先看看截图效果图 截取scrollview的屏幕 /** * 截取scrollview的屏幕 **/ public static Bitmap getScrollViewBitmap(ScrollVi ...
- c# post方法亲测可用
/// <summary> /// Post接口方法 /// </summary> /// <param name="requestUri">& ...
- 7C - 折线分割平面
我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示. Input ...
- MSSQL死锁进程查看及关闭
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran ...
- boost Asio网络编程简介
:first-child { margin-top: 0px; } .markdown-preview:not([data-use-github-style]) h1, .markdown-previ ...