verilog驱动VGA显示
系统框图如下

PLL分频模块
此模块使用锁相环IP核自动生成,相关分辨率的像素时钟不同,需要根据实际分辨率进行频率的设置。
常用VGA分辨率的时钟以及行同步和场同步如下:


VGA时序图如下:


VGA控制模块
module clk_ctrl (
input wire vga_clk, //VGA时钟
input wire rst_n,//复位
input wire [15:0] pic_data,//输入的像素点信息
output wire [9:0] pic_x,//输出显示像素的坐标
output wire [9:0] pic_y,//输出显示像素的坐标
output wire hsync,//行同步信号
output wire vsync,//场同步信号
output wire [15:0] rgb_data//输出的VGA像素点信号
);
//分辨率为640*480
//parameter define
parameter H_SYNC = 10'd96 , //行同步
H_BACK = 10'd40 , //行时序后沿
H_LEFT = 10'd8 , //行时序左边框

该博客介绍了如何使用Verilog语言设计一个VGA控制器,通过PLL分频模块生成VGA时钟,然后在VGA控制模块中计数产生行同步和场同步信号,确定有效显示区域并获取像素坐标。图像显示模块根据坐标生成对应的颜色信息,最终在640x480分辨率下显示出彩色条纹。
最低0.47元/天 解锁文章
3555

被折叠的 条评论
为什么被折叠?



