一、说明
处理跨时钟域的数据可以分为单bit数据和多bit数据,而打拍的方法主要常见于处理单bit数据的跨时钟域问题。
打拍的本质是通过添加寄存器,对输入的数据进行延拍。其主要目标是消除亚稳态的影响。常见的是打2拍,也就是添加2级寄存器。
二、举例
现实中,假设我们存在2个时钟域,一个是工作在50mhz时钟(一个时钟周期是20ns),一个工作在125mhz时钟(一个时钟周期是8ns)。现在50mhz时钟下需要读数据,产生了一个读使能信号rd_en,持续2个时钟(也就是40ns)。那么我们的打拍时序是什么样的呢?
从图中可以看成,rd_d1是打一拍,rd_d2是打二拍,rd_d3是打三拍,rd_d4是打4拍。而我们通过rd_d3 & ~rd_d4,在第三拍的时候,产生一个内部使用的读请求脉冲信号rd_pl。文章来源:https://www.toymoban.com/news/detail-591283.html
三、消除亚稳态的原理
如果我们在时钟沿边沿进行相应数据的采集,由于数据的跳变不是瞬时发生的,我们采集到的数据是不确定的。通过打拍,我们在第二拍采集时,数据已经处在一个稳定的状态。文章来源地址https://www.toymoban.com/news/detail-591283.html
到了这里,关于跨时钟域处理方法(一)——打拍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!