不满足建立时间则发生setuptimeviolation
不满足保持时间则发生holdtimeviolation
setuptime好修还是holdtime好修?
setuptime好修还是holdtime好修?说说道理。
说一些比较具体的方法,比如dc里和layout里操作。
我所知道的:
setup是由于数据太慢引起的,如果要修正,减少逻辑电路的延迟,加强驱动。
hold是由于数据太快引起的,加buf即可。
可以这样问,setup好修还是hold好修?
表面来说,hold好修,因为只是加buf,这样会影响到setuptime的问题;
setup难修,因为要更改设计,缩小延时,
加大buf,但是这样会引起holdtime的问题,反而变成一个复杂的问题。
2楼: | >>参与讨论 |
作者:hwwss于2005-8-2020:52:00发布:
你的问题是一个时序规划的问题,需要在芯片设计之初就要全面 需要在芯片设计之初就要全面规划好,核心就是平衡好关键路径的延时。同时借助与布局的技巧可以提供更多的手段。 |
3楼: | >>参与讨论 |
作者:china_soc于2005-8-239:08:00发布:
你理解的概念有问题 1.setup不满足,那么hold一定满足;hold不满足,setup一定满足。 2.hold好解决(正常功能的hold,测试模式下的hold有些麻烦),加buffer既可,加了buffer一般不会使setup不满足,因为加几个buffer就满足了,延时一定不会大于一个时钟周期T. 3.setup不满足的时候,解决起来向有些麻烦,最直接的办法是降频,但是频率一般都是由系统定的,所以降频基本不用;ic常用的办法是在综合的阶段来解决,有时布版方面也可以帮忙;最后综合和版图都解决不了的,那么由rtl来解决 4.tohwwss:芯片设计初规划的只是规划每个MODULE的时钟,是规划不到MODULE内部两个时序元件的setupandholdtime的。 |
4楼: | >>参与讨论 |
作者:xyws于2005-8-2415:03:00发布:
请教china_soc 请问china_soc,如何修测试模式下的hold,如何做测试模式下的时钟树?我是指在PR中 |
5楼: | >>参与讨论 |
作者:tiu于2005-8-258:43:00发布:
DCandlayout setupviolation在综合时候解决。constrain有一些技巧。实在不行,就要改RTL. holdtimeviolation在layout中解决,Astro会自动加上buffer的。但是最后几条软件也解决不了的path,就要靠最聪明的人脑了。 |
6楼: | >>参与讨论 |
作者:xianfeixue于2005-8-2611:53:00发布:
我的看法 前提,不修改constraint 1.holdviolation好修,一般通过在datapath上加buffer 2.setupviolation一般通过减少datapath延时,或者通过延迟参考时钟,但延迟参考时钟有可能会使下一级register产生setupviolation 如果设计出来的IC有setupviolation,可以通过降频来使用,但如果存在holdviolation则不行。 |
7楼: | >>参与讨论 |
作者:china_soc于2005-8-2710:50:00发布:
toxyws 如果前端rtl设计没有考虑到scan_ck的clocktree的问题,那么layout的时候很多要手工修,好像工具自动修比较困难(不一定对的,欢迎排砖) |
8楼: | >>参与讨论 |
作者:semi_cd于2005-8-299:13:00发布:
我的理解 |
9楼: | >>参与讨论 |
作者:semi_cd于2005-8-299:24:00发布:
我的理解是…… 我的理解是setup和hold的修调不存在哪个好修,只是解决方案不太而已! 另外,setup和hold在RTL级基本是无法预测的,在综合的时候必须要解决setup违背,而不严重的holdtime违背可以不修,因为在PR时会引入wiredelay,这些wiredelay可能会解决不严重的holdtime,而setup违背会更加严重! 我的理解,大家讨论! |
10楼: | >>参与讨论 |
作者:toad1981于2005-9-2422:00:00发布:
hold容易 hold容易一点吧,你加delaycell的时候要加在你voilation的那条路径的最后一级,即reg的D端就不会影响其它路径的setuptime了! |
11楼: | >>参与讨论 |
作者:designanalyzer于2005-9-270:02:00发布:
.. DC里使劲修setup就行了,hold基本上不用管。 另外, china_soc发表于2005-8-2309:08IC设计←返回版面 >你理解的概念有问题 >1.setup不满足,那么hold一定满足;hold不满足,setup一定满足。 为什么会这样呢?为什么不能setup&hold同时违反呢? 再想想看吧,你理解的概念有问题。;) 呵呵,不要误导了别的同学… |
12楼: | >>参与讨论 |
作者:china_soc于2005-9-2711:00:00发布:
todesignanalyzer 你的理解是两个时序元件间的延时非常小,小到数据t-setup以前就变化了,那新数据将旧数据冲掉了,而体现出setup和hold都不满足,但你想过没有,这个问题归根结蒂不还是hold的问题么,你在电路设计的时候,同一个path即调hold又调setup过么,没有吧,象上面的问题,调过hold那么setup就一定满足了,不妥地方请指教。 呵呵,你不误导了别的同学,但也不要太大牌么,说说理由,学习学习。论坛么,就是大家讨论的地方,我想谈不上误导,仅仅是建议而已:)。 |
13楼: | >>参与讨论 |
作者:designanalyzer于2005-9-2712:25:00发布:
.. 俺发现了个小问题,前面关于manualusefulskew的问题,确实也可能引起本级的问题。纠正一下。 但是于主旨无碍,setsup跟hold两者基本上没有必然联系。 |
14楼: | >>参与讨论 |
作者:windover于2005-9-2714:23:00发布:
没争得巴 一个说同一路径,一个说两个时序元件之间的所有路径。 |
15楼: | >>参与讨论 |
作者:designanalyzer于2005-9-2716:02:00发布:
有得争;-) 路径是用什么约束的?应该是from/to/through等等吧。 同一路径也有min/max之别,仍然可能同时存在setup&hold问题。 理不辩不明,请砸。 |
16楼: | >>参与讨论 |
作者:windover于2005-9-289:24:00发布:
同一路径也有min/max之别 〉同一路径也有min/max之别,仍然可能同时存在setup&hold问题。 你这是抬杠了。路径指path. |
17楼: | >>参与讨论 |
作者:designanalyzer于2005-9-2812:48:00发布:
.. 路径=path,这个俺懂,懂了好久了。 请楼上直接指出偶哪里在抬杠。 偶还真的没看出来我抬在处,真心求教。 |
18楼: | >>参与讨论 |
作者:windover于2005-9-2813:01:00发布:
同一路径 onepathfromffAtoffB. pathesformffAtoffB. 中文中特别“同一路径”和“所有路径”区别。 |
19楼: | >>参与讨论 |
作者:designanalyzer于2005-9-2813:17:00发布:
.. OK,如果你是完全地显式地指明了某条path的所有arc,那没得争。 但是请仔细看楼上各位讨论,有象你这样区分吗?以偏概全,值得商榷… 如果你坚持认为china_soc所说“1.setup不满足,那么hold一定满足;hold不满足,setup一定满足。”正确无误,俺只好不说话了。闪人,各位请继续。 如果你觉得我有断章取义的嫌疑,也请指出,谢谢! |
20楼: | >>参与讨论 |