介绍的时序分析基本概念PBA分析模式

描述

今天我们要介绍的时序分析基本概念是PBA分析模式,全称Path Based Analysis Mode.

和GBA模式相比,PBA要更加乐观,因为它会计算具体哪些路径是实际的路径。如下图中的timing path,在setup分析模式下,如果采用GBA分析模式,工具只考虑每颗cell最悲观的情况,因此timing path会选用最悲观的情况,就是绿色箭头指向的路径;而如果采用PBA分析模式,工具在计算slew propagation时会采用真实存在的路径,也就是黑色箭头指向的路径。

GBA

PBA的计算模式虽然更加精确,更加真实,但它也有缺点,就是运算量太大,导致运行时间成倍增长。如下图这样一个5级的逻辑,到Z[2] pin就会有320条时序路径。

因此,当我们设计规模大到上百万门以后,如果采用PBA计算模式,那工具会花费非常长的时间去寻找真实的slew propagation。因此,一般情况下,我们都是采用GBA模式去分析时序。只有在signoff最后阶段,violation的timing path较少时,才会使用PBA模式去除悲观性。

GBA

最后,PBA模式还分为两种计算方式:PathExhaustive . 他们各自的算法有一定区别。

Path

基于GBA分析的结果,选择最差的路径重新用PBA计算同样的path.

Exhaustive

基于每个endpoint,会重新计算这个终点上所有的timing path(最多25000条),然后选择其中最差的path再重新用PBA计算slack。

如下图所示:当GBA模式下,最差的三条path是1,2,3时,

GBA

如果使用path计算方法的pba mode,如下面命令:

report_timing -nworst 2 -pba_mode path

工具会将1和2这两条path重新计算一遍,报出pba的slack.所以得出的最差slack path是2和1

如果使用exhaustive计算方法的pba mode,如下面命令。

report_timing -nworst 2 -pba_mode exhaustive

工具会将1,2,3这三条path全部重新计算一遍,报出pba的slack.然后得到的最差slack path是2和3

因此我们看出, path计算方式的pba并不能保证得到的path是真正的最差slack的path。但是通常这种方式速度较快,适用于我们想看下pba能带来多少timing的improvement。 而exhaustive是最真实的pba计算方式,但是它的runtime非常慢,适合于接近signoff最后阶段,violation的timing path较少时的情况。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分