一个图像帧率检测模块的verilog程序分享:
功能说明:检测图像帧率
使用的编辑器:Notepad++
顶层接口说明:如下图
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文库