FPGA内部pattern生成 仅仅是时序方面

来源:互联网 发布:神枪手交易软件 编辑:程序博客网 时间:2024/06/05 05:47

moduleXO2_pattern(

input  wire       reset_n,

input  wire       clk_7425m,

output wire       pclk,

output reg        hsync,

output reg        vsync,

outputwire                  de,

output wire [9:0] whdi_Y,

output wire [9:0] whdi_CbCr

);

 

亲测验证可用,所有的时序均是同步时序逻辑设计。

同步于时钟的上升沿,下降沿采数据。(PS:与SMPTE的标准有一点区别,因为我们的应用环境是上升沿改变数据,下降沿采样数据)

 

 clk_7425m可以输入时钟有

PCLK

 

Video format

74.25Mhz

 

1080p30

74.17MHz

 

1080p29.97

148.5MHz

 

1080p60

148.35MHz

 

1080p59.96

 

 

设计的几个重点是同步时序逻辑的设计。

1.复位信号的同步设计

//复位信号同步处理

regreset_n_r1;

regreset_n_r2;

reglocal_reset_n1;

reglocal_reset_n;

reg[11:0] reset_count;

always@(negedgeclk_7425m) begin

reset_n_r1  <= reset_n;

reset_n_r2 <= reset_n_r1;

local_reset_n1 <= reset_n_r2 & reset_n_r1;

end

always@(negedgeclk_7425m or negedge local_reset_n1) begin

if (!local_reset_n1) begin

local_reset_n <= 1'b0;

reset_count <= 12'd0;

end

else begin

if (reset_count == 12'd2300)begin                //2300

local_reset_n <= 1'b1;

reset_count <=12'd2300;                        //2300

end        

else reset_count <= reset_count + 1'b1;

end

end

 

1.1对复位信号的变化同步到时钟的上升沿,因为下降沿作为HVDE信号的触发沿,所以避免时钟的下降沿触发的时候复位信号在一个不稳定的状态,对计数器产生的不确定状态的影响。

 

1.2对复位后的第一行数据进行了舍弃处理,计数器的设计使得第一行的数据不是标准的2200个像素点,所以舍弃处理。

 

0 0
原创粉丝点击