今天我們要介紹的時(shí)序分析基本概念是PBA分析模式,全稱Path Based Analysis Mode.
和GBA模式相比,PBA要更加樂觀,因?yàn)樗鼤?huì)計(jì)算具體哪些路徑是實(shí)際的路徑。如下圖中的timing path,在setup分析模式下,如果采用GBA分析模式,工具只考慮每顆cell最悲觀的情況,因此timing path會(huì)選用最悲觀的情況,就是綠色箭頭指向的路徑;而如果采用PBA分析模式,工具在計(jì)算slew propagation時(shí)會(huì)采用真實(shí)存在的路徑,也就是黑色箭頭指向的路徑。
PBA的計(jì)算模式雖然更加精確,更加真實(shí),但它也有缺點(diǎn),就是運(yùn)算量太大,導(dǎo)致運(yùn)行時(shí)間成倍增長。如下圖這樣一個(gè)5級(jí)的邏輯,到Z[2] pin就會(huì)有320條時(shí)序路徑。
因此,當(dāng)我們設(shè)計(jì)規(guī)模大到上百萬門以后,如果采用PBA計(jì)算模式,那工具會(huì)花費(fèi)非常長的時(shí)間去尋找真實(shí)的slew propagation。因此,一般情況下,我們都是采用GBA模式去分析時(shí)序。只有在signoff最后階段,violation的timing path較少時(shí),才會(huì)使用PBA模式去除悲觀性。
最后,PBA模式還分為兩種計(jì)算方式:Path和 Exhaustive . 他們各自的算法有一定區(qū)別。
Path
基于GBA分析的結(jié)果,選擇最差的路徑重新用PBA計(jì)算同樣的path.
Exhaustive
基于每個(gè)endpoint,會(huì)重新計(jì)算這個(gè)終點(diǎn)上所有的timing path(最多25000條),然后選擇其中最差的path再重新用PBA計(jì)算slack。
如下圖所示:當(dāng)GBA模式下,最差的三條path是1,2,3時(shí),
如果使用path計(jì)算方法的pba mode,如下面命令:
report_timing -nworst 2 -pba_mode path
工具會(huì)將1和2這兩條path重新計(jì)算一遍,報(bào)出pba的slack.所以得出的最差slack path是2和1
如果使用exhaustive計(jì)算方法的pba mode,如下面命令。
report_timing -nworst 2 -pba_mode exhaustive
工具會(huì)將1,2,3這三條path全部重新計(jì)算一遍,報(bào)出pba的slack.然后得到的最差slack path是2和3
因此我們看出, path計(jì)算方式的pba并不能保證得到的path是真正的最差slack的path。但是通常這種方式速度較快,適用于我們想看下pba能帶來多少timing的improvement。 而exhaustive是最真實(shí)的pba計(jì)算方式,但是它的runtime非常慢,適合于接近signoff最后階段,violation的timing path較少時(shí)的情況。
-
時(shí)序分析
+關(guān)注
關(guān)注
2文章
127瀏覽量
22551 -
GBA
+關(guān)注
關(guān)注
0文章
10瀏覽量
8682
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論