免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Debug時鐘樹 (2) | 時鐘樹分析窗口
userphoto

2025.02.18 上海

關(guān)注

工欲善其事,必先利其器。

今天介紹一個功能極其強大的工具(毫不吹牛),時鐘樹分析窗口,不然你可以給我頭上澆水


分析時鐘樹可以看log,可以看report,當(dāng)然也可以看腳本,但都不直觀。因此ICC2提供一個專用的窗口來分析時鐘樹,有了他,媽媽再也不用擔(dān)心我的debug了。

如何打開

打開后,彈出如下新的窗口。

主窗口會顯示所有的clock。這個case比較簡單,只有一個時鐘CORECLK。注意,時鐘名前有個M,代表啥?代表Master clock,如果是個generated clock,則會顯示G。

當(dāng)然了,時鐘樹的基本信息都有:source,period等等。

下一步該看啥?一般我會在選中的時鐘上,右鍵點擊:彈出如下菜單。

這個菜單包含了大多數(shù)功能!

把這些功能用熟悉了,debug時鐘樹會非常的高效!下面一個一個來看。

Clock Tree Levelized Graph

點擊后,彈出如下窗口。

這個是時鐘樹結(jié)構(gòu)的簡圖,按照級數(shù)來顯示。里面哪些是buffer/inverter,哪些是ICG,MUX,REG,都非常清楚,一目了然。

從上圖也可以看到,時鐘樹最長是16級,而有些寄存器只長了5級。為啥差別那么大?因為用了CCD,而且用了很猛的CCD,所以skew大很正常,級數(shù)差那么大也正常。

比如想看某個寄存器長了多少級buffer,直接 change_selection [get_cells xxx],則在這個圖里就會highlight出這個cell,很直觀。

為了debug,可以選擇顯示,或者不顯示某些cell。

比如,我不想看ICG,只想看BUFFER/INVERTER。時鐘樹結(jié)構(gòu)則變成如下圖所示,非常靈活。

或者我不想看BUFFER/INVERTER,則得到下圖。

這是啥?

這就是做CTS之前的時鐘樹結(jié)構(gòu),因為BUFFER/INVERTER都是CTS插進去的嘛。把他們干掉不就是CTS之前的結(jié)構(gòu)么。這樣你就不用去打開place的database去看CTS之前的樣子。是不是很方便?你可以繼續(xù)玩弄這個GUI,會有很多驚喜。

還可以把鼠標(biāo)停留在某個cell上面,會得到一些信息。

原來這里不是一個寄存器,而是2萬多個寄存器

,沒有被騙到吧?

Clock Tree Latency Graph of Selected Corner

這是按照latency來顯示時鐘樹結(jié)構(gòu),也被廣泛使用??梢钥吹矫總€寄存器的latency,latency大致分布等情況。

有的時候,如果某個子樹長的不符合預(yù)期,則在這個gui里很容易用鼠標(biāo)選擇整個子樹來分析,而不用寫腳本來抓。

Highlight Longest/Shortest Path From Source

這個也常常使用,我們看看哪個sink長的樹最長/短,以及怎么長的。點上這個菜單后,會同時在時鐘樹結(jié)構(gòu)圖和layout圖里highlight這個最長/短路徑。是不是很直觀?

Launch/Capture Latency Histogram of Selected Corner

這個用柱狀圖的方式來顯示latency的分布,更直觀!

Clock Tree Object List

用這個窗口快速找到想要的object,比寫腳本快非常多。

比如我想找第7級之前的所有的buffer:

0.001s鐘后,全部出來了。

其它功能

對了,窗口里面有個“Exception”,很有用,有時候?qū)ebug時鐘樹能幫很大很大的忙。

啥是exception:就是工具自動推導(dǎo)的,或者user手動設(shè)置的,對哪些sink/port不需要做balance等等

比如,我想看看時鐘樹里有哪些Exception,我們可以只留下exception和Sequential cell,別的統(tǒng)統(tǒng)關(guān)掉。這時候,真的只剩下10個exception和一堆寄存器。

鼠標(biāo)放在其中一個Exception上,Label是E,啥意思?

E是Explicit的縮寫,意思是這個exception是user自己定義的。

沒錯,因為我剛故意對這個寄存器設(shè)置了consider_for_balance=false

再看隔壁班那個Exception,Label是IE,啥意思?

IE是Implicit Exception的縮寫,意思是工具自動推導(dǎo)出來的。

納尼?為啥工具會自動忽略這個pin呢?

我們把schematic打開,trace一下這個cell。

哦,原來這個cell的輸出是到output去了,所以工具自動不balance這個port。

還一個很強大也很簡單的用途,容我再啰嗦一下,就是這個窗口和layout窗口永遠是同步的,不管你選擇了啥東西,立馬在layout窗口上同步選上了。這個功能我非常喜歡

 

好了,以上是拋磚引玉,更多好玩實用的功能,鼓勵你繼續(xù)探索!

【往期回顧】

Debug時鐘樹(1) | 看log

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
合理的時鐘結(jié)構(gòu)能夠加速Timing收斂(時鐘樹綜合中級篇)
CTS的前世今生
Design Compiler學(xué)習(xí)2
時序分析、時序約束和時序收斂(7)--非理想時鐘的特性約束
【學(xué)術(shù)論文】Multi-Tap FlexHtree在高性能CPU設(shè)計中的應(yīng)用
Quartus中的一些warning及解決方法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服