(3)跨时钟域问题

1.单bit,慢时钟采快时钟
(3)跨时钟域问题_第1张图片

方法1:加宽源数据的宽度

原则:源数据宽度尽量保持到目标时钟的2个clk周期长度

如上图所示,clk2时钟频率是clk1时钟频率的1/3。d1为跨时钟域待传输的单bit数据

步骤1:在源端将d1打拍,然后将结果异或得到d_out1。(打几拍呢?——数据维持宽度达到目标时钟周期的两倍就行,所以本次是打了5拍)

步骤2:输出d_out1,clk2的触发器去采样d_out1,则肯定是能采到了

方法2:握手机制

原则:目的端根据flag信号去变化自己的值,源端根据返回的值来刷新flag信号

步骤1:当d1数据产生时,拉高flag信号并一直维持住,输出flag信号;

步骤2:clk2采样flag信号,当发现它拉高了,则输出d_out2的值;

步骤3:clk1采样d_out2的值,发现它变成了目标值,则拉低flag信号,至此,完成了对d1单bit信号的采样。

握手机制是完成当前bit值的采样之后才能进行下一位的采样。

2.单bit,快时钟采慢时钟

你可能感兴趣的:(数字IC设计从入门到实战,IC设计,跨时钟域,异步时钟)