内容总览
(在后端flow中,从DC到PR,其中的每一步时序分析都是静态时序分析,只不过用的工具是DC及ICC自带的,精度不够高;在进行signoff时,用到第三方工具PT进行STA分析,精度高)
PT Basic
PT是什么?
PT是STA静态时序分析最常用的一个工具,也是用的最广泛的STA工具,拥有高精度的延时计算,同时内部还有多种魔模块,提供不同的功能;
时序模型QTM/ETM/ILM的作用:
这些一般指的hierarchy设计中用到的,在hier设计中,我们在做完block设计后,需要整合到top中,就需要block给top提供物理信息和timing信息,这里的ETM和ILM就是需要提供的时序信息;
PT是signoff check中最重要的一项;timing signoff用的PT版本一旦定下来了就不能改了,因为修改后很难保证会不会出问题,一定要修改的话,需要进行严格的验证;
STA在干什么?
STA是基于Path来计算的
Timing arc:时序弧
STA在进行时序分析时,是基于timing path来计算的,如上图,工具首先会确定clk path的起点和终点,然后将其中所有可能的路径都列出来,并计算出每条path的delay,然后根据设置进行优化,比如重点优化最关键路径、次关键路径等;
这里提一句,如果我们进行的是基于block的设计,那么reg to reg的path 是我们最关心的,其他的path可以忽略;刚开始时,我们可以report qor时,-path可以只看endpoint,然后看哪些path有问题,是否是reg to reg的path,如果是,那么就需要-path full clk,查看整个完成的path,然后分析该path上什么地方我们可以去fix;
STA是基于约束驱动的
这里的约束就是我们前面DC中说的不同path的时序约束、环境约束、多时钟约束以及一些特殊时钟的约束,可以回到DC中去看看;后面也会进一步讲;
所以,SDC约束一定要设置的正确且合理,不合理会导致不正确的时序分析以及浪费run time;
同步/异步时钟的处理
同步时钟:不同时钟之间的相位差是固定的,那么STA在分析时是知道二者之间的联系的,可以进行timing分析;
异步时钟:不同时钟之间的相位差不固定,我们无法得知二者之间的联系,因此STA不会对异步时钟进行分析;
互斥时钟的处理
简单看一下,前面DC分析过,后面还会深入分析;
不同分析模型的使用
PT默认的分析模型是GBA模型,该模型使用最worse的translation进行delay计算,比如某个cell有10条path通过,GBA模型会在这10条path中选择最差的那条来计算该celldelay,这种方法速度快,但和最终的结果会有较大差异,一般只用于前期的分析,比如做完DC后直接用PT分析一下看看,摸摸底;
在最后的signoff中,常用PBA模型进行分析,即根据不同路径的translation来分别计算该cell的delay,再带入到对应的path中传递下去,更加符合实际;
OCV
详见第24课;
由于OCV的分析方法比较悲观,所以目前开始逐渐使用AOCV分析,要乐观一些,POCV更加乐观准确,但runtime也最大;
CRPR
common path需要排除在OCV之外;
PT的输入与输出文件
PT flow
PT的其他分析功能
除了setup/hold外,PT还有很多的分析工具,可以进行很多其他的分析;