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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: Anturze

[讨论] set_multicycle_path会不会存在亚稳态问题??

[复制链接]
 楼主| 发表于 昨天 13:50 | 显示全部楼层
本帖最后由 Anturze 于 2024-12-24 13:54 编辑


flyskyseu 发表于 2024-12-24 10:37
这样设计有问题啊,肯定会有被setup采到的风险


那设计应该如何做呢?假如说源数据的组合逻辑延迟大概就是源时钟的半个周期左右,让源时钟给个valid信号保证采样时钟只采样一次?
 楼主| 发表于 昨天 14:21 | 显示全部楼层


mgc455 发表于 2024-12-23 18:19
约束时按照设计来写的,一个周期的setup对于工具以及设计来说都是不需要考虑的。如果需要考虑第一个周期 ...


主要考虑两个时钟间最差路径肯定是没有一个周期的setup时间,但是最好路径正好是一个周期的setup时间情况
发表于 昨天 14:45 | 显示全部楼层
不到一个周期的打一拍,超过的设set_muliticyle_path
发表于 昨天 14:58 | 显示全部楼层
其实也可以设成setup 2 hold 1,让后端PR修掉timing问题就好了
 楼主| 发表于 昨天 15:10 | 显示全部楼层


flyskyseu 发表于 2024-12-24 14:58
其实也可以设成setup 2 hold 1,让后端PR修掉timing问题就好了



                               
登录/注册后可看大图



应该还是hold设0吧
 楼主| 发表于 昨天 15:29 | 显示全部楼层


flyskyseu 发表于 2024-12-24 14:58
其实也可以设成setup 2 hold 1,让后端PR修掉timing问题就好了



                               
登录/注册后可看大图



应该hold设0吧
发表于 7 小时前 | 显示全部楼层


你这种情况hold应该设为1。在使用multi cycle时,采样沿是第2个红色上升沿,第1个红色上升沿要么不采样,要么采样值不被使用,因此不需要针对这个非采样沿去检查setup或hold的,需要针对采样沿去检查hold。
 楼主| 发表于 6 小时前 | 显示全部楼层


coolbear2021 发表于 2024-12-25 09:00
你这种情况hold应该设为1。在使用multi cycle时,采样沿是第2个红色上升沿,第1个红色上升沿要么不采样, ...


hold设1,第一个采样沿就无法检查呀,如果出现一个周期的亚稳态不就有问题了
发表于 20 分钟前 | 显示全部楼层


Anturze 发表于 2024-12-25 09:54
hold设1,第一个采样沿就无法检查呀,如果出现一个周期的亚稳态不就有问题了
...


如果使用multi cycle了,那么一定还有另外一个信号用于指示哪个时钟沿是有效的采样沿,比如叫data_valid,在第1个红色上升沿时,data_valid=0,在第2个红色上升沿时,data_valid=1。采样寄存器在data_valid=0时即第1个红色上升沿时不应该采样的,这个时候的数据变化是否满足setup或hold是不需要检查的。采样寄存器逻辑应该是这个样子的,if(data_valid==1) sample <= din。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-25 16:22 , Processed in 0.034935 second(s), 5 queries , Gzip On, Redis On.

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