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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: chinarml

[资料] 自己写的一些非常好用的skill脚本

[复制链接]
 楼主| 发表于 2020-6-18 10:40:39 | 显示全部楼层
本帖最后由 chinarml 于 2020-6-18 11:39 编辑

AutoCutBus这个脚本很好用,一直想分享,但因为我一直用的这个脚本是已有的(不属于我),我不能分享出去。
最近我独立写了一个,整体思路类似,但不相同。(单从脚本内容来看,除了冒泡排序的部分,其他完全不同)
简单说就是先一通面目全非脚,然后再一套还我漂漂拳

功能:两把bus线,一横一竖放置,全部选中,按下快捷键,自动切断到两两对接,组成L型。
使用方法:
选中目标metal
按下快捷键:小键盘4 、 小键盘5 (分别是正切和反切,具体样子试一下就知道了)


AutoCutBus.il.rar

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

 楼主| 发表于 2020-6-22 08:08:16 | 显示全部楼层


He_Navy 发表于 2020-6-21 14:42
楼主,我用你的AutoCutBus,显示错误如下:
AutoCutBus(1)
*Error* quotient: can't handle (nil / 2)


你先用两根直的path,一横一竖,选中,操作试一下。这是没读取到metal的width。可能有很多。
你用最简单的两个path线试过一下看看结果。然后把结果贴出来

 楼主| 发表于 2020-6-22 15:46:30 | 显示全部楼层


He_Navy 发表于 2020-6-22 09:50
谢谢楼主,MagicCopy现在可用了,非常棒!!我希望它复制成path线。删掉你里面的注释,但是显示undefined f ...


我写错了,那个函数应该是leConvertPolygonToPath,你改了就行了
 楼主| 发表于 2020-6-23 09:18:57 | 显示全部楼层


843071455 发表于 2020-6-20 15:04
楼主我用的应该就是最后一版,你调array时无论单元是旋转或者是镜像都没有问题吗?我看你里面定义的方向 ...


倒数第二版的八个方向两合并了,所以判断句只有四句。但这种有bug。最后一版拆开了,八个方向分八句,修复了bug。
所以你下载的是倒数第二版。你看1楼的置顶帖,向下找,上传最后一版时楼层已经写了这个bug。
 楼主| 发表于 2020-6-23 11:42:14 | 显示全部楼层


chinarml 发表于 2020-6-18 10:40
AutoCutBus这个脚本很好用,一直想分享,但因为我一直用的这个脚本是已有的(不属于我),我不能分享出去。 ...


更新一版AutoCutBus脚本
更新内容:
1,旧版本仅支持对path线和bus线(pathSeg)操作,新版增加了rect类型的线
2,更新了判断线类型的算法,原版的算法有bug(但不影响实际使用)
3,之前试用旧版时出现的handle (nil / 2)这种错误的贴友,这版并没有修复。
4,有handle (nil / 2)这种报错的,我这里没办法debug,这个需要逐个关键点加print语句去找到问题点。
我测试用的是icadv版本的cadence。不排除因不同版本对数据的返回值格式不同造成的bug。

AutoCutBus.il.rar

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

 楼主| 发表于 2020-6-23 17:31:12 | 显示全部楼层
这里更新一版AddMOSM1脚本,有贴友反应说自己的cadence没有polygon转path的那个函数,或者函数无效的。
我写了一个专门将rect转成path的独立的脚本。这个脚本可以独立运行,但不能直接嵌入。

现在我将这个rect转path的脚本嵌入到AddMOSM1里面去(因为要嵌入进去,需要稍作修改)。


AddMosM1_Custom.il.rar

883 Bytes, 下载次数: 643 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2020-6-24 14:40:50 | 显示全部楼层
前面的所有脚本都能兼容SMIC和TSMC的各个节点(40nm/28nm/22nm/14nm......),有部分脚本经贴友测试不能用的,但从回复的报错我也找不出原因。

下面这个脚本是和工艺/节点强相关的,但整体架构可以做参考,可基于此脚本去做适配,修改相关的列表。
此脚本是基于smic12nm工艺的,此工艺的via1~via3大小相同,via4~via6大小相同,所以via的列表分成了两个。

功能:快捷转换metal layer,pin layer,via,比如metal1变metal2,via1变via2。
使用方法:选中目标 metal/pin/via ,滚动鼠标滚轮,上下滚动分别是 +1 和 -1


changeLayer.il.rar

906 Bytes, 下载次数: 164 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2020-6-28 08:15:43 | 显示全部楼层


CKH 发表于 2020-6-24 19:11
谢谢!功能太强大了,但是有个问题,金属线只能切换到底层,不能切换到上一层。

...


我看了下脚本应该没有问题,你用的脚本是手打进linux的吗?有没有漏掉字符?错误提示是什么?我这个layer是基于smic写的,tsmc或者其他工艺的,metal,pin layer name不一样的,需要手动修改。
 楼主| 发表于 2020-6-28 08:28:09 | 显示全部楼层


He_Navy 发表于 2020-6-24 21:39
谢谢楼主,经过测试脚本没有生成,运行显示AddMosM1_Custom()  (db:0x13e9d525) 。麻烦楼主再看看,谢谢 ...


你这问题描述没看懂,你说没有生成是在load的时候就没成功吗?还是在使用的时候报错了?
从你回帖里的报错提示看,你应该没有打全,这么少的信息,我看不出来哪里出错了呀。

这个脚本我在我的linux里测试过了,是可以用的。
 楼主| 发表于 2020-6-29 10:10:20 | 显示全部楼层


He_Navy 发表于 2020-6-29 09:23
膜拜一下大神,我想请一下关于金属打孔,用O键里面的auto打两层金属的孔只能得出一个孔,你有办法实现像用s ...


我用的cadence有这个功能,在options -- selection -- via .. selection 选项,勾选之后可以选中via的边。可以s。
对via的边选涉及到底层函数的设定,用外部脚本我想不到有什么接口函数,cadence公司已经集成到软件中。
如果你用的版本没有这个选项,那就没办法了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-17 15:57 , Processed in 0.031331 second(s), 9 queries , Gzip On, Redis On.

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