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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: chinarml

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

[复制链接]
 楼主| 发表于 2020-5-18 20:12:53 | 显示全部楼层
本帖最后由 chinarml 于 2020-5-18 20:15 编辑


iamcathy 发表于 2020-5-18 11:33
MagicCopy_for_via脚本也没有实验成功,除了key“5”写到括号外面的问题,框选报错如附件所示。请过目。 ...


感谢贴友的回复,MagicCopy_for_via这个脚本有一个错误一个遗漏:
1,最后一行,定义快捷键的“shift<Key5>”请改为“shift<Key>5”
2,代码中间部分遗漏了一行:
orient = nth(1 cadr(obj))
objVia = car(obj)
viaName = objVia~>viaHeader~>viaDefName
请将红色字体的这行加上。

这里贴一个修改后的。自己能动手改的就不用下这个了。

MagicCopy_for_via.il.rar

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

发表于 2020-5-19 09:27:08 | 显示全部楼层


chinarml 发表于 2020-5-18 20:12
感谢贴友的回复,MagicCopy_for_via这个脚本有一个错误一个遗漏:
1,最后一行,定义快捷键的“shift”请 ...


加了这行,这样报错。
1589851933(1).png
发表于 2020-5-19 09:39:17 | 显示全部楼层


chinarml 发表于 2020-5-18 19:58
copy在原来的polygon上面。这个脚本只能copy底层的polygon。当前层的直接C就行了。底层的会被copy上来, ...


magicCopy的错误
1589852958(1).png
发表于 2020-5-19 10:22:00 | 显示全部楼层


iamcathy 发表于 2020-5-18 13:30
我跟你一样错误提示。你解决了吗


没有解决,你呢
发表于 2020-5-19 16:24:56 | 显示全部楼层
谢谢分享
 楼主| 发表于 2020-5-20 08:27:23 | 显示全部楼层


我强调一下,这个脚本只能用于copy底层cell内的polygon。从你这个报错可以看出,你操作的是当前层的一个layer。
出错的位置是在对目标layer进行数据处理的语句。我用的cadence版本是617和icadv两种。这两种版本对于底层的layer返回值不同,
一种是()((db:0x33d3e16c)  db:0x56d5e03e)) 和()(db:0x33d3e16c  db:0x56d5e03e)),这两种返回值中的最后一个就是目标layer,
前面的是layer所在上一级cell的ID,数据处理语句中的last就是选中最后那个目标ID,而从你报错来看,你的目标layer返回值应该是(db:0x56d5e03e)
这个数据只有在对当前层layer操作时才会出现。这种数据不能被处理,程序终止,所以没有copy成功。

如果你确实copy的是底层的layer,那么返回值就不是我看到的这两种情况,需要依据具体情况去修改脚本。我也无能为力。
 楼主| 发表于 2020-5-20 08:53:54 | 显示全部楼层


iamcathy 发表于 2020-5-19 09:27
加了这行,这样报错。


geSelectObject是用来选中新创建的via的函数,正确使用时,他的第一个参数应该是新via的ID,但从你报错看第一个参数是nil,就是没有创建成功新的via。
我又自检了一遍我的脚本,和我正在用的没区别。我在617和icadv版本用都没问题。脚本中的很多语句都是对函数的返回值进行数据处理,617和icadv的返回值有区别,
我这个脚本可以兼容这两个版本,如果是其他版本的cadence,返回值与这两个都不同,就有可能会失败。

你那个错,我怎么尝试都不会出现,所以我无能为力了。或者你学学skill,读懂了我的脚本思路,可以根据自己的返回值修改一下脚本。
发表于 2020-5-20 09:48:08 | 显示全部楼层


chinarml 发表于 2020-5-20 08:27
我强调一下,这个脚本只能用于copy底层cell内的polygon。从你这个报错可以看出,你操作的是当前层的一个la ...


MagicCopy的脚本是用来复制底层的polygon的。使用方法是在layout界面左侧LSW中选中要copylayer,按下快捷键 5 ,鼠标处出现box拉框。框选中的layer会被copy到当前层。
我是按照你描述的做的,特地 make cell,并在里面画一些polygon。然后再当前层框选这个cell,按说应该就把下层的polygon copy到当前层了,是不是这样操作?
发表于 2020-5-20 15:53:24 | 显示全部楼层
本帖最后由 yzzhong 于 2020-5-20 17:00 编辑


chinarml 发表于 2020-5-5 08:30
一楼不能编辑了,后续增加的脚本将通过回复置顶来实现。
10)此脚本时功能性脚本,不是用来画图的。virtuos ...


大佬,我试了一下,load这个脚本后需要选中device然后按快捷键才会执行,但是会报下面的error
*Error*dbCreateLabel: argument #1 should be a database object(type template = "dglttttn")

image.png
大佬帮忙看看是什么原因。

有遇到一下问题,麻烦大佬帮忙解答一下:
1、geGetSelSet()  并没有instances attr;
2、obj~>bBox的输出结果好像不能被centerBox()读取。返回值为nil



 楼主| 发表于 2020-5-21 13:25:22 | 显示全部楼层


yzzhong 发表于 2020-5-20 15:53
大佬,我试了一下,load这个脚本后需要选中device然后按快捷键才会执行,但是会报下面的error
*Error*dbCr ...


感谢贴友回复,刚刚才发现,里面有一行代码写错了。cv = geGetSelSet() 应该改为 cv = geGetEditCellView()

已经下载的自己改一下,这里重新上传一份。使用方法不变,不需要选中device,直接在layout界面按快捷键小键盘3就行了。
CreateLabelXL.il.rar (350 Bytes, 下载次数: 497 )




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

本版积分规则

关闭

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


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

GMT+8, 2024-11-27 10:34 , Processed in 0.023649 second(s), 6 queries , Gzip On, Redis On.

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