今天我們要介紹的時序分析基本概念是PBA分析模式,全稱Path Based Analysis Mode.
和GBA模式相比,PBA要更加樂觀,因為它會計算具體哪些路徑是實際的路徑。如下圖中的timing path,在setup分析模式下,如果采用GBA分析模式,工具只考慮每顆cell最悲觀的情況,因此timing path會選用最悲觀的情況,就是綠色箭頭指向的路徑;而如果采用PBA分析模式,工具在計算slew propagation時會采用真實存在的路徑,也就是黑色箭頭指向的路徑。
PBA的計算模式雖然更加精確,更加真實,但它也有缺點,就是運算量太大,導致運行時間成倍增長。如下圖這樣一個5級的邏輯,到Z[2] pin就會有320條時序路徑。
因此,當我們設計規(guī)模大到上百萬門以后,如果采用PBA計算模式,那工具會花費非常長的時間去尋找真實的slew propagation。因此,一般情況下,我們都是采用GBA模式去分析時序。只有在signoff最后階段,violation的timing path較少時,才會使用PBA模式去除悲觀性。
最后,PBA模式還分為兩種計算方式:Path和 Exhaustive . 他們各自的算法有一定區(qū)別。
Path
基于GBA分析的結果,選擇最差的路徑重新用PBA計算同樣的path.
Exhaustive
基于每個endpoint,會重新計算這個終點上所有的timing path(最多25000條),然后選擇其中最差的path再重新用PBA計算slack。
如下圖所示:當GBA模式下,最差的三條path是1,2,3時,
如果使用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較少時的情況。
-
時序分析
+關注
關注
2文章
127瀏覽量
22575 -
GBA
+關注
關注
0文章
10瀏覽量
8700
發(fā)布評論請先 登錄
相關推薦
評論