微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 关于setup holdup time计算

关于setup holdup time计算

时间:10-02 整理:3721RD 点击:

对setup holdup的理解:
首先,我们还是应该假设Setup和Hold时间是不变的,那么可以改变的是自己设计的组合电路的延时T2max和T2min。计算Setup violation时是用延时最长的路径来计算的,只要最长的路径没有setup violation,整个设计就不会有;而计算hold violation时是用延时最短的路径来计算的,只要最短的路径没有hold violation,整个设计就不会有。所以:
Tcko + T2max + Tsetup < T
T2min> Thold - Tcko
其中Tcko指从寄存器的时钟跳变到输出的时间。
OK,然后就解不等式就好了,无论考官出什么题,这两个公式不变就可以。
如果要忽略Tcko,就把里面的Tcko去掉就好了。
有人提出对于hold时间,忽略掉Tcko后,如果T2min为0,那hold时间岂不也应该为0?
正是如此!但是由于寄存器的hold时间不可能为0,所以这时必须插入buffer增大T2min使它大于Thold才可以满足hold时间的要求。
然后,我们再把时钟的因素考虑进来。由于时钟到达各个寄存器的时间不同,会引起时间差。注意,对于不同的寄存器之间,这时间差可能为正也可能为负,综合工具不可能为对每一对寄存器之间都一一计算,因而记这些时间差绝对值的最大值为Tskew。也称uncertainty。
对于建立时间,时钟skew的最坏情况是时钟往前偏移了Tskew时间;对于保持时间,时钟skew的最坏情况是时钟往后偏移了Tskew的时间。因此关系式变为:
Tcko + T2max + Tsetup < T - Tskew(特此说明:很多人以为这个公式有错,公式是没错的。注意紫色文字部分,如果是往后偏移才是用+Tskew,这里往前指的是最坏情况)
T2min> Thold - Tcko+ Tskew(注意紫色文字部分,如果是往前偏移就用-Tskew)
一般来说,在不考虑时钟skew的情况下,Thold总是小于Tcko的,所以即使是T2min等于0,保持时间的约束也是满足的,因而我们大多时候对保持时间不需要考虑太多,只要我们的组合逻辑满足周期约束(也就是setup的约束啦,计算周期约束肯定是要将setup时间算进去的)就可以。需要考虑hold time 约束的情况就是在有时钟skew的情况下,由于时钟skew的存在, Thold-Tcko + Tskew 很可能会大于0,因此,T2min如果等于0就不能满足条件,此时就需要加入buffer以增大组合逻辑的延时来满足这个条件。而在FPGA设计中,一般也无需考虑Hold时间的问题。

菜鸟学习了

很好的帖子

路过学习,谢谢小编~

不错,但是感觉讲的有点复杂了

收藏一下

路过再学习……今天又考到有skew的情况了~

讲得很好的帖子~

讲的很细致,很好

谢谢!

上一篇:网表的优劣
下一篇:ICC中的DRC

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

网站地图

Top