在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5966|回复: 15

[求助] 大家一起来讨论下亚稳态的问题吧

[复制链接]
发表于 2013-11-5 10:28:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
最近遇到了亚稳态的问题,绕不过去,还望大家指点一下,谢谢。
采用同步寄存器链的方法可以消除亚稳态,但是亚稳态最终稳定在0或者1上并不是由输入决定,它和各种因素有关,是个随机值。也就是说同步寄存器链对于亚稳态也不能保证逻辑上的正确。只能最大限度消除亚稳态的传递。是这样吗?
发表于 2013-11-5 10:57:32 | 显示全部楼层
不对。如果你说的同步寄存器是指两个寄存器串联在一起,那么其输出是确定的。换句话说,输入是1,两个锁存之后,输出是1;输入是0,两个锁存之后,输出是0.

亚稳态是发生在第一个锁存器之后,第二个锁存器之后发生亚稳态的概率是几万年一次。
 楼主| 发表于 2013-11-5 13:17:36 | 显示全部楼层
回复 2# adamsogood

即使概率很小,但是也是会发生的吧。如果第一个寄存器采样发生了沿打沿的问题,出现了亚稳态。第一个寄存器输出值在一段时间内发生变化,但是这个值最后稳定在0还是1,恐怕是没法确定的吧。
发表于 2013-11-5 19:38:21 | 显示全部楼层
回复 3# asukatang

对的,从理论上来说,概率没有办法降到0,这里面有个概念叫平均失效时间(MTBF=1/FailureRate),和触发器本身的电气特性和器件工作频率有关,两级触发器同步可以使这个参数变得很大,使得出现亚稳态的概率大大降低。

更多可以看看这本书的第一章《The Art of Hardware Architecture》
   http://bbs.eetop.cn/viewthread.php?tid=345638&extra=&highlight=the%2Bart%2Bof%2Bhardware&page=1
发表于 2013-11-5 21:22:39 | 显示全部楼层
你说的是对的,两级寄存器的作用主要是最大限度的消除亚稳态的传递,在第一级寄存器发生亚稳态时,第二级寄存器的输出是不确定的。所以单纯的用两级寄存器的方式处理亚稳态问题,需要保证信号脉冲周期比采样时钟周期大;
发表于 2013-11-8 23:51:45 | 显示全部楼层
http://bbs.eetop.cn/thread-318374-1-1.html

这个讨论的很好。我也学习了。

下面是一段引用:
“有用的 亚稳态有个特点是可以传播。也就是说,如果只打一拍,那么很可能将一个不确定的状态传到logic的下一级。要是打两拍的话,第二拍出现亚稳态的概率将会非常的小,这样就会减少亚稳态的传播。
至于“经过resolution time之后Q端将稳定到0或1上,但是究竟是0还是1,是随机的,与输入没有必然的关系”,举个例子,如果原clk的data由0--->1,在第二拍DFF首次接收第一拍DFF的data的时候,可能接收到0,也可能接收到1.不过都没有关系。如果这时候接收到1,就说明catch到了新的data,如果这时候catch到了0,也没有关系,下一个clock肯定就会catch到1。做跨时钟的时候,就像楼上说的,要靠协议来保障提前或者落后catch新的数据应该OK,不会对logic造成影响.”
发表于 2013-11-10 21:44:54 | 显示全部楼层
回复 1# asukatang


    是的。
两级同步只能保证亚稳态不会继续传播下去,它只保证(或者说,基本上能保证)最终的逻辑值是稳定的,但是不能保证最终得到的逻辑值一定是正确的。

如果你的应用对这个错误比较敏感,那么可以采取别的方式加以处理,例如异步FIFO
 楼主| 发表于 2013-11-12 09:28:28 | 显示全部楼层
各位大侠,学习了,其实我还有一个观点,就是亚稳态出现时是因为跨时钟域的时序违例,也就是说,采到的这个数据本身是没有意义的,不管他是稳定在0还是稳定在1,都是没有意义的。这个东西从它出身就注定它是个异类,他就不属于逻辑正确和逻辑错误,他就是一个不一定。关键就是防止这个不一定传递下去。
发表于 2013-11-19 12:16:29 | 显示全部楼层
一个只存在于教科书上的问题,实际中很难碰到。
发表于 2016-4-28 17:09:02 | 显示全部楼层
亚稳态要处理的是2个:
1)为防止亚稳态一级一级的传播下去,应该采用同步器。以降低产生亚稳态的概率
2)同步器虽然降低了亚稳态产生的概率,但是不能保证逻辑上输出正确的逻辑值。因此一般需要被同步的信号比同步器时钟周期要长,以保证在第二次采样时候能正确采到逻辑值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-17 06:49 , Processed in 0.032075 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表