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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1404|回复: 7

[原创] skill脚本-metal connection 并扎via

[复制链接]
发表于 2023-9-17 21:14:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
[color=rgba(0, 0, 0, 0.9)] 对于模拟版图工程师来说,接线是最基本的操作,接线多而且用时也比较长,那如何提高接线效率就是模拟版图工程师应该思考的问题。
[color=rgba(0, 0, 0, 0.9)]基于以上需求,现开发了一个metal connection并扎via的功能,开发这个功能有一般有两种方式:
[color=rgba(0, 0, 0, 0.9)]方式一:metal走线有属性,选择想要对接的metal,并让相同属性的metal对接并扎via。
[color=rgba(0, 0, 0, 0.9)]方式二:metal走线无属性,对选择的金属按照最佳顺接关系对接并扎via。
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]本文只介绍方式二开发的脚本功能,脚本相关功能阐述如下:
[color=rgba(0, 0, 0, 0.9)]1. 对path和path segment都可以操作,兼容性强。
[color=rgba(0, 0, 0, 0.9)]2. 会根据metal宽度决定扎via的排数和列数,最少会扎两颗via。
[color=rgba(0, 0, 0, 0.9)]3. 可对两条metal或者多条metal进行对接,不用考虑metal起止走线方向。
[color=rgba(0, 0, 0, 0.9)]4. 各种金属环境都可以操作(如下图),如下三种环境都可以实现metal的顺接。
[color=rgba(0, 0, 0, 0.9)] 屏幕截图 2023-09-17 210743.png
[color=rgba(0, 0, 0, 0.9)]脚本操作方式:执行脚本快捷键后,鼠标框选想要对接的其中一组metal的尾部,再继续框选要对接的另外一组metal的尾部。
如有以上需求的模拟版图工程师可以添加我微信,可提供加密脚本。

如想学skill脚本编程的工程师也可以加我微信进行相关咨询,目前已发布的skill课程如下(以下两个课程属于skill入门课程)
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]课程一:skill基础语法课程
[color=rgba(0, 0, 0, 0.9)] skill基础语法.png
[color=rgba(0, 0, 0, 0.9)]脚本操作方式:执行脚本快捷键后,鼠标框选想要对接的其中一组metal的尾部,再继续框选要对接的另外一组metal的尾部。
如有以上需求的模拟版图工程师可以添加我微信,可提供加密脚本。

如想学skill脚本编程的工程师也可以加我微信进行相关咨询,目前已发布的skill课程如下(以下两个课程属于skill入门课程)
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]课程一:skill基础语法课程
[color=rgba(0, 0, 0, 0.9)] API函数课程.png
[color=rgba(0, 0, 0, 0.9)]skill编程入门课程已可以购买学习,学完就能具备基本的编程能力,有需要的版图工程师请加微信进行咨询。
[color=rgba(0, 0, 0, 0.9)] 二维码.png
发表于 2023-9-17 22:32:03 | 显示全部楼层

prog( ( OBJ1 OBJ2 obj1 obj2 Vline Hline HW VW HBP VBP xHBP yHBP xHEP yHEP xVBP yVBP xVEP yVEP
      Space1 Space2 Space3 Space4 LeftDown LeftUp RightUp RightDown TechFile CGroupId
      MyViaOptions Window Num1 Num2 BigNum SmallNum NEWVIAS)

OBJ1 = geGetSortedSelectByLine()
OBJ2 = geGetSortedSelectByLine()
Setlist = mapcar('list OBJ1 OBJ2)
F1=car(OBJ1) L1=cadr(OBJ1)
F2=car(OBJ2) L2=cadr(OBJ2)
foreach(Set Setlist
if(caar(Set)~>objType == "pathSeg"
then obj1 = car(leConvertShapeToPathSeg(leConvertShapeToPolygon( caar(Set))) )
     dbDeleteObject(caar(Set))
else obj1 = car(leConvertShapeToPathSeg(leConvertShapeToPolygon( caar(Set))) )
);
if(caadr(Set)~>objType == "pathSeg"
then obj2 = car(leConvertShapeToPathSeg(leConvertShapeToPolygon(caadr(Set))) )
     dbDeleteObject(caadr(Set))
else obj2 = car(leConvertShapeToPathSeg(leConvertShapeToPolygon(caadr(Set))) )
);if   ***IC617 SKILL BUG.Delete extra pathSeg ***
if(xCoord(obj1~>beginPt)==xCoord(obj1~>endPt) && yCoord(obj2~>beginPt)==yCoord(obj2~>endPt)
then  Vline = obj1 Hline = obj2);if
if(xCoord(obj2~>beginPt)==xCoord(obj2~>endPt) && yCoord(obj1~>beginPt)==yCoord(obj1~>endPt)
then  Vline = obj2 Hline = obj1);if

HW  = Hline~>width/2  VW  = Vline~>width/2
HBP = Hline~>beginPt  HEP = Hline~>endPt
VBP = Vline~>beginPt  VEP = Vline~>endPt

..................................................................
.................................................................
.................................................................

应该就是这个脚本吧

connet net by name 和 connect net by order


发表于 2023-9-17 22:38:13 | 显示全部楼层
其实说老实话,这个课,市场不太广。

有经验的layout,自己聪明的,好学的,skill 可以自学的,不是很难。
不好学的layout,他根本不愿意看。
那种培训班水平的layout。很多学历不高,其实这条路对他们来说,很难。
很多脚本,不同的工艺,都要改对应的变量和工艺相关的参数。

总结就是,好学人的不需要。
不好学的人也不需要。如果是定向培养CAD,那更难。
版图培训班出来的还能浑水摸鱼一年半载,CAD培训班出来,可能3个月能力不够就要被退掉。

我也研究很多年skill。也让下面人学过,深有体会
发表于 2023-9-18 14:26:16 | 显示全部楼层


FOREVER10 发表于 2023-9-17 22:38
其实说老实话,这个课,市场不太广。

有经验的layout,自己聪明的,好学的,skill 可以自学的,不是很难。 ...


没有错,还有兴趣,这代码看着就头痛
 楼主| 发表于 2023-9-18 18:58:45 | 显示全部楼层


FOREVER10 发表于 2023-9-17 22:38
其实说老实话,这个课,市场不太广。

有经验的layout,自己聪明的,好学的,skill 可以自学的,不是很难。 ...


感觉你说的有道理,学习是困难的,大部分人都很难坚持。我只是想通过培训和写公众号来给自己一个目标,让自己不断成长。
 楼主| 发表于 2023-9-18 19:02:41 | 显示全部楼层


FOREVER10 发表于 2023-9-17 22:32
prog( ( OBJ1 OBJ2 obj1 obj2 Vline Hline HW VW HBP VBP xHBP yHBP xHEP yHEP xVBP yVBP xVEP yVEP
      ...


就是这个功能,只是写的方式有区别,我是按照自己的逻辑写的。
发表于 2023-9-18 20:04:33 | 显示全部楼层


无限求知 发表于 2023-9-18 19:02
就是这个功能,只是写的方式有区别,我是按照自己的逻辑写的。


这个脚本不错的。 的确很实用。
发表于 2023-11-22 21:46:56 | 显示全部楼层
看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-22 00:32 , Processed in 0.021775 second(s), 8 queries , Gzip On, Redis On.

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