时序漫谈之十四 · 看懂时序报告

沉默的歌手 Latticesemi 昨天

看懂时序报告是做STA的基础。今天我们来看看从时序报告里我们能看到哪些信息。时序报告格式没有统一的标准,为了方便起见,我们以Lattice的Diamond软件提供的时序报告为基础。尽管各个厂家的时序报告格式不尽相同,但从时序报告里我们要获得的信息是一样的。


Diamond会产生两个时序报告,分别是MAP之后的时序报告PAR之后的时序报告。这两个时序报告都放在当前的工程目录里。MAP之后的时序报告扩展名是 .tw1。PAR之后的时序报告扩展名是 .twr。MAP的时序报告其中的delay信息是软件根据MAP的结果预估的,会与实际的delay有一定的误差。PAR的时序报告则是根据布局布线的结果计算出来的,更接近芯片实际的运行情况。之所以在MAP之后就生成时序报告,是因为对规模大一些的FPGA,每一次布局布线需要的时间很长,如果每一次的设计修改都要等到布局布线后才能看到时序的改进,整个设计的周期就很长。MAP的时间则要短的多,根据软件预估的结果我们可以对设计的时序状况有个基本的了解,有助于我们提前发现一些关键路径提前修改,提高设计的迭代速度。一般来讲,MAP后所给的时序报告是一个比较理想的时序结果,其时序要比PAR之后好。保证MAP的时序满足设计要求是我们做timing closure前提。当然这是一般的情况,在实际应用中我也遇到过PAR的时序报告比MAP还好的例子。所以只要保证MAP的时序报告基本满足约束要求,我们就可以运行PAR看真实的时序是什么样子了。


CPLD来说,因为器件规模比较小,运行PAR的时间也要少的多,我们可以跳过MAP的时序分析直接分析最终的时序报告。


时序报告的生成不是必须的,为了节省软件的运行时间,你也可以选择不生成时序报告。这个设置在Diamond的process tab里。

Diamond的report tab中,你可以在GUI界面里看时序报告,也可以用文本编辑器直接打开.tw1或.twr文件查看。为了对时序报告文件有个全面的了解,我们会用文本编辑器看时序报告的全文来介绍。