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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7822|回复: 5

[原创] 请问什么时候用两级flip-flop

[复制链接]
发表于 2012-6-9 10:12:14 | 显示全部楼层 |阅读模式

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

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

x
如图,在一个时钟域的跳变,在另一个时钟域采集,不需要两级FF吧?求指教

                               
登录/注册后可看大图
ff.jpg
发表于 2012-6-9 11:21:40 | 显示全部楼层
两级FF的必要性从数字逻辑上是看不出来的。这种措施是为了防止初级寄存器在setup/hold不满足时输出非稳态0/1的结果,而这个结果通过不止一条路径被采样,最终这些采样结果即便在同一个时钟沿,值也不同,使得原有的逻辑关系被破坏。

试想,假定对内部DFF,在时钟上升沿时刻,当D端<1.0V时输出0,D端>1.2V时输出1,则必然存在一个1.0V~1.2V之间的某个值,使得输出非0且非1------因为这个世界是模拟的。这就是“亚稳态”。

不妨设上面这个输出在这一拍先冲高到接近1再回落到接近0,且此输出驱动了2个DFF,而到这两个DFF的延时不同。这样的话就有可能延时小的DFF在下一拍采到0,而延时大的DFF采到1。这样逻辑关系就被破坏了,因为我们的数字逻辑是基于“同一拍采同一个输入得到同一个输出”的假设的。

当然,即便用两级DFF也有可能连续两次击中亚稳态,这个我们就要算一下概率了。通常几十兆频率下连续两次击中亚稳态的概率大概是几十年一次(MTBF),所以如果频率特别高的话也可以考虑用三级DFF。
 楼主| 发表于 2012-6-9 12:04:56 | 显示全部楼层
回复 2# Timme


   这样说来,我如果只有一条支路采样,就不需要考虑亚稳态的问题啦?因为你上面提到的是多条支路采到的结果可能不同。
发表于 2012-6-9 12:25:35 | 显示全部楼层


回复  Timme


   这样说来,我如果只有一条支路采样,就不需要考虑亚稳态的问题啦?因为你上面提到的是 ...
atlandis 发表于 2012-6-9 12:04




为了明确你的问题,我这样写出来。。。


数据传播路径: DFF1(原时钟域) -> DFF2(采样时钟域) -> DFF3(采样时钟域)  

如果DFF2的下级寄存器只有一个(DFF3),那就不用单独考虑打两拍,因为其实这样跟打两拍没有区别。

如果DFF2驱动了2个以上的寄存器,那就不行。
 楼主| 发表于 2012-6-9 12:42:54 | 显示全部楼层
回复 4# Timme


   非常感谢,我就想得到这句话,“DFF2驱动2个以上的寄存器”
发表于 2012-6-9 14:51:04 | 显示全部楼层
每个CMOS的门都有一定的放大能力,多级可以将不定态信号推到一个确定的状态
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-6 14:17 , Processed in 0.022425 second(s), 10 queries , Gzip On, MemCached On.

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