跨时钟域处理方法(一)——打拍

一、说明

        处理跨时钟域的数据可以分为单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。

三、消除亚稳态的原理

        如果我们在时钟沿边沿进行相应数据的采集,由于数据的跳变不是瞬时发生的,我们采集到的数据是不确定的。通过打拍,我们在第二拍采集时,数据已经处在一个稳定的状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值