「EETOP」EETOP网友原创:自己写的一些非常好用的skill脚本

作者:chinarml
链接:http://bbs.eetop.cn/thread-878287-1-1.html
最初开始学习时在这里下载了很多脚本用于学习 , 现在能自己写脚本了 , 把感觉很有用的几个脚本分享出来给大家 。
后续会陆续增加 , 因为脚本是在linux中编写和调试的 , 而上传到eetop上的是在windows上手打的 , 并没有再经过测试 。
可能会有漏掉字母 , 漏掉括号的 , 有问题的脚本请指出 , 我再更正 。
脚本源码截屏:
「EETOP」EETOP网友原创:自己写的一些非常好用的skill脚本
文章图片
我以前使用的是laker , 除了十字标尺就没有脚本 。 但当时认为单纯画图的话 , laker的效率能吊打virtuoso 。
后面由于工作原因 , 改用virtuoso时各种不适应 。 但后来接触了脚本才发现 , 当很多复杂操作改用脚本一键完成时 ,
virtuoso的效率更高(laker应该是用的tcl脚本 , 我不会)
我的手速并不快 , 但通过我大量的脚本堆积 , 我的画图效率很高 。 本人用的脚本非常多 , 大概十几个 , 绝大部分是我自己写的 。
如果你是新手 , 可以使用这些脚本将效率提升 。 如果你是老手 , 并且喜欢尝试提高效率的 , 也可以试一下 。
在这里添加每个脚本的说明:
1)MagicCopy的脚本是用来复制底层的polygon的 。 使用方法是在layout界面左侧LSW中选中要copy的layer , 按下快捷键5 , 鼠标处出现box拉框 。 框选中的layer会被copy到当前层 。
脚本中有一个foreach循环现在是用;屏蔽的 , 这个循环是把copy上来的layer转换成path , 个人习惯用path拉线 , 所以加了这一行 。
2)changeVia的脚本我在另一个帖子里分享过 , 这里开了一个新帖 , 陆续把我自己写的脚本都分享出来 。
这个脚本用法是 , 选中via , 鼠标滚轮控制via的行数 , shift+滚轮是控制via列数 。
3)MagicCopy_for_via脚本 , 顾名思义 , 是用来copy底层via的脚本 。 由MagicCopy的思路 , 修改算法编写的 。
使用方法是LSW选中目标via , 然后按下快捷键shift+5 , 可以copy框选中的所有目标via 。
4)CopyPinToCurrentWindow作用是将选中的block中的pin上浮到当前层 。
【「EETOP」EETOP网友原创:自己写的一些非常好用的skill脚本】用法是选中目标block , 按下快捷键F10(F10比较远 , 主要是因为我的快捷键太多了 , 排到F10了 , 你们可以自己修改)
5)AreaDensity , 用来测密度的 。 40nm以下对poly , AA , via , metal都有密度要求 。 在最初plan时 , poly密度的问题尤为重要 , 很多人在plan时没考虑density问题 , 最后拉线完成了才发现polydensity超了 , 此时再改对layout的影响就太大了 。 并且由于calibredrc的check规则 , 是从(0:0)开始画框check密度 , 很多时候底层drc没有报出densityerror , 但上层整合时却出现了 , 此时再回头改底层 , 撑开空间 , 难如登天 。
这个问题不止新人会犯 , 老人也会犯 , 有经验者会在plan时进行大致的计算 , 算出大致密度 , 拉开足够空间 , 但计算时总是会有误差 。
使用这个脚本 , 可以精确算出框选的部分 , 你想要知道的任何layer的密度(可以是多个layer , 比如poly和dummypoly总和) 。
脚本使用方法:
LSW中将你要测的layer打开显示 , 其他层都不显示 。 鼠标在layout窗口按下快捷键F5 , 会出现框选的拉框 , 再点左键 , 确认拉框范围 。
密度的结果在CIW窗口看 , 就是virtuoso软件的主体窗口 。 这里需要先打开返回信息的选项:
options--LogFilter,里面的选项全选 。
刚刚操作完成之后 , 在CIW中会出现一行字符 , 其中最后一位的数字就是 , 比如0.4298031 , 这就是密度是42.98%
这个脚本最初是写成专用测polydensity的 , 里面的list就只写了两个layer的lpp(poly和dummypoly) , 但是后面做IO时 , via的密度总是超 , 又没办法知道自己画的via的最大密度是多少 , 所以将脚本修改了一下 , 变成可以测任意多个layer密度 。