最近 做一个项目------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移向能够解决问题。
时间: 2024-11-07 14:23:50