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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: chinarml

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

[复制链接]
发表于 2020-5-2 10:34:34 | 显示全部楼层
谢谢 大神分享,可以用作学习脚本用。这些功能在IC6大部分都有的。新版的virtuoso功能也是越来越完善。
 楼主| 发表于 2020-5-3 09:26:28 | 显示全部楼层


runtoking 发表于 2020-5-2 10:34
谢谢 大神分享,可以用作学习脚本用。这些功能在IC6大部分都有的。新版的virtuoso功能也是越来越完善。 ...


cadence公司对自身软件的函数运用那是没的说的,想要什么功能都能做出来。他们缺乏的是layout的需求。我公司最早一批写脚本的人,那时cadence还没这么完善呢。cadence公司有员工到我司考察,看到我司用的大量自己写的脚本,画图时非常方便。
然后那个人提出想copy一份用于研究。然后virtuoso后面更新的版本就陆续有了那些功能。他们把我司的脚本集成到virtuoso软件里去了。

脚本既然存在,那就一定有优势,哪怕优势只在将3步操作变为1步。当然,对于那些对效率无所谓的人来说,这么少的提升是可有可无的。
 楼主| 发表于 2020-5-3 09:48:24 | 显示全部楼层
本帖最后由 chinarml 于 2020-5-3 10:11 编辑

9)AddMosM1这个脚本,最初始的版本是我在刚刚开始学习skill时在eetop上下载的第一个脚本。功能是在mos的S/D/G上加盖一层metal1,并且加宽。这个脚本我更新过不下10次,因为是我的第一个脚本,总想着各种优化,各种修改。最初的算法是识别mos的原点,然后根据mos的length去计算metal1的位置,然后画path。前几天在eetop上看到另一个帖子写的相同功能的脚本,算法是获取mos的所有shapes,然后获取其中的metal1,然后将这层metal1复制了放进一个新建的cell内,再调用进来盖在mos上面,再打散。这种算法给了我新的思路。结合我的MagicCopy的思路,我更新了现在这版脚本。
使用方法:选中mos,按下快捷键7
脚本中第三行是M1_width = 0.1 这个可以自行调整。我以前迭代的版本中有一版是做了个form弹窗,可以手动输入这个width值,但后面我就取消了,对于一个case来说,mos上的metal1的width只要定下来一个值就不用再改了。如果每次使用都弹出form反而会降低效率。

这里我说一下这个脚本为什么有的人喜欢用,并且即使没有脚本也要手动去加宽mos上的metal1。我敢断言,会这么做的,一定是经验丰富的版图工程师,并且对版图的质量有严格的要求,俗称,版图的艺术。因为版图完成后是要后仿迭代的,和版图工程师相关的就是EMIR和RC,其中IR问题经常遇到,就是power的电压下降,因为从PAD到你mos的metal1这条通路会经过很多层metal,很多层via,如果这条通路不够强,R太大,就会使IR太大,这样电压在到达mos时已经降低了很多。这在后仿时是有相关要求的,比如1.8V的power在底层block的IR要小于15mV,IP的IR要小于40mV。回归主题,mos上的metal1打宽一些,可以降低metal1的R,如果是小制程的,via可以打成长孔的,加宽metal1之后可以打一个横向的via,增加mos上via的过流能力,减小R。这里说明一下,via的电阻相对于metal来说是非常大的,一个方孔可能会有2 ohm,所以对于power 、gnd的plan,metal要尽量宽,via要尽量多。
上面说的基本和脚本无关,是成为一个好的版图工程师的基本素养。愿意听的就借鉴一下。对版图很随意的,可以弃之如蔽履。

这里老王卖瓜自卖自夸一波,我的版图,后仿EMIR很多时候是没有需要修的地方的,偶尔有需要改的地方也只是IR差了一点点,稍稍修一修就OK了。这是好的版图习惯所形成的实力。有些人画的版图不止看着丑,而且EMIR跑出来一片红,要花费大量时间去修改加强。
发表于 2020-5-3 14:37:51 | 显示全部楼层


好东西,谢谢分享
发表于 2020-5-4 02:01:20 | 显示全部楼层
感谢楼主,提供了优秀的经验参考!!大家共同进步~
 楼主| 发表于 2020-5-5 08:30:07 | 显示全部楼层
本帖最后由 chinarml 于 2020-5-5 16:39 编辑

一楼不能编辑了,后续增加的脚本将通过回复置顶来实现。
10)此脚本时功能性脚本,不是用来画图的。virtuoso XL出来的device上默认不带label。
这个脚本就是在XL出来之后用的,label现在是用的"TXT" "ttxt" 层打的,这是smic的text layer。其他工艺的请自行修改。另外这个脚本里面我增加了leAttachFig()函数,打出来的label会attach在deivce上面。
有不需要这个功能的可以在这个函数前面加“;”屏蔽掉,或者直接删除。
使用方法:在刚刚XL出来的layout界面按下快捷键  小键盘3



补充内容 (2020-5-21 13:22):
里面有一行代码写错了,cv = geGetSelSet() 请改为 cv = geGetEditCellView()

CreateLabelXL.il.rar

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

发表于 2020-5-6 08:25:55 来自手机 | 显示全部楼层
楼主你好我是才从Laker转到用virtuoso,请问一下virtuoso里面有没有像laker 3里面 那种cell与cell之间有飞线,版图金属线上面有属性可以直接打label,特别是出pin到apr那种上千个pin可以根据cell摆放位置调整一次性打完
发表于 2020-5-6 11:18:42 | 显示全部楼层
收藏点赞加关注
发表于 2020-5-6 18:03:45 | 显示全部楼层
查密度,结果如图,不知为何求解
a.PNG
发表于 2020-5-6 21:09:34 | 显示全部楼层


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


*Error* dbCreateLabel: argument #1 should be a database object (type template = "dglttttn") - (db:0x212fbb9e)

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

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-27 06:36 , Processed in 0.025425 second(s), 6 queries , Gzip On, Redis On.

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