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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1620|回复: 2

[原创] 分享一个这几天写的copy任意下层的label到当前层的skill script

[复制链接]
发表于 2023-3-17 21:30:56 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 着着着火了 于 2023-3-20 10:04 编辑

本人所用环境:IC617。IC51是用不了的,因为有些函数没有!
这个脚本我写成了一个form的形式,加了几个boolean选项。虽然form界面还是挺简陋的,但已基本满足使用要求。

与工艺有关的代码是

if(switch1==t then
    foreach(route routes
        metalPinObjPath=dbGetOverlaps(cv obj~>bBox list(car(route) "pin") level t)
        metalPinObjPaths=append(metalPinObjPaths metalPinObjPath)
    );end foreach
);end if
if(switch2==t then
    textObjPaths=dbGetOverlaps(cv obj~>bBox "TEXT" level t)
);end if

标红部分是搜索主体,要换成自己所用的工艺相关层信息。
若是把搜索主体换成各种shape也是可以的,反正代码通用,照着dbGetOverlaps()的条件要求改改就好了。

dbGetOverlaps(cv obj~>bBox "TEXT" level t)这个函数因为使用了“obj~>bBox”作为搜索条件,所以会出现两个或多个inst bBox重合后搜索出非目标label的情况,想到一般都是新建cell时用的,也无伤大雅吧。

用法:
在CIW窗口load完脚本后用CopyLabelToCurrentWindowMain()调用

**************************************************
注意:代码中有一个“TestEditMode()”的函数调用忘了删了,自己删一下吧!



CopyLabelToCurrentWindow.zip

1.38 KB, 下载次数: 31 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2023-4-13 15:04:53 | 显示全部楼层
本帖最后由 着着着火了 于 2023-4-13 15:07 编辑

升级了一下,加了个通过选bBox提取的方式,对于小区域的提取方便了很多。

新版form

新版form

旧版form

旧版form

CopyLabelToCurrentWindow.zip

1.79 KB, 下载次数: 23 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2023-8-22 14:00:11 | 显示全部楼层
更新版V3.0


有些工艺用的TEXT是大写,有些是小写,之前的代码只有大写,碰到小写的就会程序出错,这次修复了这个BUG。
pin的问题如果用的金属名不一致或者不是以pin作为purpose那就只能手动改代码了。

CopyLabelToCurrentWindow.zip

1.91 KB, 下载次数: 24 , 下载积分: 资产 -2 信元, 下载支出 2 信元

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-8 03:09 , Processed in 0.017935 second(s), 7 queries , Gzip On, Redis On.

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