【数字】异步复位同步释放的理解_解决sdc问题

目录

Recovery time和removal time:

为什么复位也会引入亚稳态的问题?

复位信号引入了亚稳态会有危险吗?

如果只做一级触发器同步可以吗?

两级触发器同步能彻底消除掉亚稳态的问题吗?

异步复位同步释放器,第二个DFF是否会存在亚稳态?


Recovery time和removal time:

在同步电路中,输入数据需要与时钟满足setup time和hold time才能进行数据的正常传输,防止亚稳态。同样的道理,对于一个异步复位寄存器来说,同样异步复位信号同样需要和时钟满足recovery time和removal time 才能有效进行复位操作和复位释放操作,防止输出亚稳态。

                recovery time(恢复时间)
                  撤销复位时,恢复到非复位状态的电平必须在时钟有效沿来临之前的一段时间到来,才能保证时钟能有效恢复到非复位状态,此段时间为recovery time,类似于同步时钟的setup time。

                removal time (去除时间):
                   复位时,在时钟有效沿来临之后复位信号还需要保持复位状态的一段时间为去除时间removal time(去除时间)。类似同步时钟hold time。

                总结:复位信号的操作(无论是复位还是释放)如果在时钟的recovery time和removal time之间的时间窗口内,都会产生亚稳态。

comment:从定义可以看出,recovery timeremoval time都指的是撤销复位或者置位而言的,即系统或者设备将要work起来,并不是指复位和撤销置位(系统或者设备都要停止work了,还管它亚稳态作甚!)

                异步复位信号一般会持续相对较长的时间,保证寄存器能复位完成。但是由于复位信号是异步的,我们不知道它会在什么时刻被释放。如果异步复位信号撤销时,不满足recovery time和removal time时,可能会造成亚稳态。

                很显然,并不是复位信号撤销时才可能出现亚稳态,复位信号一开始出现时,同样可能会存在亚稳态,只不过异步复位信号持续时间长,即使第一个周期出现了亚稳态(即第一个周期复位未成功),下一个时钟周期也不会再出现亚稳态了。

                如果复位信号的变化只持续刚刚一个时钟周期,那么复位信号开始和撤销时都可能会出现亚稳态。

为什么复位也会引入亚稳态的问题?

如下图是带复位端Rd和置位端Sd的DFF结构图。可以观察出Sd和Rd都会参与到Q输出的数据路径上,所以当异步时钟不满足recovery time和removal time的时候亚稳态还是会传播到Q端。

复位信号引入了亚稳态会有危险吗?

亚稳态导致的问题是当信号产生变化的时候,不能保证第一拍采样的值是固定的,就是一个不稳定的状态,既不是0也不是1。但是如果信号是稳定的,只会出现采样后信号的跳变,这种不会出现亚稳态,信号是确定的是0或者是1。系统需要保证后续逻辑输入的信号是稳定值。

如果只做一级触发器同步可以吗?

不可以,一级触发器的输出,永远存在亚稳态的可能。但是触发器输出的亚稳态在一个周期内特性会减弱,这种亚稳态特性能够被第二级同步器采样到的故障概率也比较小。

两级触发器同步能彻底消除掉亚稳态的问题吗?

不能。只能大大降低这个事情发生的概率,比如几十年出现一次。

异步复位同步释放器,第二个DFF是否会存在亚稳态?

首先分析异步复位同步器的第一个DFF,假设系统的复位是低有效,那么第一个DFF的输入端D需要接高电平。当reset释放的时候,第一个DFF的输出端需要将Q端的原来因为异步复位为0转变为1,此时可能会因为释放的时候reset的跳变距离时钟上升沿太近而产生亚稳态。这就是为什么这个同步器需要第二个DFF的原因。

因为有第二个DFF的存在,第一个DFF产生的亚稳态传播到第二个DFF的路程中大概率能被消除。但是第二个DFF不会受制于recovery time亚稳态的影响,因为第二个DFF当reset释放的时刻输入D端与输出Q端都是0。所以这个时刻输出是没有跳变存在,这时输出也不太可能会在两个不同值之间震荡。

以上摘自Clifford E. Cummings《Asynchronous & Synchronous Reset Design Techniques - Part Deux》

所以我们可以将输入到异步复位同步器的异步复位设置成false path,来忽略这个时序的check,但是同步释放之后到系统的reset不能设置,如果同步器因为路径太长了还是会产生时序不满足的话那么就需要再多打几拍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值