如何自动添加dummy
全自動 軟體自己加 (聽說新版的軟體有這功能)
半自動 :下載rule file 來執行
如果我想用skill语言编写脚本进行添加,能不能提示下怎么编写?
我也不會寫
我通常用一個rule file (廠商提供) 產生 dummy gds
再加回原來的 layout
作法是 先佈滿 metal1 (size 自訂或參考design rule )
再 not 要避開的地方
(如原來有metal1的地方或是有 res symbol, cap symbol, M1_dummy_excl 的地方)
產生出來後 在加回原layout
灰常感谢你的解答,主要是我现在刚开始学习这个,所以想看下例子,不知道你是不是方便提供一个?
找一下 論壇裡
之前有回答過 類似問題
用之前论坛里的方法似乎只能在pad附近加上dummy,而且加上之后仍然不符合密度要求。
在drc规则文件中我增加了下面几句:
M1BANK= BULK NOT M1
MIFILL= SIZE M1BANK BY -1
dummyM1{
RECTANGLES 1 2 1
INSIDE OF LAYER MIFILL
}
DRCCHECK MAPdummyM1 GDSII 61 1 './DUMMY_FILL.gds'
用修改后的drc规则文件再跑一遍DRC,得到gds文件,再导入。
得到的版图只是在pad附近加上了一些dummy,在电路部分没有dummy。
我需要修改哪些地方才能在全芯片内加dummy,然后要避开guard-ring里的电路又改加上什么语句呢?
求高手指点则个。
通常是先定義出空白的地方 (全部減去 cap res ......)
再舖滿dummy metal
減去不在坑白地方的,和有交叉邊上的
剩下的就是了,參考參考
M1_DUMMY = RECTANGLES 5 2 2 2 offset 2 0
M2_DUMMY = RECTANGLES 2 5 2 2 offset 0 2
GEN_M1_DUIMMY{
(INSIDE M1_DUMMY FREE_AREA) NOT INTERACT (SIZE M1 BY 2)
}
GEN_M2_DUIMMY{
(INSIDE M2_DUMMY FREE_AREA) NOT INTERACT (SIZE M2 BY 2)
}
學習
謝謝解說
learning !
回覆 8# motofatfat
這樣是可以,但是加完後再減去不在空白地方,這樣會造成整個layout 的hierachy變很差,樓上danglang的方法會好些
這是這個方法的缺點
會產生 flat 的 dummy cell
再 inst 回原來的cell
hier 會變差 沒錯
学习了!
请问您的问题解决了吗我也是用这个脚本只能在最左侧产生一行dummy其他地方都没有这个是不是命令写的不太对劲啊 ?
我写个,大家自己参考修改。
除了基本的层次定义,以增加dumm metal4为例,除去现有的metal4以及dummy block的地方
#IFDEF DENSITY_CHK YES
M4_FILL = DENSITY M4g >0 < 0.3 PRINT RDB M4_DEN.log
M4_FILL {COPY M4_FILL}
#ELSE
M4_FILL =DENSITY M4g >0 < 1 PRINT RDB M4_DEN.log
M4_FILL {COPY M4_FILL}
#ENDIF
//@Dummy Generation for M4
BULK=SIZE (EXTENT) BY 1
M4BANK=(((BULK AND M4_FILL) NOT M4g)NOT DUM_M4) NOT OPC//DUM_M4 和 OPC都是不要添加的区域,可自行修改layer
M4FILL=SIZE M4BANK BY -1.5
dummyM4{
RECTANGLES 2 10 2 INSIDE OF LAYER M4FILL
}
DRC CHECK MAP dummyM4 GDSII 34 0 DUMMY_FILL.gds MAXIMUMRESULTALL//以flat 形式输出,stream Number 改成自己的。
//DRC CHECK MAP dummyM4 GDSII 34 0 DUMMY_FILL.gds MAXIMUM RESULTS ALL AREF M4dum 2 10 1//这条是以dumm cell 形式输出
你好 ,你这个程序是单独的skill自动添加dummy吗?还是需要在calibre的DRC文件里面添加这段程序呢? 本人初学者不太懂,麻烦详解了、
学习中
这是因为DRC check的数量限制到1000了,你选择All就行了。
只产生部分dummy,是因为DRC check默认输出个数是1000,你把max errors per check 改成All就可以了。
非常感谢,受教了
学习中。