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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6678|回复: 21

[求助] 异步复位同步释放的亚稳态问题

[复制链接]
发表于 2020-12-10 15:21:51 | 显示全部楼层 |阅读模式

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

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

x
image.png
   在网上找到的解释是说,如果异步复位信号rst_async_n在CLK上升沿期间撤销,那么会造成REG1的输出出现亚稳态,所以不能直接使用。但经过二级同步后,输出信号rst_sync_n就是异步复位同步释放了,降低了异步复位信号出现亚稳态的概率。
   没有理解的地方在于,如果rst_async_n在CLK上升沿期间撤销,REG1会出现亚稳态,那么REG2不是同样也会出现亚稳态吗,都是同一个异步复位信号呀。
发表于 2020-12-10 17:25:51 | 显示全部楼层
本帖最后由 失重wlq 于 2020-12-10 17:27 编辑

其实触发器的亚稳态可以进一步分成两种:1是数据信号D端不满足setup/hold,导致clk采样时不确定采样出来的是0还是1造成的亚稳态;2是这里说的复位信号不满足setup/hold造成的亚稳态。但其实这两种本质上是一样的,复位信号也可以把它看成是一种输入的数据信号,当复位释放时,如果没满足setup/hold(即复位释放点实在触发器的setup/hold窗口内),那么此时触发器不确定这个复位信号到底生不生效,也就是说不确定是输出复位值(复位生效)还是数据输入端的值(复位不生效),这就是说图中的reg1会发生亚稳态的原因,那为什么reg2不会发生亚稳态呢?因为reg2的输入是reg1的输出,复位释放之前这里是0,那么就算reg2发生了亚稳态,reg2不确定是输出复位值还是输入的数据,但是因为复位值和数据输入都是0,所以无论reg2判定复位有不有效,输出都是0,可以看成是不会发生亚稳态(即不确定输出是0还是1)。但是其实reg2本质上是发生了亚稳态的,它输出的0不能确定是复位信号导致的还是说是数据输入端来的。有点绕,不知道说得清不清楚
发表于 2020-12-10 18:01:52 | 显示全部楼层


失重wlq 发表于 2020-12-10 17:25
其实触发器的亚稳态可以进一步分成两种:1是数据信号D端不满足setup/hold,导致clk采样时不确定采样出来的 ...


很nice,懂~
 楼主| 发表于 2020-12-10 20:06:54 | 显示全部楼层


失重wlq 发表于 2020-12-10 17:25
其实触发器的亚稳态可以进一步分成两种:1是数据信号D端不满足setup/hold,导致clk采样时不确定采样出来的 ...


理解了,描述得很清楚,谢谢你!
发表于 2020-12-11 08:53:53 | 显示全部楼层


失重wlq 发表于 2020-12-10 17:25
其实触发器的亚稳态可以进一步分成两种:1是数据信号D端不满足setup/hold,导致clk采样时不确定采样出来的 ...


说的很好
发表于 2021-9-5 20:04:11 | 显示全部楼层


失重wlq 发表于 2020-12-10 17:25
其实触发器的亚稳态可以进一步分成两种:1是数据信号D端不满足setup/hold,导致clk采样时不确定采样出来的 ...


这种异步复位,同步释放的复位电路,该如何约束呢?
发表于 2021-9-5 22:22:48 | 显示全部楼层
本帖最后由 innovation 于 2021-9-5 22:54 编辑


james_guo 发表于 2021-9-5 20:04
这种异步复位,同步释放的复位电路,该如何约束呢?


本质上来说就是需要约束图中rst_sync_n这个网络的延迟(REG2的输出延迟+布线延迟+REG3的建立时间+时钟不确定(抖动、偏斜。。。)),剩下的就看你是基于哪个平台设计了,看你的平台的器件,工具能做哪些了。
比如,我用的xilinx + ISE平台(当然,这个平台,xilinx一直用各种文档提醒大家在它家的平台最好不要像图中那样干),针对这个能做的就不多:
1,摘自xilinx ug612 :
image.png

2. 摘自xilinx ug612:

image.png
3. 摘自xilinx ug612:

image.png



发表于 2021-9-19 19:47:10 | 显示全部楼层


失重wlq 发表于 2020-12-10 17:25
其实触发器的亚稳态可以进一步分成两种:1是数据信号D端不满足setup/hold,导致clk采样时不确定采样出来的 ...


你说的很对,这也是“异步复位同步撤离电路”设计的核心思想。但同时也要注意,在芯片物理实现阶段要去check复位信号rst_async_n到达REG1和REG2之间的时间差,不能超过2个REG1/CLK CYCLE,因为如果一旦大于了这个时间差,就失去了我们所讨论的这个“核心思想”,对于REG2而言,其D输入和CDN复位值可能出现竞争。

发表于 2022-11-28 13:27:38 | 显示全部楼层


失重wlq 发表于 2020-12-10 17:25
其实触发器的亚稳态可以进一步分成两种:1是数据信号D端不满足setup/hold,导致clk采样时不确定采样出来的 ...


比较明白,我是复位从D端输入,两拍同步,即复位和时钟同步,就不会产生亚稳态
发表于 2022-12-14 16:28:18 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-9-8 10:51 , Processed in 0.025410 second(s), 8 queries , Gzip On, Redis On.

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