为什么复位也会引入亚稳态的问题?
如下图是带复位端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不能设置,如果同步器因为路径太长了还是会产生时序不满足的话那么就需要再多打几拍。
标签:异步,输出,复位,同步器,亚稳态,sdc,DFF From: https://blog.csdn.net/weixin_42664351/article/details/144449721