一些模块分享之——图像帧率检测模块

一个图像帧率检测模块的verilog程序分享:

功能说明:检测图像帧率

使用的编辑器:Notepad++

顶层接口说明:如下图

2945a17868374740a39030e3ed2494fb.png

 

verilog程序源码:

module frame_rate_test#(
			parameter			ila_en = 1'b0,			// ila使能
			parameter			clk_freq = 100_000_000	// 图像时钟频率, unit: Hz
    )(
	input	wire				i_clk,					// 图像时钟
	input	wire				i_vs,					// 图像场信号
	output	reg		[7:0]		o_frame_rate = 8'b0		// 图像帧率
	);
	
			localparam			time_1s = clk_freq;
			
			reg		[1:0]		vs_r;
			reg		[31:0]		clk_cnt = 32'd0;
			reg		[7:0]		frame_cnt = 8'd0;
			
always @ ( posedge i_clk ) begin
	vs_r <= { vs_r[0], i_vs };
end			
always @ ( posedge i_clk ) begin
	if ( clk_cnt >= ( time_1s - 1'b1 ) ) begin
		clk_cnt <= 32'd0;
	end else begin
		clk_cnt <= clk_cnt + 1'b1;
	end
end
always @ ( posedge i_clk ) begin
	if ( clk_cnt >= ( time_1s - 1'b1 ) ) begin
		frame_cnt <= 8'd0;
	end else begin
		frame_cnt <= frame_cnt + ( vs_r == 2'b01 );
	end
end
always @ ( posedge i_clk ) begin
	if ( clk_cnt >= ( time_1s - 1'b1 ) ) begin
		o_frame_rate <= frame_cnt;
	end else begin
		o_frame_rate <= o_frame_rate;
	end
end

generate if ( ila_en == 1'b1 ) begin
	ila_d1024_w8 			ila_frame_rate(
		.clk				( i_clk	), // input wire clk
		.probe0				( { o_frame_rate } ) // input wire [7:0]  probe0  
		);
end else begin
	;
end	endgenerate

endmodule

 

或见资源图像帧率检查模块verilog程序资源-CSDN文库

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值