微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC版图设计交流 > 请教calibre如何修正金属最小面积的错误

请教calibre如何修正金属最小面积的错误

时间:10-02 整理:3721RD 点击:

问题描述:旺宏0.18um工艺中对Metal1有最小面积的要求,encounter出来的版图导入到laker中后,DRC检查出4K多个M1面积的违例,在encounter中没有找到办法在PR过程中修正这类错误,于是想在laker的DRC检查时候修正
我的思路:在坛子上看到过通过修改DRC规则文件修正金属密度的帖子 http://bbs.eetop.cn/thread-434654-1-1.html帖子中的脚本加入到DRC规则中可以生成一个dummy的gds,merge到原gds中可以解决金属密度的问题,这个帖子是可用的。脚本如下:
M2BANK = BULK NOT MET2
M2FILL = SIZE M2BANK BY -1
dummyM2 {
RECTANGLES 0.5 3 0.5
INSIDE OF LAYER M2FILL
}
DRC CHECK MAP dummyM2 GDSII 16 0 './DUMMY_M2FILL.gds'
于是我想用DRC脚本先找出所有不满足M1面积要求的地方,然后在这些地方覆盖上M1,使之满足面积要求,然后导出GDS再merge到原gds上。
但是小弟目前对DRC里头的命令还不懂,只能依葫芦画瓢,如下:
M1BANK = BULK AND (AREA MET1 < 0.202)
M1DENSI = SIZE M1BANK BY -1
dummyM1 {
RECTANGLES 0.2 0.2 0.23
INSIDE OF LAYER M1DENSI
}
DRC CHECK MAP dummyM1 GDSII 16 0 './DUMMY_M1DENSI.gds'
以上脚本有错,只是小弟的思路。希望坛子里的大牛指点下迷津!拜谢!

假如你的encounter 布线很密 那么你想用这样的方法修metal 最小面积 是行不通的。总面积上不允许。
个人建议你修改工艺库里面的xxxx_tech.lef 文件里面有最小金属的面积定义。然后重新布线。

多谢你的回复!1.encounter布局的版图里是有空间放M1的,就算有少量违例不能放,手动调整附近的连线,然后再放M1,也是可以接受的
2.tech.lef里面是定义了M1的最小面积,但是encounter在PR的时候好像并没有遵循它

有些标准单元本身的输入输出pin就不满足最小面积的要求,encounter做PR的时候有些就直接从这些pin的MI用VIA1到M2就走了,这样就造成了这样的违例

基本单元先过验证,然后重新出lef,重新定义via 金属,重新布线。

现在原则是不改动基本单元,如果真要手动修改,下下策是把基本单元重新封装一次了做LEF,就是你那个办法

rectangles 是生成一个矩形,你这里没用到
M1BANK = AREA M1 < 0.202
M1DENSI = SIZE M1BANK BY -1 (你是要放大还是缩小?)
dummyM1 {
copyM1DENSI
}
DRC CHECK MAP dummyM1 GDSII 16 0 './DUMMY_M1DENSI.gds'
不过这样做之后没有hier 结构你的GDS会很大,而且不能保证没有其他space的DRC
最保险的作法是在stdcell 里先把DRC clean了。
如果不想重新PR 那你只要保持名字不变,stdcell 的pin 位置不动

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top