0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

時序分析的小工具——Global Timing Debugger

數(shù)字后端IC芯片設(shè)計 ? 來源:數(shù)字后端IC芯片設(shè)計 ? 2020-05-19 16:14 ? 次閱讀

今天我們來介紹一下時序分析的小工具——Global Timing Debugger(簡稱GTD)。它是Innovus/ Encounter中分析Data Path的工具, 和Clock Tree Debugger有眾多相似的地方。

顧名思義, Global Timing Debugger就是用來debug timing。對于一些新人來說, 可能看懂和分析timing report是一件很困難的事, 而GTD它最大的好處就是將timing report里面的內(nèi)容結(jié)合Innovus GUI, 以圖形化的形式表現(xiàn)出來, 這樣就很方便于我們?nèi)ebug timing path上問題。經(jīng)常有人問我, Innovus/Encounter中如何去Highlight一條Timing Path之類的問題, 相信看完這篇文章, 大家一定會了解怎么去做這些事情了。

讓我們進(jìn)入正題, 我們通過打開Timing下面的Debug Timing子菜單來打開GTD

然后會出現(xiàn)如下窗口, 使用GTD前, 需要有一個machine readable格式的timing report文件, 該文件可以通過report_timing -machine_readable或者timeDesign -timingDebugReport命令得到。如果已經(jīng)產(chǎn)生過該文件, 就把Generate前面的勾去掉。

Check Type:可以選擇setup或者h(yuǎn)old分析。

Append to Current Report:可以將當(dāng)前timing分析結(jié)果添加在之前分析結(jié)果之后, 以不同顏色區(qū)分顯示

Path Category File:指定Path category文件的目錄,這個后面會介紹到Path category的作用。

單擊OK以后, 進(jìn)入GTD正式的主界面, 整個GTD界面分為Path Histogram(路徑統(tǒng)計圖)、Category Summary(分類匯總)、Path Category(路徑分類)、Path Analysis(路徑分析)、Path List(具體路徑)、Preference(設(shè)置)、Timing Path Analyzer(路徑分析器), 分別對應(yīng)這下圖中的數(shù)字編號, 下面我們來一一介紹一下這些模塊。

Path Histogram

這個就是一個總體的路徑柱狀統(tǒng)計圖, 很簡單, 縱坐標(biāo)是Path數(shù)量, 橫坐標(biāo)是對應(yīng)的slack值, 綠色柱條代表Slack為正, 紅色柱條代表Slack為負(fù)。

Category Summary

該模塊會顯示每種Category的具體內(nèi)容, 包括Pass, Fail的timing path數(shù)量, 以及WNS和TNS, 是GTD里很重要的一個概念。默認(rèn)只顯示All的category, 我們可以自定義category的組成, 單擊Category Summary右上方的Category, 如下圖所示:

我們可以Save和Load已有的Category文件,當(dāng)然也可以自己創(chuàng)建一個,如下圖所示:

我們可以將具體某種或者多個共同特性的path歸化到某個category中, 可以選擇的特性有以下幾種:這些概念大家都很清楚吧,不過多介紹了

比如我們可以將以某個instance的pin為終點, 并且slack值小于0的path設(shè)成一個category, 如下圖所示:Add Sub-Condition和Add Condition分別控制添加OR和AND條件

創(chuàng)建完以后我們就可以在GTD上看到這個category了

我們可以看到,在我們創(chuàng)建的的test1這個category中, 有32條path符合我們要求, 另外剩下的99條就被歸類到uncategorized中。

我們也可以在已有的category中創(chuàng)建下屬的category, 在Master category name中填寫現(xiàn)有的category就行, 比如:我們希望在前面test1的category中找出經(jīng)過TIE_semantic_slot0_fp_madd/FE_OCPC849_C2_partial1_56_這個instance的path, 就可以這樣填寫:

然后, 在GUI上, 你可以看到原來的test1 category下又會有一個新的categorytest1_sub

Path Category

這個表上面已經(jīng)介紹過, 里面顯示了所有Path Category的信息。這邊Correction一欄需要介紹一下, 這是一個我們自己對此類category預(yù)估的slack值修正, 可以通過右鍵“Set Category Slack Correction”來設(shè)置。

比如原來test1這組category的WNS, TNS情況如下

如果設(shè)置了0.011的slack修正值, test1的WNS, TNS和Failing Path都會修正成原來slack加上0.011以后的值, 鼠標(biāo)長時間停留在該組category上, 就會看到修正前后的timing情況

Path Analysis

介紹完了Path Category, GTD里面還支持基本類型的Path Analysis, 單擊GTD右上角Analysis選項, 現(xiàn)在我們Innovus/ Encounter支持的Path分析類型有以下幾種

Path Group Analysis:按照基本Path Group分析, 包括reg2reg, in2reg, reg2out, in2out。

比如我們在前面說創(chuàng)建的test1 category中再細(xì)分出reg2reg的分析類型, 那可以先在Master category name中填入test1, 分析類型選擇basic path group

這樣, 在GTD上就會細(xì)分出test1 category子集中的reg2reg path類型,

Clock Analysis:按照Launch和Capture clock的組合來劃分,默認(rèn)會劃分兩個category:

1. 起點和終點都來自一個clock的Path

2. 起點和終點來自不同的clock的Path

創(chuàng)建以后,GTD上如下圖所示:

當(dāng)然, 我們也可以考慮clock的Edge, 以及View和Mode來劃分得更加細(xì), 如下圖所示

Hierarchical Floorplan:按照Hierarchical層次結(jié)構(gòu)來劃分category, 可選的hierarchical項分為以下六種:Port, Hinst, Macro, Black Box, Std Cell, InstGroup

豎軸代表起點, 橫軸代表終點, 比如我們想查看起點是Macro, 終點是在Hinst里的path, 就可以選擇Macro=>Hinst這一欄.

GTD上就會顯示所有符合該類型的category, 如下圖所示:

Views Analysis:按照analysis view來劃分category, 這個很簡單, 不過多介紹了

Bottleneck Analysis:按照需要的max slack值來劃分,這個也比較簡單,不過多介紹了

DRV Analysis:按照DRV violation的類型來劃分,

Path List

前面說到在Innovus/Encounter中如何Highlight一條timing path?這一欄就解決了我們的問題。

我們可以選擇需要Highlight的path, 并且選擇對應(yīng)的顏色(默認(rèn)是黃色), 對應(yīng)的在GUI上就會把該條timing path highlight出來。如下圖所示:

Timing Path Analyzer

那如何去分析這條Path呢?接下來,我們需要用到GTD里面的另一個分析具體Timing Path的小工具——Timing Path Analyzer

選中該條Timing Path,右鍵選擇“Show Timing Path Analyzer”

進(jìn)入Timing Path Analyzer界面:

Timing Path Analyzer總體上就是將Innovus/Encounter的timing report圖形化。按照上面圖片的數(shù)字, 我將它分為以下幾個板塊(對應(yīng)圖上具體數(shù)字):

第一部分是基本的timing path信息,包括path類型,analysis view,Slack等等信息

第二部分其實就是一個圖形化計算slack的顯示, 上面一條直線代表Data Arrival Time, 下面一條代表Data Require Time

第三部分是具體每個section內(nèi)容, Data Path, Launch Clock Path和Capture Clock Path就是三種path上的具體組成,分別對應(yīng)著timing report。

下面的這一條timing bar會顯示所有cell和net的delay占的比例。鼠標(biāo)長時間停留會顯示該段delay的具體情況

Hierarchy View:按層次顯示了每個hInst占它上一級層次的Delay分布比例

Path SDC:列出和這條timing path相關(guān)聯(lián)的sdc語句

Timing Interpretation:顯示出該條timing path中可能出現(xiàn)問題的地方,比如fanout過大, wire length太長等等, 用紅色高亮表示。

Schematics:顯示該條path的schematic電路圖

Timing Debug Preferences

最后介紹一下GTD的一些設(shè)置參數(shù)吧,說實話,這個設(shè)置界面不好找,在File目錄下面,而且在Timing Path Analyzer中也沒有保留。

設(shè)置界面主要分為以下五塊內(nèi)容,General的設(shè)置比較繁瑣,其他四欄只是一些基本的顏色設(shè)置。

General:

前面數(shù)字那些參數(shù)都是控制GTD上Path Histogram上的參數(shù), 包括橫坐標(biāo)、縱坐標(biāo)的數(shù)值、 間距等, 不一一介紹了, 作用不是很大, 取默認(rèn)的就行。

DisableCommon Clock Delay Elements:Timing Path Analyzer中的data delay不顯示launch and capture clock的common部分

Highlight Clock Path withData Path:把clock path也highlight出來,默認(rèn)只高亮data path

紅色直線代表Launch clock path,綠色直線代表特定的那段capture clock path

Exclude CPPR from Skew:計算skew時不考慮CPPR

Appear Only In One Category:在一個category中一條path只出現(xiàn)一次

Auto Resize in histogram:GTD中hide path category時自動隱藏Pathhistogram

Not Zoom In Delay Element:Timing Path Analyzer中選中cell或者net時,Innovus GUI不自動放大選中的東西

Select Delay Element With Connections:Timing Path Analyzer中選中cell或者net時,Innovus GUI上自動選擇與它有連接性的東西

Overwrite Existing Group:覆蓋現(xiàn)有的path category group

Append to Current Highlight:Highlight Path時不清除原來已經(jīng)highlight過的path

Highlight Path:InnovusGUI上highlight path的方式

Flightline:

Wire segment:

Whole Net:

Merge Path By:把一些path按照對應(yīng)要求merge, 可以選擇按照StartPoint、 EndPoint、 StartClock和EndClock, 默認(rèn)就是EndPoint。

剩余幾個窗口都只是設(shè)置GTD上顏色的選項,平時一般不用修改,選擇默認(rèn)的就行

Color:最基本的顏色設(shè)置

Bottleneck Analysis: 控制某個cell的顏色, 如果在5~10條的violation path中都有它, 就mark成黃色, 10~15條就mark成橘黃色, 以此類推

Cell Coloring: 控制基本cell類型的顏色

Highlight Path:控制不同path category的顏色

Global Timing Debugger就介紹到這里了,很小的一個工具,但是對于初學(xué)timing分析的用戶,還是有一定用處的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2707

    瀏覽量

    47474
  • 時序分析
    +關(guān)注

    關(guān)注

    2

    文章

    127

    瀏覽量

    22566

原文標(biāo)題:兩點天上來,愛情一線牽——Global Timing Debugger

文章出處:【微信號:IC_Physical_Design,微信公眾號:數(shù)字后端IC芯片設(shè)計】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    硬件設(shè)計的小工具

    本帖最后由 gk320830 于 2015-3-5 14:15 編輯 收集的設(shè)計常用的小工具,希望對大家有用
    發(fā)表于 05-07 11:40

    Labveiw鐘表小工具

    Labveiw 鐘表小工具
    發(fā)表于 08-16 00:22

    圖片轉(zhuǎn)PCB圖的小工具

    畫PCB的時候發(fā)現(xiàn)的一個不錯的小工具,可以將圖片轉(zhuǎn)成PCB圖。大家還有什么好用的小工具,大家積極分享一下O(∩_∩)O~~btp2.rar (110.08 KB )
    發(fā)表于 05-08 06:36

    C語言注釋刪除小工具是什么

    C語言注釋刪除小工具是一款刪除c語言注釋并實現(xiàn)編譯的工具,如果你喜歡這款軟件,就快來IT貓撲下載吧!C語言注釋刪除小工具介紹很多編譯器不支持中文注釋,特別是日系的單片機(jī)編譯器,這是一個C語言注釋刪除
    發(fā)表于 07-14 08:39

    C語言注釋刪除小工具的使用教程

    C語言注釋刪除小工具是什么?C語言注釋刪除小工具共有幾個狀態(tài)?
    發(fā)表于 10-18 06:06

    寄存器位查看小工具

    寄存器位查看小工具
    發(fā)表于 04-26 16:51 ?99次下載

    amo的編程小工具集合

    電子發(fā)燒友網(wǎng)站提供《amo的編程小工具集合.zip》資料免費下載
    發(fā)表于 07-22 09:42 ?14次下載

    電子工程類小工具(大合集)

    電子發(fā)燒友網(wǎng)站提供《電子工程類小工具(大合集).rar》資料免費下載
    發(fā)表于 01-21 14:23 ?1942次下載

    自制51小工具

    自己做的51小工具,有數(shù)碼管段碼生成,51定時器計算,進(jìn)制轉(zhuǎn)換等
    發(fā)表于 11-19 11:35 ?7次下載

    自寫小工具

    一個自己寫的小工具感覺還不錯,分享給大家。
    發(fā)表于 05-17 09:49 ?40次下載

    單片機(jī)計算小工具

    常用單片機(jī)計算小工具
    發(fā)表于 02-27 16:43 ?11次下載

    CAD看圖小工具免費下載

    CAD看圖小工具免費下載
    發(fā)表于 12-18 14:01 ?46次下載

    射頻工程類計算小工具

    射頻工程類計算小工具,有LC諧振頻率計算、PCB特性阻抗計算工具軟件、電感量計算等一共19個計算小工具。
    發(fā)表于 03-21 14:50 ?54次下載

    電阻分壓計算小工具

    一個計算電阻分壓的小工具
    發(fā)表于 09-07 14:54 ?41次下載

    amo的編程小工具合集

    amo的編程小工具合集
    發(fā)表于 03-23 09:19 ?6次下載