Vivado 时序分析(理论篇) 卷一

引言

在之前我的文章中,已经写过时序分析,但当时仅解决了step slack的问题,为了加深进一步的理解,随着资料的不断增多,现在,重新进一步整理,当然这一次整理将是干货的归纳,并且纳入IC学习路线一文中,为IC中的PT工具的时序分析先铺垫道路。

参考文章:https://blog.****.net/ciscomonkey/article/details/88046646

1、建立余量

Vivado 时序分析(理论篇) 卷一
Vivado 时序分析(理论篇) 卷一
Vivado 时序分析(理论篇) 卷一
从图中可以看出,data arrival time 的时间点和data require time的时间点,只要两个相减,就是setup slack的值。并且需要保证slack>0.

而Fmax的值=1/(Tcycle -setup slack)

关于这个Fmax的理解:如果要让时钟可以快,更快,更快,显然,setup slack的余量更加充足,更容易让时钟更快,如果slack足够充足,我可以把Tsu这一段整体往前移动,移动,从而时钟的上升沿更快的到来,然而,想一下,如果slack很小很小,你想把Tsu往前提,也提不了,所以时钟快不起来。如果以极限来考虑,也就是说,我可以最多将Tsu提前slack这么一个长度,因此,得到Fmax的公式。

2、建立时间余量的Vivado软件分析