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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: xingyun666666

[讨论] 什么情况下,一条path既有setup violation,又有hold violation?

[复制链接]
发表于 2016-10-27 13:54:16 | 显示全部楼层
回复 9# mnluan


    显然hold啊,hold有问题就废了,setup有问题可以降频
发表于 2016-10-27 14:00:47 | 显示全部楼层
回复 2# Austen


    我认为就算是同一个PVT也是有可能同时存在setup和hold voilation的,如果频率过高,还有uncertainty ocv noise等等,很容易出现的。
发表于 2016-10-27 15:24:19 | 显示全部楼层
本帖最后由 鹏程琅月 于 2016-10-27 15:46 编辑

回复 2# Austen

您好,关于你说的同一个pvt,在uncertainty 不合理,T(周期)足够小,ocv_derate影响比较大的情况下,还有skew的情况下,还有lib 的Tsetup和Tck_q不那么合理的情况下,甚至有si影响的情况下,我感觉在同一个pvt下是可以出现同一个endpoint (reg的D端)上setup hold 同时有violation的情况的。
下面举个栗子来验证一下是不是这样的:
比如:在wc pvt下   ,考虑ocv,hold违约时:derate值(setup和hold的derate一样)是 da和db(da<1,db=1)。作用于clock path 和data path 上。
da*(Tlaunch +Tck_q + Tdata) -(db*Tcapture+Tuncertainty_h + Thold) + crpr <0;
其中Tlaunch 和Tcapture都是在wc的lib分析
在这个hold 有violation的基础上,假设setup 也有violation,
T+da*Tcapture -[db*(Tlaunch +Tck_q + Tdata)+Tuncertainty_s +Tsetup] +crpr <0;
假设不考虑fast slew 和slow slew的影响,ocv只体现在derate 上。则分析用得lib cell 一样都是wc下面的,即两式子中的Tlaunch 和Tcapture 和crpr Tck_q Tdata 相同。
当setup和hold同时有vio时候,上面两个不等式同时满足。
分析后得到(化简消去了Tlaunch分析):
-da*(Tunc_s+Tsetup) + da*da *(T+da*Tcapture) + (Tcapture+Tunc_h+Thold) +2crpr<0;
da*da*T +(da*da*da+1)*Tcapture + (Tunc_h+Thold)  +2crpr< da*(Tunc_s+Tsetup);
其中 da<1,db=1;
下面可以分析了:
<1>当Tunc_s+Tsetup 非常大的时候,即uncetrtainty设置不合理或者lib cell 的Tsetup很大的时候,貌似可以满足。(Tunc_s是setup的uncertainty同理Tunc_h是hold的);
<2>当不等式左边很小的时候,即:
T很小即:设计很高频。
(da*da*da+1)*Tcapture 很小,即:当da小于1,并且Tcap很短。
Tunc_h+Thold很小,即 Tunc_h很小。
2crpr很小即:common path很短。

其实公式里Tcapture也可以消去,然后按Tlaunch分析,不想再化简了,有兴趣的可以试试。可以判断跟skew有无关系。还有si的影响也没分析......
经过上面分析,这些因素可以导致同时发生setup hold violation。
个人意见,有什么错误和没想到的,请大神们指点。
发表于 2016-10-27 15:48:03 | 显示全部楼层
回复 13# 鹏程琅月


   对于给定的PVT下,hold一定是可以清掉的,只要在data path上加buffer得到足够的delay就可以了,结果是setup变得更加难看而已。
发表于 2016-10-27 15:55:36 | 显示全部楼层
回复 14# 杰克淡定


   我的意思是想分析甚至人为制造一种情况,在某些变量的影响下,会出现setup和hold同时违约。甚至在真正出现问题时候,怎么分析解决。当然在同一个pvt下面,hold violation可以优先clean,也可以优先把setup violation clean,但是另一个总会变得更差。我不知道我分析的对不对,请指正一下。这些因素设置的不合理是不是可能造成这种情况。
 楼主| 发表于 2016-10-27 16:46:33 | 显示全部楼层
回复 9# mnluan
请问,在考虑OCV的情况下,你们一般是将timing derate值只乘到clock path上吗?那Tsetup和Thold,在setup =0.9RT-1.0AT,Tsetup和Thold应该乘以0.9还是1.0?
发表于 2016-10-28 17:05:43 | 显示全部楼层


我同意您的结论,在同样的PVT条件下,如果出现极端的clock uncertainty,inter chip的OCV,以及小的Tperiod,那么setup time和hold time violation可能出现在同一个DFF的D端。不知道其他人有什么看法?
1. 你写的2个红色不等式(hold vio和setup vio),二者中有不同的变量,Tuncertainty_h,Thold,Tperiod,Tuncertainty_s,Tsetup , 人为地调整它们的大小,显然可以让两个不等式同时成立。但是,例子中通过论证合并不等式成立来说明2个不等式同时成立的做法有待商榷。比如,a1<b1, 且a2<b2,则a1+a2<b1+b2,但不能反推。
2. 1中说到可以调整Tperiod(Tp),Thold(Th)和Tsetup(Ts)的大小让2个不等式同时成立。但是注意应满足Tp>=Th+Ts。否则,不管在数据路径或者时钟路径上增加延迟都不能同时保证setup time和hold time满足要求。
发表于 2016-10-28 22:15:59 | 显示全部楼层
回复 16# xingyun666666


   一般情况下,只将timing derate值乘到clock path上,Tsetup和Thold保持不变。
发表于 2016-11-1 17:30:49 | 显示全部楼层
回复 1# xingyun666666


    有,data path太长,max和min delay差值很大,可能同时出现setup和hold问题
发表于 2016-11-1 22:34:58 | 显示全部楼层
有两种可能的情况:
1)时钟路径过长,ocv效应过大;
2)路径上的crosstalk过大,对setup和hold都有影响。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-22 05:19 , Processed in 0.020680 second(s), 7 queries , Gzip On, Redis On.

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