FPGA 时序问题

          近期 做一个项目------4个 1080p(1920 x 1080) 合成 一个 4K(3840 x 2160,297M)的接口板。当 1080p 进去, 1080p出来的时候,视频正常 播放出来。 但是当 1080p进, 4k出来的时候,视频图像上会有水波纹。当时就猜想是 FPGA 送给 下游器件SII9136的 时序不能满足。于是把输出的时钟反向有了一定的效果, 水波纹少了非常多。后来用示波器量了下,发现时序还缺少一些。然后又 加了两次 反向。 Oh, God. 成功了! 撒花。。。。。。

       

 assign IDCK_OUT = ~clk_out_test1;
  assign clk_out_test = ~clk_rd;
  assign clk_out_test1 = ~clk_out_test;
  //assign D_OUT[35: 28] =      //

  



  always @(posedge clk_rd or negedge global_reset_n)
    begin
      if (~global_reset_n)
         begin
           D_OUT[31: 0] <= 32'b0;
		//   D_OUT[25: 0]  <= 26'b0;
         end
      else
        begin
          D_OUT[31: 24] <= dout_c[7: 0];      //  DD35  ------DD28
        
         D_OUT[19: 12] <= dout_c[15: 8];     /// DD23 -----DD16
       //   D_OUT[26:24] <= 3'b0;
      //    D_OUT[15: 0] <= 16'b0;
          //   D_OUT[34: 27] <= dout_c[7: 0];
          //   D_OUT[23: 16] <= dout_c[15: 8];
        end
    end
        总结:  一般说来,当FPGA->下游器件的时序不够的时候, 反向或者 PLL移向可以解决这个问题。 

posted @ 2015-03-11 15:15  zfyouxi  阅读(225)  评论(0编辑  收藏  举报