今天我們來學(xué)習(xí)一下Innovus中分析clock tree的小工具——CCOPT Clock Tree Debugger,簡稱CTD 看這名字就知道,這工具是用來Debug clock tree。大家知道,CTS在PR流程中,占據(jù)著極其重要的地位,tree build好以后,你的design就完成了一半。通常這是一個需要反復(fù)嘗試的過程,我們需要根據(jù)clock tree現(xiàn)在的狀況,去調(diào)整各個參數(shù)。如果能有一個圖形化的工具幫助我們更加形象直觀地觀察到整個clock tree的狀況,那對我們的Debug是非常有幫助的。而這次要介紹的Clock Tree Debugger就是起到這個作用。 話不多說,切入正題,我們可以通過打開GUI上Clock下面的CCOPT Clock Tree Debugger來打開它,
或者輸入命令ctd_win,
Window ID Name代表內(nèi)部CTD的窗口標(biāo)記,只是一個記號,CTD默認(rèn)可以打開六個窗口,大概是起到防止重復(fù)的作用吧。Window Title則可以顯性地指定CTD窗口的顯示名字。Unit Delay Mode在后文會提到。 使用CTD之前,我們必須首先創(chuàng)建clock tree的spec,如果沒有創(chuàng)建,CTD會彈出一個warning窗口
進(jìn)入到CTD的主界面窗口,整個工具可以分為7個部分:MenuBar(菜單欄),ToolBar(工具欄),Key Panel(按鍵板),Control Panel(控制板),Browser(瀏覽器),Clock Tree Viewer(時(shí)鐘樹視角),World Viewer(全局視角),下面我們來分別學(xué)習(xí)一下這每個部分的作用。
Clock Tree Viewer
首先來看Clock Tree Viewer, 這是最主要的部分,顯示了Clock Tree的結(jié)構(gòu)。在CTD中,Clock tree以倒Y字形結(jié)構(gòu)不斷地往下分叉,直到trace到clock sink端為止。結(jié)構(gòu)顯示也分為兩種模式。Unit Delay和Real Delay,可以在菜單欄Visibility中選擇切換。如下圖所示:
Unit Delay按照clock tree中的level劃分排列,左邊的縱坐標(biāo)顯示clock tree上所有cell的級數(shù),同一個level的clock cell處在同一水平線上。Unit Delay只能從層級上簡單地反應(yīng)整個tree的結(jié)構(gòu),并不能按照真實(shí)的clock tree的指標(biāo)參數(shù)顯示。 Real Delay按照clock tree的實(shí)際insertion delay來顯示clock tree的信息,這是默認(rèn)的顯示設(shè)置,相對而言更加真實(shí),左邊的縱坐標(biāo)顯示著clock tree上cell的insertion delay信息。因此path的長短不一,也讓我們可以很直觀地觀察出整個tree的skew情況。 我們來看具體insertion delay是如何計(jì)算顯示的。前面說過,整個tree以倒Y字形向下分叉,下左圖中,看似平整的直線其實(shí)放大了看也是有斜度的。那一段Y字形分別代表著Gate Delay和Wire Delay,如下右圖紅圈所示。鼠標(biāo)移至對應(yīng)的clock cell,左邊縱坐標(biāo)軸上就會顯示對應(yīng)的insertion delay數(shù)值,如下圖黃色箭頭所示,如果你想在CTD上查詢具體的Gate Delay和Wire Delay,暫時(shí)我們沒有直接顯示的方式,只能通過Ruler工具去縱坐標(biāo)上量取對應(yīng)的值。 我們也可以選中clock buffer, 右鍵將sink collapse起來,這樣,所有所有clock sink便會以數(shù)字的形式簡單顯示在CTD上,當(dāng)然它會將最長和最短的path以實(shí)虛線的形式分隔開來,如右下圖藍(lán)圈所示:
如果鼠標(biāo)長時(shí)間停留在某個clock cell上,CTD就會自動彈出一個小窗口,顯示該clock cell的名字以及insertion delay等數(shù)值
Menu Bar
Menu Bar(菜單欄):CTD上菜單欄并不多,一共有4列,Help選項(xiàng)就不介紹了
先看View菜單,它主要控制CTD上整個界面上的顯示要素 (1)Clock path browser:主要控制Clock path browser的顯示位置,默認(rèn)在顯示在主界面下方,Clock path browser的功能后面會介紹到
Min/Max level代表著顯示到Clock path browser中的多少個skew group的數(shù)值信息,默認(rèn)只顯示Skew最大的skew group,level越大,可以顯示的skew group也越多,如下圖所示:
(2)Zoom:就是平常使用放大縮小功能,不過多介紹了
(3)Simplify:該功能可以將clock tree的顯示簡單化,將一些不想看的東西用縮略圖表示。
Collapse可以將Sink,ICG,Buffer等cell不展開顯示,只以一個簡單數(shù)字和虛線表示連接關(guān)系,下圖藍(lán)圈表示該buffer驅(qū)動了100個clock sink
Expand就起相反作用,將前面收縮顯示的東西又全部展開
Abstract則是一種各簡單抽象的顯示圖了,它放棄了倒Y字形的叉狀顯示圖,而是直接采用類似飛線的連接方式,在這種情況下,它并不關(guān)注clock tree上insertion delay了。
(4)Delay corner:該選項(xiàng)很簡單,就是切換不同的corner下面,tree的顯示情況??梢园纯旖萱I"d"切換至下一corner,按“D”則是切回defalut的corner。需要注意的是CCOPT默認(rèn)只工作在你的primary corner下面
(5)Select: 該功能能實(shí)現(xiàn)一些特殊的“選擇”功能
Select minimum和Select Maximum:分別可以選擇當(dāng)前control菜單下,最小和最大的sink,比如我選擇了Transition time的control界面,那么點(diǎn)擊Select Minimum或Select Maximum,工具就會自動地幫我們選中最小或者最大的transition sink。如下圖中的黃色虛線所示:
Enable crossprobing: crossprobing是一個非常好用的功能,從名字就能知道,它起著交叉顯示的作用。它很好地同步了CTD,innovus layout和Schematic view三個顯示界面。在CTD上執(zhí)行Selection,Highlight等操作,會自動在Layout和Schematic view上同步執(zhí)行相同的操作,我們看下面三張圖: CTD上選中一個buffer,Innovus layout界面和schematic view界面上也會選中該buffer
CTD上Highlight這個選中的buffer,Innovus layout界面和schematic view界面上也會Highlight該buffer
Enable Zoom Selected:打開該功能的話,在CTD上選中某個Object后,Innovus layout界面會自動放大該Object.
(6)Find窗口就是平時(shí)經(jīng)常使用的搜索Object界面 【圖形界面介紹
(8)Dump view:可以講當(dāng)前的clocktree截圖下來,這個很簡單就可以理解 (9)Control panel,Key panel,Browser則分別可以控制三個面板的顯示與否。后面會分別介紹這三個面板 (10)Preference: 設(shè)置選項(xiàng),大部分前面都介紹過。
Enable update synchronously:當(dāng)你對clock tree上的net或者cell做eco時(shí),clock tree viewer上會直接更新。Show connection line:打開后可以顯示飛線Rectangular selection mode:在clock tree上框選一塊區(qū)域時(shí),指定在layout view上應(yīng)該顯示instance或者netDisplay leaf pins in each bar:在柱狀圖中顯示每個柱條的實(shí)際數(shù)值,Linear是代表Y軸顯示數(shù)字線性增長,Log是代表Y軸顯示數(shù)字指數(shù)增長。Linear:
Log:
-
CTD
+關(guān)注
關(guān)注
1文章
3瀏覽量
2595
原文標(biāo)題:心似雙絲網(wǎng),中有千千結(jié)——Clock Tree Debugger(一)
文章出處:【微信號:IC_Physical_Design,微信公眾號:數(shù)字后端IC芯片設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論