【FPGA】VGA显示文字、彩条、图片 |
您所在的位置:网站首页 › 华硕笔记本怎么全屏显示图片和文字 › 【FPGA】VGA显示文字、彩条、图片 |
录
一、VGA概述1.1 简述1.2 管脚定义1.3 行、场时序及分辨率
二、VGA显示文字2.1 点阵汉字生成2.2 工程建立2.3 引入ip核-实现特定时钟频率+不同分辨率显示2.3 代码实现2.4 上板验证
三、VGA显示彩条3.1 代码实现3.2 上板验证
四、VGA显示图片4.1 24位位图4.2 引入ROM ip核4.3 代码实现4.4 上板验证tb文件
小小的总结参考文献
一、VGA概述
1.1 简述
**VGA(Video Graphics Array)**视频图形阵列是IBM于1987年提出的一个使用模拟信号的电脑显示标准。VGA接口即电脑采用VGA标准输出数据的专用接口。VGA接口共有15针,分成3排,每排5个孔,显卡上应用最为广泛的接口类型,绝大多数显卡都带有此种接口。它传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。 ![]() 大家要是想了解更多的内容,比如原理等,可点击下方连接去百度百科查看: 百度百科-VGA 1.3 行、场时序及分辨率 VGA时序标准红色区域表示在一个完整的行扫描周期中,Video 图像信息只在此区域有效,黄色区域表示在一个完整的场扫描周期中,Video 图像信息只在此区域有效,两者相交的橙色区域,就是 VGA 图像的最终显示区域。 其他可详见此博主的博客(点击跳转) 二、VGA显示文字笔主整篇文章中使用的板子都是 EP4CE115F29C7,使用其他板子问题不大,但引脚绑定不太一样,可自行对应板子查找更改。 引脚![]() ![]() ![]() ![]() ![]() ![]() 其他分辨率更改都是类似。 2.3 代码实现 vga_param笔主因为老师要求不同分辨率,所以只定义两种,其他可自行添加(根据前面的那个分辨率显示参数表格) `define vga_640_480//这里在你使用不同分辨率的时候要改变 //笔主因为老师要求不同分辨率,所以定义两种,其他可自行添加(根据前面的那个分辨率显示参数表格) `ifdef vga_640_480 //执行操作A `define H_Right_Border 8 `define H_Front_Porch 8 `define H_Sync_Time 96 `define H_Back_Porch 40 `define H_Left_Border 8 `define H_Data_Time 640 `define H_Total_Time 800 `define V_Bottom_Border 8 `define V_Front_Porch 2 `define V_Sync_Time 2 `define V_Back_Porch 25 `define V_Top_Border 8 `define V_Data_Time 480 `define V_Total_Time 525 `elsif vga_800_600 //执行操作B `define H_Right_Border 0 `define H_Front_Border 40 `define H_Sync_Time 128 `define H_Back_Porch 88 `define H_Left_Border 0 `define H_Data_Time 800 `define H_Total_Time 1056 `define V_Bottom_Border 0 `define V_Front_Porch 1 `define V_Sync_Time 4 `define V_Back_Porch 23 `define V_Top_Border 0 `define V_Data_Time 600 `define V_Total_Time 628 `endif vga_ctrl `include "vga_param.v" module vga_ctrl ( input wire clk , //vga clk 640*480 25.2MHz input wire rst_n , //复位信号 input wire [23:0] data_disp , // output reg [10:0] h_addr , //数据有效显示区域行地址 output reg [10:0] v_addr , //数据有效显示区域场地址 output reg vsync , // output reg hsync , // output reg [07:0] vga_r , //RGB三色 output reg [07:0] vga_g , // output reg [07:0] vga_b , // output reg vga_blk , //VGA 消隐信号 output wire vga_clk // ); //参数定义 parameter H_SYNC_STA = 1 ,//行同步开始信号 H_SYNC_STO = `H_Sync_Time ,//行同步停止 H_Data_STA = `H_Sync_Time + `H_Back_Porch + `H_Left_Border,//行数据开始 H_Data_STO = `H_Sync_Time + `H_Back_Porch + `H_Left_Border + `H_Data_Time ,//行数据开始 V_SYNC_STA = 1 , V_SYNC_STO = `V_Sync_Time , V_Data_STA = `V_Sync_Time + `V_Back_Porch + `V_Top_Border, V_Data_STO = `V_Sync_Time + `V_Back_Porch + `V_Top_Border + `V_Data_Time; reg [11:00] cnt_h_addr ; //行地址计数器 wire add_h_addr ; wire end_h_addr ; reg [11:00] cnt_v_addr ; //场地址计数器 wire add_v_addr ; wire end_v_addr ; //行地址计数器 always @(posedge clk or negedge rst_n) begin if(!rst_n)begin cnt_h_addr = `H_Total_Time - 1; //场地址计数器 always @(posedge clk or negedge rst_n) begin if(!rst_n)begin cnt_v_addr = H_Data_STA) && (cnt_h_addr = V_Data_STA) && (cnt_v_addr |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |