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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: chinarml

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

[复制链接]
发表于 2024-11-11 16:53:48 | 显示全部楼层
本帖最后由 level90 于 2024-11-11 16:56 编辑


chinarml 发表于 2020-6-23 17:31
这里更新一版AddMOSM1脚本,有贴友反应说自己的cadence没有polygon转path的那个函数,或者函数无效的。
我 ...


大佬, mosaic时的rotation判断不太对耶。
帮您修了





  1. case(car(obj~>tileArray)
  2.   ("R0"     xy = list(x+b*ux : y+a*uy))        
  3.   ("R90"    xy = list(x-a*uy : y+b*ux))
  4.   ("R180"   xy = list(x-b*ux : y-a*uy))        
  5.   ("R270"   xy = list(x+a*uy : y-b*ux))
  6.   ("MY"     xy = list(x-b*ux : y+a*uy))        
  7.   ("MYR90"  xy = list(x-a*uy : y-b*ux))
  8.   ("MX"     xy = list(x+b*ux : y-a*uy))
  9.   ("MXR90"  xy = list(x+a*uy : y+b*ux))
  10. );end case


复制代码



 楼主| 发表于 2024-11-12 14:22:36 | 显示全部楼层
有几个脚本中使用了冒泡排序,比如横竖BUS线切断并打孔。其中有一步是根据坐标对线进行排序。脚本中使用的是数组+冒泡排序的方式,很复杂也不好理解。现在我学会了一种简单的方式。就一行就行了。
举个例子:listA=list(1 3 8 3 2),sort(listA lambda(x y) x<y) ------>list(1 2 3 3 8)。就是按照从小到大排序。
同理,应用到坐标上:listB=list('(1:0) '(3:0) '(8:0) '(3:0) '(2:0)) ,sort(listB lambda(x y) car(x) < car(y)) ------>list('(1:0) '(2:0) '(3:0) '(3:0) '(5:0) '(8:0))
同理,对于已选中的线的列表listC,在lambda内比较的就是他们的目标坐标点的x坐标或者y坐标。
发表于 6 天前 | 显示全部楼层


chinarml 发表于 2020-5-8 12:36
这个脚本中有一个获取via的row和column属性的语句。一楼的脚本中,这两个属性名称分别是  cutRows 和 cut ...


把这个脚本拷到candence中后,怎么使用,我在clw窗口直接load,新手不会
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-27 06:13 , Processed in 0.014781 second(s), 5 queries , Gzip On, Redis On.

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