VGA显示器驱动设计与验证

这篇文章详细描述了使用Verilog语言实现的VGA控制器模块,包括场同步信号处理、时钟生成、图像数据传输以及帧同步的逻辑。作者探讨了时钟锁定、复位信号的作用,并对坐标信号的计算进行了调整以确保图像同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.原理

场同步信号的单位是像素点

场同步信号的单位是一行

@60的含义是每秒钟刷新60帧图像

全0表示黑色

2.1 CLK_gen.v

module CLK_gen(
	input wire 		sys_clk		,
	input wire 		sys_rst_n	,
	
	output wire 	CLK_out		,
	output wire 	locked		
);

parameter STATE=1'b0;
reg [1:0] cnt;
reg       flag_clk;

assign locked=STATE;
assign CLK_out=flag_clk;



always@(posedge sys_clk or negedge sys_rst_n)
	if(sys_rst_n==1'b0)
		cnt<=2'b0;
	else if(cnt==2'd1)
		cnt<=2'b0;
	else 
		cnt<=cnt+1'b1;
		
always@(posedge sys_clk or negedge sys_rst_n)
	if(sys_rst_n==1'b0)
		flag_clk<=1'b0;
	else if(cnt==2'd1)
		flag_clk<=1'b1;
	else
		flag_clk<=1'b0;

endmodule
		

	

2.2 Vga_ctrl.v

module Vga_ctrl(
	input wire 			Vga_clk		,
	input wire 			sys_rst_n	,
	input wire [15:0]	Pix_data	,
	
	output wire [9:0]    Pix_x		,
	output wire [9:0]    Pix_y		,	
	output wire [15:0]	rgb			,
	output wire 		    hsync		,
	output wire		    vsync
);

parameter 	H_SYNC=10'd96   , 
			H_BACK=10'd40   ,
			H_LEFT=10'd8    ,
			H_VALID=10'd640 ,
			H_RIGHT=10'd8   ,
			H_FRONT=10'd8   ,
			H_TOTAL=10'd800 ;
			
parameter	V_SYNC=10'd2	,
			V_BACK=10'd25   ,
			V_TOP=10'd8     ,
			V_VALID=10'd480 ,
			V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值