本文轉自:自己的微信公眾號《集成電路設計及EDA教程》

在前面的推文中,我們介紹了在Narrow Channel里面添加Checkerboard形式的Placement Blockage來解決Narrow Channel里面的Cell的IR-drop問題。
IR-drop問題的分析與修復(三):add checkerboard placement blockage in Narrow
可是,還有一種IR-drop問題發生在Macro的周邊,如下圖所示,出現IR-drop問題的Cell包圍在Macro圍成的區域周邊。


發生這種IR-drop問題的原因大概來自於三個:
1、由於Connection的原因,大量的Cell聚集在Macro周邊,Cell Density比較大;
2、由於PG Rail不能穿過Macro,所以Macro周圍的Cell距離VDD Strap和GND Strap的距離是不一樣的,因此容易產生IR-drop問題。
如下圖所示,Macro左邊的Cell距離紅色的VDD Strap近一些,不容易產生VDD的IR-drop問題;可是它們距離綠色的GND Strap比較遠,因此容易產生Ground Bounce。
同樣,Macro右側的Cell距離綠色的GND Strap近一些,不容易產生Ground Bounce問題;可是它們距離紅色的VDD Strap比較遠,因此容易產生VDD的IR-drop問題。

考慮到這兩個問題,我們可以在Macro周圍加上Halo,或者成為Keepout margin,讓周圍的Cell不要擺的離Macro過近,如下圖所示:

Innovus:
添加Halo的命令如下:
addHaloToBlock -allMacro 20 20 20 20 ;#給所有的Macro四邊添加Halo,順序:left bottom right top
addHaloToBlock 20 22 22 20 DTMF_INST/ARB_INST/ROM_512x16_0_INST ;#給指定的Macro四邊添加Halo,順序:left bottom right top
關於Halo的詳細內容見推文:
超強整理 正在連載 - 后端布局布線工具Innovus詳細教程(理論+實踐+命令)
ICC2:
關於ICC2中的Keepout margin,見推文:
另外,如果Cell扎堆的情況還是比較嚴重的話還可以在Macro周圍加上Checkerboard形式的Placement Blockage,如下圖所示:

相關推文
關於IR-drop的歷史文章整理如下:
IR-drop問題的分析與修復(含腳本分享)(一):Partition boundary cells clustering
IR-drop問題的分析與修復(二):odd pg in Narrow Channel
IR-drop問題的分析與修復(三):add checkerboard placement blockage in Narrow
IR-drop問題的分析與修復(四):add cell padding for cells in Narrow Channel
IR-drop問題的分析與修復(五):Padding Clock Cells:ICC2 & Innovus
