找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1957|回复: 2

[转帖] 如何指定每次调用VIA时的类型和个数 - 附Skill脚本

[复制链接]

12

主题

4

回帖

103

积分

技术员

积分
103
发表于 2023-11-9 16:19:59 | 显示全部楼层 |阅读模式
我们可以使用快捷键 “O” 调用VIA通孔,随后弹出Create Via选项卡:

其中 Rows/Columns 的默认值一般设置的都是<1>

但是,在实际的版图绘制中,由于考虑到良率的问题,我们一般使用<2>个通孔。所以,在这里需手动将值改成<2>

修改过一次后,在当次Virtuoso程序中能够记住此设置,一旦退出程序重新启动,又将恢复<1>的默认值

所以,如何实现每次调用VIA,始终默认是两个通孔呢 ?

解决方案

解决的方法有几种,比如可以通过修改工艺文件中的viaDef定义部分,但工艺文件一般是没有权限修改的,也不建议修改它

下面介绍 在不更改工艺文件的情况下,如何把viaRows或viaColumns的默认值设置为两个

操作步骤:
1、打开 .cdsenv 文件,输入以下内容:
layout viaUseRowColDefault boolean nil
layout viaRows             int       2
layout viaColumns          int       1

2、或者打开 .cdsinit 文件,输入以下内容:
envSetVal("layout" "viaUseRowColDefault" 'boolean nil)
envSetVal("layout"  "viaRows"             'int      2)
envSetVal("layout"  "viaColumns"          'int     1)

问题描述(二)

除了通孔数值的需求外,有时还想将常用的通孔类型(“Via Definition”),设置成默认的:

这样也就不需要再频繁的点击下拉菜单进行选择,以方便于VIA的调用

解决方案

比如:指定"M2_M1"通孔为默认的VIA类型

操作步骤:
1、将下面的代码保存成 .il 文件,例如 ChangeViaDef.il
  1. procedure(CCSRegProc(args)
  2. hiRegTimer("CCSSetDefVia(args->window)" 5)
  3. leHiCreateVia()
  4. ) ;proc
  5. procedure(CCSSetDefVia(window)
  6. let((cv cstG currCG techId validVias)
  7. cancelEnterFun('le0ViaForm)
  8. cv=geGetWindowCellView(window)
  9. if(envGetVal("layout" "viaConstraintGroup")=="Same as Wire" then
  10. currCG=envGetVal("layout" "wireConstraintGroup")
  11. else
  12. currCG=envGetVal("layout" "viaConstraintGroup")
  13. ) ;if
  14. techId=techGetTechFile(cv)
  15. cstG=cstFindConstraintGroupIn(techId currCG)
  16. validVias=car(setof(x cstG~>objects x~>defName=="validVias"))~>value
  17. if(member("M2_M1" validVias) then
  18. le0ViaForm->viaSingleModeScrollView->viaDefName->value="M2_M1"
  19. ) ;if
  20. ) ;let
  21. ) ;procedure
  22. deRegUserTriggers("maskLayout" nil nil 'CCSRegProc)
  23. deRegUserTriggers("maskLayoutXL" nil nil 'CCSRegProc)
  24. hiSetBindKey("Layout" "<Key>o" "CCSSetDefVia(hiGetCurrentWindow()) leHiCreateVia()")
复制代码

(向右滑动查看完整代码 / 后台回复「VIA」直接获取代码文本)

2、将代码中第17、18行中的 “M2_M1”,替换成指定的通孔类型名称

3、打开 .cdsinit 文件,添加load命令以用来加载上面的文件:
load("/home/xxx/ChangeViaDef.il")
注:引号内的内容修改成 .il 文件所在的地址

完成以上步骤后,启动Virtuoso程序使用快捷键“O”或者菜单栏,就可以看到效果啦~

本帖子中包含更多资源

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

×
EDA1024论坛免责声明
请勿上传侵权资料及软件! 如果发现资料侵权请及时联系,联系邮件: fenxin@fenchip.com QQ: 2322712906. 我们将在最短时间内删除。

36

主题

464

回帖

1314

积分

工程师助理

积分
1314
发表于 2023-12-30 14:20:44 | 显示全部楼层
谢谢分享

0

主题

6

回帖

369

积分

技术员

积分
369
发表于 2024-3-8 17:17:14 | 显示全部楼层
厉害:victory:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EDA1024技术论坛

GMT+8, 2024-12-19 05:07 , Processed in 0.043776 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表