背景知識(shí):
Metal fill - DRC/DFM
Layout中對(duì)metal/poly/AA和via等有density的要求(window based max density和min density還有其他)。這其中有DRC的部分,也有DFM的部分,前者是必須要滿足的,否則在你將GDS交付給Foundary之后也是會(huì)被打回來(lái)的。而后者是出于良率的考量,對(duì)于非商用芯片而言不是很重要,甚至也不用做Check。但是對(duì)于商用芯片而言,為了減少?gòu)U片/降低成本,一般都會(huì)在PR階段做一些優(yōu)化以及檢查。
為了滿足這些要求,一般都會(huì)在Layout里面添加Dummy/metal fill甚至是Track based metal fill。
對(duì)Timing的影響
在28nm以及之前的工藝中,Dummy metal對(duì)Timing的影響不是很大,因此一般在PR工具中做完布局布線之后導(dǎo)出GDS,然后進(jìn)行Layout merge,然后用Calibre對(duì)Layout添加Dummy即可。此時(shí)不考慮Dummy對(duì)Timing的影響重新抽RC進(jìn)行STA也是可以的。當(dāng)然Star RC也提供了相應(yīng)的解決方案,可以考慮Dummy metal來(lái)抽取RC,保險(xiǎn)起見(jiàn)也可以用這種方法來(lái)抽RC重新進(jìn)行STA對(duì)Timing進(jìn)行Signoff。
在28nm之后的工藝甚至先進(jìn)工藝?yán)锩?,用這種方法來(lái)添加Dummy就不是特別合適了,因?yàn)樗鼈儗?duì)Timing的影響蠻大的,很多時(shí)候需要做Timing aware的Dummy insertion?,F(xiàn)在的ICC/ICC2可以調(diào)用ICV做In-design的metal fill insertion,可以enable timing aware,也可以disable。
這里分享一下用Calibre基于layout merge之后的GDS來(lái)添加Dummy(包括metal, via, poly, AA等)的流程。
步驟:
在自己的版圖通過(guò)了DRC和LVS之后,在Tape out之前,需要依次進(jìn)行以下操作:
加Seal Ring,檢查DRC,當(dāng)只剩下AA(有源區(qū))間距、密度這種錯(cuò)誤后,做第二步(AA間距問(wèn)題后邊可以通過(guò)加AA的Dummy來(lái)解決,同理,密度問(wèn)題也是);
用腳本加Dummy,檢查DRC、LVS。
如果是數(shù)字版圖,需要將版圖進(jìn)行合并(Merge),并導(dǎo)出完整的GDS版圖,最好將GDS的Cell名和GDS名字一樣。打開(kāi)該版圖,在上面加入border層,且border層的左下角為(0,0),右上角與版圖重合,因?yàn)楹筮吋覦ummy就是在該區(qū)域內(nèi)部加的。將該GDS文件與下面所述的dfm文件放到一個(gè)目錄內(nèi),并在該目錄下運(yùn)行以下命令:
calibre -drc -hier xxx.dfm
從Foundry官網(wǎng)上下載Calibre加Dummy的dfm文件,如下圖所示,進(jìn)行修改,根據(jù)所用工藝層次決定插入那些層次的Dummy。
例如,SMIC 40 nm 1P 8M 2TM工藝,用到的層次如下:
M1 M2 M3 M4 M5 M6 TM1 TM2
V1 V2 V3 V4 V5 TV1 TV2
文件中沒(méi)有出現(xiàn)的層次說(shuō)明不用加Dummy,例如(TV1和TV2);且設(shè)計(jì)中沒(méi)有用到的層次都設(shè)置為NO,例如M7 M8 V6 V7 MTT2
另外一處要修改的地方如右圖所示,primary后邊填寫(xiě)導(dǎo)出版圖top cell的名字,path是gds的名字。
運(yùn)行該命令后便會(huì)在該目錄內(nèi)部生成兩個(gè)文件,其中一個(gè)是dummy的GDS文件。
新建一個(gè)庫(kù),導(dǎo)入之前導(dǎo)出的gds版圖以及dummy的版圖
選中頂層Cell進(jìn)行Copy,然后用instance的方式將dummy加入其中,不要用新建Cell,然后將頂層Cell和dummy都用instance的方式進(jìn)行例化,因?yàn)檫@樣的話進(jìn)行LVS,會(huì)發(fā)現(xiàn)軟件根本不識(shí)別里面在PAD上打的標(biāo)簽,不認(rèn)為它們是port,會(huì)出現(xiàn)很多LVS錯(cuò)誤。
同樣,也不能將某些SRAM進(jìn)行flatten,這樣會(huì)平白無(wú)故多出來(lái)很多port,同樣會(huì)出現(xiàn)很多LVS錯(cuò)誤。
選中那個(gè)dummy的instance,點(diǎn)擊q,修改屬性,將原點(diǎn)坐標(biāo)均改為(0,0)
得到下圖所示,對(duì)于規(guī)模很大的Layout,不要顯示全部層次,否則會(huì)很卡,甚至軟件會(huì)崩潰,直接用這種狀態(tài)做DRC,LVS即可。
對(duì)于上面這些復(fù)雜的操作,其實(shí)我們都可以用Makefile和Calibredrv來(lái)完成,且非常方便、簡(jiǎn)單。
審核編輯:劉清
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7492瀏覽量
163833 -
sram
+關(guān)注
關(guān)注
6文章
767瀏覽量
114689 -
Layout
+關(guān)注
關(guān)注
14文章
404瀏覽量
61772 -
DRC
+關(guān)注
關(guān)注
2文章
149瀏覽量
36180 -
SRAM存儲(chǔ)器
+關(guān)注
關(guān)注
0文章
88瀏覽量
13297 -
GDS
+關(guān)注
關(guān)注
0文章
28瀏覽量
6254
原文標(biāo)題:用Calibre給版圖加Metal fill/dummy
文章出處:【微信號(hào):集成電路設(shè)計(jì)及EDA教程,微信公眾號(hào):集成電路設(shè)計(jì)及EDA教程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論