信号跨时钟域

 

 

处理跨时钟域的数据有单bit和多bit之分,而打两拍的方式常见于处理单bit数据的跨时钟域问题。

简单说下两级寄存器的原理:两级寄存是一级寄存的平方,两级并不能完全消除亚稳态危害,但是提高了可靠性减少其发生概率。

信号跨时钟域_第1张图片

 

 

场景分析一:单bit低频信号跨时钟域到高频时钟域

低频时钟域下的脉冲信号en_pulse,跨时钟域到高频时钟域,作为使能信号。

信号跨时钟域_第2张图片

 

一般,不建议直接将低频时钟域下的en_pulse不做处理、直接就用高频时钟采样做触发器的使能信号。

建议,将低频时钟域下的en_pulse信号,使用高频时钟打两拍做同步处理,造一个上升沿在高频时钟域里使用。

事例,如下面代码所示。

信号跨时钟域_第3张图片

 

场景分析二:单bit高频窄脉冲信号跨时钟域到低频时钟域

 

 

 

 

场景分析三:多bit数据跨时钟域处理

当数据需要跨时钟域时,可以采用双端口FIFO,或者RAM。当FIFO非空时,即可读访问数据。

信号跨时钟域_第4张图片

 

参考文献:

1、 https://blog.csdn.net/weixin_43343190/article/details/82956033
2、 https://blog.csdn.net/lureny123/article/details/12907533
   

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(FPGA基础进阶)