今天调试 视频 4k(3840 x 1920)的vsync信号(时钟为 297Mhz) 进入 170Mhz 的时钟域, 发现输出来的信号信号抖动特别厉害。后来才发现这是不同一时候钟域 造成的影响。 快 时钟域的信号进入 慢时钟域 可能出现 採集不到的情况。所以我把 一个时钟的高电平 变为 3个时钟的高电平, 这样就能保证 慢时钟域肯定可以採集到。
always @(posedge clk or negedge reset_n)
begin
if (~reset_n)
begin
rdaddr_req <= 1'b0;
// frame_counters <= 13'b0;
end
else if (nvsync_dly1 && (~nvsync))
begin
rdaddr_req <= 1'b1;
end
else if (nvsync_dly3 && (~nvsync_dly2))
rdaddr_req <= 1'b0; /////////////////////
end
所以跨时钟域信号处理, 一定要小心!!!