静态时序分析(STA)必须要获得单元延时(cell delay)和线延时(net delay)。
cell delay取决于:
input transition
: input transition越小,cell delay越小output load
: output load越小,cell delay越小PVT
一般看到的cell delay都是正值,实际上cell delay是存在负 delay的情况
,当output 的transition足够快,完全可能出现output 50%电平提前于input50%电平,即发生负delay情况。
出现负cell delay情况如下:
net delay的计算往往是将整个design中的net拆分成若干段来进行,同时把每段net用某种RC模型来表征。
PR工具布线后的database,需要利用Start-RC来进行RC抽取,以SPEF格式的RC文件输出。最后在Timing signoff工具PT中读取这个RC文件来进行delay的计算。
简单来说:
net delay =~ 3*R*C
所以R*C越大,net delay就越大。
net delay可能是负值吗?
答案是肯定的,在没有crosstalk的情况,net delay一定是正值。
假如存在crosstalk
,Net1 有一个上升沿的跳变时, Net2 也是从0到1的跳变,且transition变化比Net1还快时,此时就会存在一个负的crosstalk。正是由于这个negative的crosstalk,反而使得NET1的transition反而更好了,从而出现负的net delay
值。