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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3084|回复: 4

[求助] 不明白的Worst-case th

[复制链接]
发表于 2013-5-31 15:20:41 | 显示全部楼层 |阅读模式

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

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

x
本人利用Quartus II综合后得到Worst-case th中的Actual time为负值,不明白为什么会是负值呢?如图 QQ截图20130531152013.jpg ,这个负值说明什么问题,在什么情况下才会是负值,什么情况下才会是正负?
发表于 2013-5-31 16:05:37 | 显示全部楼层
worst case th应该是hold吧
required time是None,说明你并没有做约束,因此slack也是N/A

hold time为负值并没有问题,你看到的教科书中hold是指时钟沿之后数据需要稳定的时间。

事实上,教科书上只是在分析一个DFF。

假如分析的cell是一个比较复杂的组合+时序逻辑,cell的某一个数据端口是D,某一个时钟端口是CK
1. 如果D和CK在cell内部没有经过延时直接连接到某个DFF,那么这个cell上D相对于CK的setup/hold time跟传统教科书上是一致的,假设setup是0.1ns,hold是0.2ns。

2. 如果CK在cell内部直接连接到某一个DFF,而D经过一堆的复杂组合逻辑,延时是1ns,那么从该cell的端口来看,setup的要求是0.1+1, hold要求是0.2-1=-0.8

3. 如果D在cell内部直接连接到某一个DFF,而CK经过几级buf延时了0.5ns才到达DFF,那么从cell的端口来看,setup的要求是0.1-0.5=-0.4,hold要求是0.2+0.5=0.7ns。

上面第二种情况就是负的hold,对应到altera的LE上,可能就会出现负的hold
 楼主| 发表于 2013-5-31 20:33:35 | 显示全部楼层
回复 2# warmheard
在你举的这3点中,第三点的保持时间依然可以指在时钟沿到达cell之后需要保持的时间,但第二点我尝试着还用这个理论来解释,却怎么也解释不不合理,因为在第二点中,需要过了1.1ns的建立时间后时钟沿才到达cell,那么还用这个理论来解释的话,我认为保持时间应该还是0.2ns才对啊?!不好意思,小弟初学,所以还不能正确理解
发表于 2013-5-31 22:46:03 | 显示全部楼层
你理解的hold time还是针对单一的寄存器,你这样想

针对第二条:
cell内部的DFF才是hold 检查的根节点,如果想满足D在CK后面需要保持0.2ns以上,那么从cell端口上来看,只需要D在CK后面保持0.2-1 也就是如果D的变化在CK前面不超过0.8ns时,D经过1ns延时,到达寄存器端口时即可满足寄存器上数据在CK之后保持0.2ns以上。

这就是传说中的负hold time
发表于 2013-6-2 10:34:29 | 显示全部楼层
顶下2楼。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 20:19 , Processed in 0.019747 second(s), 11 queries , Gzip On, Redis On.

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