|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
ICC中导出的GDS文件只有std cells是真实的,macro的GDS是不真实的(例如只有模块的大小,pin脚,pin脚名和最高层金属(电源)等,其他信息是没有的)。为了进行DRC检查我们需要完整的GDS文件。GDS的替换分为手动替换和自动替换,手动是指用在layout编辑软件(如virtuoso)中进行手动替换;此外,Mentor公司的Calibredrv提供了自动对部分GDS进行替换的功能,下面讲介绍怎样用脚本自动实现部分GDS的替换。
例如有3个GDS,一个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打开:
可以看到有两个GDS在里面,而我需要的是defe_0这个模块的GDS(解释:merge前,defe_0中memery1和memery2的GDS是不全的;merge后,defe_0内部有memery1和memery2被真实的GDS替换了),所以需要将memery_top删除,
set L [layout create defe_0_top.gds2 -dt_expand -preservePaths -preserveTextAttributes -preserveProperites ]
$L delete cell memory_top
$L gdsout defe_0_top_new.gds2
上面讲述的是大体步骤以及关键命令,这里我就不提供中间的Tcl脚本了,大家如果有需求可以将其封成一个连贯的脚本,那样就更方面了。由于本人资历较浅,以上有什么错误的地方还望各位前辈指正,共同学习。
另外,在解决这个问题咨询了icfbicfb 版主,这里再次感谢我们的好版主,
下面是我们的讨论连接:
http://bbs.eetop.cn/viewthread.php?tid=451595&extra=&page=2 |
|