前面兩周介紹了如何修復(fù)setup和hold violation, 這次我們接著來講下另外一個十分重要的violation——drv的修復(fù)。
首先,我們來了解下drv的基本概念,drv全稱design rule violation,設(shè)計規(guī)則違反,主要包括max transition,maxcapacitance, max fanout, max length。 分別對pin的轉(zhuǎn)換時間,電容,扇出,wire長度有要求。其中,max transition和capacitance的violation是我們必須要修復(fù)的,因為過大的slew和load都會造成lookup table查找表的數(shù)值較大且不精確。fanout和length并不是必須要修復(fù)的,但是數(shù)值過大的話,會影響前兩者。接下來,我們來看看在ECO階段時,如何來手動修復(fù)max transition和maxcapacitance。
首先來看max transition,通常我們也稱為slew,可以看下概念介紹。
【時序分析基本概念介紹
有很多原因會造成slew的violation,但最主要的分為以下幾類:
1)cell的驅(qū)動能力太弱
2)fanout數(shù)目過大
3)net長度太長
Cell驅(qū)動能力太弱
這是最常見的一類slew的violation,如果某個cell的驅(qū)動能力太弱,無法驅(qū)動下一級的cell,則比較容易產(chǎn)生比較大的delay。
如何來修呢? 也很簡單,我們可以通過size up這個cell來提高驅(qū)動能力,比如X1的BUF換成X4, X8的等。
一般情況下,如果我們看到某個cell的output transition比input transition大很多,那說明這個cell的驅(qū)動不夠,我們可以嘗試size up一下。如下圖所示:第一個X1的INV input transition是18.051,而輸出transition是66.328。明顯的是X1的INV推不動下面的14個fanout,可以考慮將X1的INV換成驅(qū)動更強(qiáng)的cell。
Fanout數(shù)目過大
這也是常見的一類容易造成slew violation的情況。過多的fanout會顯著惡化pin的transition。
對于這種情況,我們可以通過插入buffer來減少fanout數(shù)目。如下圖所示:
中間的output pin驅(qū)動了15個instance,分布在左右兩邊,如果該cell的驅(qū)動能力不強(qiáng),整體的net長度又比較長的話,則比較容易引起max transition的violation。
對于這種情況,我們可以選擇在該instance的右邊插入一個buffer,由于buffer的驅(qū)動較強(qiáng),所以讓它來驅(qū)動右邊的10幾個instance,這樣就能顯著降低fanout的數(shù)目,修復(fù)max transition的violation。如下圖所示:原來的instance的fanout由15個變成了4個。
這邊推薦一個比較實用的小功能,在ECO窗口中,我們可以選擇Listed terminals旁邊的框框,然后在GUI界面上框住添加的buffer所需要驅(qū)動的cell的pin,工具就會自動會讓buffer驅(qū)動這些pin,比我們通過命令抓取這些pin更簡單快捷。
net長度太長
過長的net長度也會惡化slew,造成max transition的violation。如下圖所示:
對于這種情況,我們可以在net的中間插入一個buffer來打斷這根net,就可以解掉這個max transition的violation。
maxcapacitance代表pin的load(負(fù)載)太大了,超過了約束或者library里面的設(shè)置,同樣會造成timing數(shù)據(jù)的不準(zhǔn)確。修復(fù)的方法和transition一樣,對于輸出pin上的maxcapacitance來說,一般是fanout數(shù)目過大,或者下一級net太長;對于輸入pin上的maxcapacitance來說,一般是上一級cell的驅(qū)動不夠,或者輸入的net太長等等,基本情況和max transition一樣,這邊就不過多介紹了。
修復(fù)drv并不困難,我們首先要做的事搞清楚violation的出現(xiàn)的原因,對癥下藥,才能更好地解決問題。
-
驅(qū)動
+關(guān)注
關(guān)注
12文章
1840瀏覽量
85296 -
DRV
+關(guān)注
關(guān)注
0文章
18瀏覽量
20654
原文標(biāo)題:對癥下藥,方能藥到病除——如何修復(fù)drv?
文章出處:【微信號:IC_Physical_Design,微信公眾號:數(shù)字后端IC芯片設(shè)計】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論