微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 求指点!setup和hold可以同时为负么

求指点!setup和hold可以同时为负么

时间:10-02 整理:3721RD 点击:
求指点!对setup和hold的要求可以同时为负么?什么情况下可以同时为负时序还不出现错误?

当然有可能同时为负值啊,magin足够多的情况下时序不会有错~

能具体解释一下么,什么情况下就同时为负了

你说的是 library setup/hold time 吧,同时为负是不可能的,自相矛盾。
平常两个都是正数,我的理解是分别考虑 worst case 再加上 transition 需要时间。

能具体解释一下么不太懂

那你要先了解 setup 和 hold 是什么

从概念上讲的话setup是时钟上升沿到达之前数据应保持稳定的时间,hold是时钟上升沿到达后数据应保持稳定的时间

标题


为什么要保持稳定?竞争冒险。那这样两个都是正值了。
至于为什么可能出现负值,因为flip-flop 端口到 gate 有一段delay,如果clock 那段delay明显要大,setup就可能是负值了。

那hold也是同样的道理吧,可是为什么不能同时为负我还是不太明白,希望您能再解释一下,谢谢

同时为负就是:
CLK_cell_delay > DATA_cell_delay 且 DATA_cell_delay > CLK_cell_delay,而且这是必要条件不是充分条件,还要考虑 clock 的 transition



哦,好像明白了,谢谢

不能吧,setup和hold不能都为负值,二者之和需要保持为一个正的常数。这个值为输入数据保持稳定的时间。

一个很容易理解的方法:
先找到一条hold违例的路径,由于hold跟时钟周期无关,那么基于这条路径的setup check时,逐渐缩小时钟周期,这种scenario就制造出来了。
在实际的设计中,以下几个原因可以存在同时hold和setup违例:
1. clock tree 延迟过大,共同路径较短,存在较大的OCV derate
2. data path逻辑长,存在较大的OCV derate
3. 时钟频率快,性能要求高
-Joemool

不可能

1、library中单元的setup time和hold time可以同时为负吗?
不可以
① 在时序单元上,setup time表示的是数据在时钟沿之前必须稳定的时间,hold time表示的是数据在时钟沿之后必须稳定的时间。也就是说数据必须保证稳定的时间为(Tsetup + Thold)"最小采样窗"。
② 在较复杂的时序单元上,clock path与data path的长度不同,延时不同,可能导致setup time或者hold time为负。但是为了保证“最小采样窗”大于零,这也必须保证(Tsetup + Thold)>0成立

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top