微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC版图设计交流 > 版图中使用快捷键秒改 metal layer ex(M2-->M1)

版图中使用快捷键秒改 metal layer ex(M2-->M1)

时间:10-02 整理:3721RD 点击:

由于习惯了使用快捷快速改层,换了一个环镜,没有相关支持,决定自己写:
已验证,请大牛忽视此贴勿要见笑。
请将以下贴入namexxx.il 中,并load.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Writer mygooder,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
hiSetBindKey("Layout" "Shift<Key>1" "SetReplaceMetal1Layer()")
procedure(SetReplaceMetal1Layer()
let((SelectObj)
SelectObj = geGetSelSet()
SelectObj~>lpp = list("M1" "drawing")
)
)
,,,,验证:在编辑状态下画一块M1(A)和一块M2(B),选中M2后再按Shfit+1,看M2(B)是不是会变成M1,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Skill 主体思想语句即(得到她——>改变她),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,thanks,,, Writer Gerry,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,thanks,,,Write by nfmao,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,chalayout/程序设计/200609/20060919134713,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,以上提供了相关思路,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,thanks,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

这代码写的不错。从内存管理的角度简评一下,手动选择的Object, 对于函数来说一定是Global Object, 否则函数选择不到,最后改动的也是Global Object,所以这段代码中把SelectObj转换成局部变量是没有必要的,从全局转到局部,再转回全局,累得慌呀。直接对全局变量操作在这里是完全等效的。 我的经验是,所有的GUI Objects,对于函数来说都是全局的,而且是唯一的。操作的时候小心他的唯一性就好了。

大牛。佩服佩服!
一行代码搞定的事情被你分析得如此精辟,深邃,透彻。 顶顶顶

大牛,你这样会牛到没朋友的

试了一下load成功 可是没反应 怎么回事?

只复制代码部分,并确认"M1" "drawing"是否是和工艺TF文件匹配(定义一致),并load试试,操作时要先选中,再按Shift+1





回复 6# mygooder


如图 你说的我也注意了 ,代码 检查也无误,就是操作没反应。

你所遇到情况我也有点懵,代码部分应该没有问题,而且也完完了load,我从你图片有看到这样的情况,你版图窗口中什么也没有?在编辑状态下,你试着在窗中画一块M1(A)和一块M2(B),你选中M2后再按Shfit+1,看M2(B)是不是会变成M1?

可以了谢谢我理解错误你的代码用途。

jueduilk
关于在LSW 窗口快速使用快捷键转换层次的设置相关:
hiSetBindKey("Layout" "<Key>1""leSetEntryLayer(list(\"M1\" \"drawing\"))")
hiSetBindKey("Layout" "<Key>2""leSetEntryLayer(list(\"M2\" \"drawing\"))")
以上请贴入.cdsinit 文件即可,验证请按数字键如“1”再按“2”看LSW窗口的Layer是否会自动跳转



完全可行! 大神太牛了,我都没说你就猜到啦

大神,怎样才可以其它层一起加进去换(例如换metal3 换metal4),这样只能换一层啊,其它再加进去就说是重复定义

最简单的方法方法 就是你把小编的代码 再copy一份 里面的M1 全部换成你想要的layer 名字 快捷键也区分开。就可以了。

为啥我感觉选中之后q一下更方便呢...不知道大神这个有没有什么特殊的地方,比如在某些场所应用比较好

可以,我之前改错了

非常好用,感谢小编

赞!

本菜鸟想请教一下,这里面lpp是什么意思?变量或者函数还是其它的东西呢,试了一下脚本,运行不了,提示我函数未定义。

关于“lpp是什么意思”,我认为是定义metal layer 的list 中一个参数,这样讲可能不太准确,详细的最好看cadence 官方的文档.关于报错,我建议你COPY 这里相关code语句再试试.

the list of layer name and layer purpose



多谢回复,我load时写错文件名了,现在能用了。不过这个lpp还是不大懂,我大概知道它应该是layer purpose pair,是一个属性参数,不过像geGetSelSet()这样的函数可以在文档中搜到,这个lpp没有搜到,既然搜不到,是如何想到把它拿过来用的呢,真的很好奇。

谢谢啊,还想问一下,这个缩写的参数为什么在文档中搜不到呢,那又如何拿开用呢

这个应该是涉及到更低一级定义,所以你找不到。我也是找试了很多遍,看了许多别人写的SKILL 语句,再弄出这几句可用的CODE,把自己这个想法实现。

试过了~可行
谢啦

111111111111111111

问题是,我哪有那么多空闲的快捷键

厉害了,学习啦,谢谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top