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 , //行时序左边框
H_VALID = 10'd640 , //行有效数据
H_RIGHT = 10'd8