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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 337|回复: 7

[求助] 异步复位如何穿过没有复位的数据路径?

[复制链接]
发表于 2025-8-4 13:14:44 | 显示全部楼层 |阅读模式

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

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

×
大佬们,再一个设计里面有两个路径,一个是控制路径,一个是数据路径。

一般控制路径都是异步复位同步释放,我看一些教程说上,数据路径的dff可以用不带复位的dff。
那这样就有可能有一个路径,让异步复位通过控制路径传播到数据路径的dff的D端,这样要怎么处理呀?
谢谢大佬们

发表于 2025-8-8 09:51:14 | 显示全部楼层
数据路径的DFF用不带复位的DFF,意思是这些DFF根本不用复位,D端信号来源全是控制逻辑或其它数据信号,这些信号不会把异步复位传过来的。
异步复位同步释放的复位信号,都是接到各个控制逻辑DFF的异步复位端,同步释放只是为了方便处理时钟和复位之间的相位关系,脑子里仍然可以想象这是个异步信号。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-8-8 10:47:38 | 显示全部楼层


   
kilua516 发表于 2025-8-8 09:51
数据路径的DFF用不带复位的DFF,意思是这些DFF根本不用复位,D端信号来源全是控制逻辑或其它数据信号,这些 ...


控制DFF如果被异步复位了,那Q端因为异步复位反转的那个边沿,不就是和clock异步嘛,然后这个Q端还连到了数据DFF的D端,这样不就是会引起数据DFF的亚稳态嘛?

这个亚稳态我感觉在一些情况下还是有可能传到控制DFF的D端的。

比如有个电路是这种关系
控制DFF1 -> 数据 DFF2 -> 控制DFF3

DFF1和DFF3产生异步复位,然后DFF2进入亚稳态,然后DFF1和DFF3同步释放,但是DFF2的亚稳态出现在了DFF3的D端。

是不是异步复位同步释放的电路,多几个dff打拍就没事了



回复 支持 反对

使用道具 举报

发表于 2025-8-8 13:57:48 | 显示全部楼层


   
EEDong 发表于 2025-8-8 10:47
控制DFF如果被异步复位了,那Q端因为异步复位反转的那个边沿,不就是和clock异步嘛,然后这个Q端还连到了 ...


这种亚稳态你不用管,因为你的数据路径是受你控制逻辑控制的,亚稳态的时候只是数据的亚稳态,但是你的控制逻辑应该会给出类似valid的信号,你应该是从设计上可以保证不会给出有效valid,等待你控制逻辑复位完成状态稳定后,真正输出数据的时候,亚稳态早就消失了,或者被后面的有效数据冲掉了。
回复 支持 反对

使用道具 举报

发表于 2025-8-8 14:00:28 | 显示全部楼层


   
EEDong 发表于 2025-8-8 10:47
控制DFF如果被异步复位了,那Q端因为异步复位反转的那个边沿,不就是和clock异步嘛,然后这个Q端还连到了 ...


也就是说你所谓的数据DFF2给到控制DFF3使用的时候,不应该直接用DFF2,而是应该首先会有一个伴随DFF2有效的标志位,在这个标志位有效的时候,DFF3才会从DFF2取值,而从电路上,这个标志位是一定可以在DFF2为亚稳态的时候将其和DFF3隔开的,比如实际生成个与门之类的。
回复 支持 反对

使用道具 举报

发表于 2025-8-8 14:06:48 | 显示全部楼层
你说的是一个RDC问题,即上游寄存器和下游寄存器不同时复位问题。如果有这样一条路径就要截断处理。数据路径不复位针对的是vld+data形式的data部分,下游控制路径看data一定要看vld,这样复位vld为0的时候下游控制路径要一并复位才能避免rdc问题。如果下游不复位,那就要求下游能够通过流程规避上游的异步复位带来的亚稳态,比如做coarse cg,比如状态机控制的过滤。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-8-8 17:49:43 | 显示全部楼层


   
robertlee2014 发表于 2025-8-8 14:06
你说的是一个RDC问题,即上游寄存器和下游寄存器不同时复位问题。如果有这样一条路径就要截断处理。数据路 ...


对对对,我其实就是在过spyglass的rdc检查的时候,有一堆rdc问题,但是都是这种在数据路径上的,请问大佬知道如何在spyglass里面声明数据路径什么的嘛?还是说spyglass可以自动识别(换言之就是我数量路径和控制路径就是没有隔离干净)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-8-8 17:51:31 | 显示全部楼层


   
kilua516 发表于 2025-8-8 14:00
也就是说你所谓的数据DFF2给到控制DFF3使用的时候,不应该直接用DFF2,而是应该首先会有一个伴随DFF2有效 ...


是的,我也是这么认为的,但是我用spyglass过rdc check的时候,刚才说的case疯狂Error,给我整的自我怀疑了。感觉应该是我没有约束好,大佬或许知道在spyglass要怎么声明自己的数据路径嘛?万分感谢大佬。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-8-26 06:06 , Processed in 0.022662 second(s), 3 queries , Gzip On, Redis On.

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