在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 67711|回复: 64

[原创] 分享一个合并gds的方法

[复制链接]
发表于 2014-7-2 22:33:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
最近在做一个项目,需要添加dummy,可是fab厂提供的文件是feol和beol分开的,需要产生两个gds。如果版图小也就算了,直接calibre -drc 生成gds就好了,可是小弟整的是whole chip,导出的gds就有近20G呀,用flat跑那个drc文件需要24小时+,这时间真的是受不了,用hierarchy跑的话生成近几万个小的cell,尼玛导入vituoso需要好几个library呀,有没有靠谱的方法呀,项目赶的紧呀,于是于是我想到了如下方法,欢迎拍砖:
1.用hierarchy跑出两个gds,至于怎么跑就不要我说了吧,能多用几个cpu就用几个cpu,时间是宝贵的说,用法:calibre  -64 -drc -hier -turbo 24 -hyper xxx.cal
2.将gds合并:
方法如下:
a.在csh终端敲入 calibredrv -shell
b.输入layout filemerge -in A.gds -in B.gds -out C.gds -createtop topcellname
生成新的C.gds,topcell名字是topcellname
3.写一个calibre drc文件将所需要的层次copy出来,大概用法 A1 { COPY A},最后运行calibre -drc yy.cal,生成新的gds,然后导入virtuso。


通过此方法,时间省了好多,省下的时间干嘛呢,可以刷微博,聊QQ,和妹子么么哒等等,千万不要谢我,因为我是雷锋。
发表于 2014-7-3 09:11:29 | 显示全部楼层
回复 1# jiangtaojack


    这个我也是在公司刚刚学会,谢谢大神指导,另求指点,版图该如何学习
发表于 2014-7-3 09:47:11 | 显示全部楼层
谢谢涛哥:)
发表于 2014-7-3 09:57:02 | 显示全部楼层
和妹子么么哒
发表于 2014-7-3 13:51:21 | 显示全部楼层
现在都是calibre merge gds啊,还有用icfb的么,淘汰了都,

calibre 除了layout filemerge 以外,还有layout import/等很多种功能,
可以替代icfb的简单操作功能, 比如merge blocks, 加logo,换层,

很好用的东西,具体看calibredrv user reference
发表于 2014-7-3 13:52:06 | 显示全部楼层
导出的gds就有近20G呀 ,乖乖,你啥design啊,这么大 , 10x10 mm2 ?
 楼主| 发表于 2014-7-3 21:28:41 | 显示全部楼层
回复 5# icfbicfb
merge gds本来用的不多,可是hier跑出来的cell太多了,故找到了现在这个方法,献丑了
 楼主| 发表于 2014-7-3 21:29:39 | 显示全部楼层
回复 6# icfbicfb


    主要数字的东西太多了,所以导出的数据比较大
 楼主| 发表于 2014-7-3 21:31:36 | 显示全部楼层
回复 3# tuohong


   哇,被发现了
发表于 2014-7-14 09:46:56 | 显示全部楼层
回复 5# icfbicfb
请教版主一个问题:例如有3个GDS2,一个model的gds(defe_0.gds2),两个memery的gds,这两个memery属于这个model。defe_0.gds2是ICC导出的,其中memery的GDS是不真实的,想将真实的memery GDS替换不真实的GDS。我的做法是用calibredrv 的filemerge命令来完成。
脚本:layout filemerge -in memery1.gds2 -in memery2.gds2 -out memery_top.gds2 -createtop memery_top
layout filemerge -in memery_top.gds2 -in defe_0.gds -out defe_0_top.gds2
执行完上面的命令后,用calibredrv defe_0_top.gds2将merge后的gds打开,如图(1):
IMAG0145.jpg

   图(1)
可以看到有两个GDS在里面,而我需要的是defe_0这个模块的GDS(解释:merge前,defe_0中memery1和memery2的GDS是不全的;merge后,defe_0内部有memery1和memery2被真实的GDS替换了),所以需要将memery_top删除,如图(2):
IMAG0147.jpg IMAG0146.jpg

图(2)
    依照上面的操作可以达到我的目的,
     这里需要请教的问题是:怎么用脚本实现memery_top的删除,以及保存输出?
      看了好久的calibredrv user reference都没弄明白,希望得到前辈的指点,感谢您了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-27 06:43 , Processed in 0.023946 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表