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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 441|回复: 7

[求助] skill函数问题(techGetTechFile)

[复制链接]
发表于 2025-8-1 16:18:02 | 显示全部楼层 |阅读模式

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

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

×
procedure(mgc_start_calibre_trigger(drc_or_lvs win)
prog((
        topCell
        designlibId
        techLibId
        techLibName
)

printf( "Starting %s on top cell in window %L...\n"
        upperCase(drc_or_lvs)
        win)
        topCell = win~>topCellview
        designlibId = topCell~>libId
        techLibId = techGetTechFile(designlibId)
        techLibName = techLibId~>libName


以上是我的部分脚本 然后ciw里的报错是:*WARNING* (TECH-2000010): techGetTechFile: nil is an invalid ID. The valid ID is dbCellViewId or ddId for a cell or library. Specify the valid ID and rerun the function.

请问一下各位大佬该怎么修改呢?

发表于 2025-8-1 16:32:48 | 显示全部楼层
改成 designlibId = topCell~>lib
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-8-1 17:05:53 | 显示全部楼层


   
amodaman 发表于 2025-8-1 16:32
改成 designlibId = topCell~>lib


修改过后还是不行呢 ,这几句话我是想提取当前cell的attach的techlibname!
回复 支持 反对

使用道具 举报

发表于 2025-8-2 10:52:46 | 显示全部楼层
前面的 techGetTechFile: nil is an invalid ID 的问题已经帮你解决了。后面还有什么问题,你要把错误信息贴出来,才能帮到你啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-8-2 12:32:18 | 显示全部楼层


   
amodaman 发表于 2025-8-2 10:52
前面的 techGetTechFile: nil is an invalid ID 的问题已经帮你解决了。后面还有什么问题,你要把错误信息 ...


不好意思 是我没有表述清楚 修改之后还是有如下报错:


*WARNING* (TECH-2000010): techGetTechFile: nil is an invalid ID. The valid ID is dbCellViewId or ddId for a cell or library. Specify the valid ID and rerun the function.
"No runset file set for this technology..."


附上我现在的代码 万分感谢!

procedure(mgc_start_calibre_trigger(drc_or_lvs win)
prog((
        topCell
        designlibId
        techlibId
        techlibName
)

printf( "Starting %s on top cell in window %L...\n"
        upperCase(drc_or_lvs)
        win)
        topCell = win~>topCellview
        designlibId = topCell~>lib
        techlibId = techGetTechFile(designlibId)
        techlibName = techlibId~>libName
case( upperCase(drc_or_lvs)
        ("DRC"
        if( techlibName == "umc22nm"
                then
                        setShellEnvVar(
                        "MGC_CALIBRE_DRC_RUNSET_FILE=/home/umc22nm.drc.runset")
                println("Calibre Interactive runset umc22nm.drc.runset")
        else
                csh("unsetenv MGC_CALIBRE_DRC_RUNSET_FILE")
                println("No runset file set for this technology...")
        )
        )


回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-8-2 13:30:24 | 显示全部楼层


   
amodaman 发表于 2025-8-2 10:52
前面的 techGetTechFile: nil is an invalid ID 的问题已经帮你解决了。后面还有什么问题,你要把错误信息 ...


搞定了。。topCellView 这个V没大写。。感谢  

另外 像这种错误如何快速debug呢?
回复 支持 反对

使用道具 举报

发表于 2025-8-3 07:53:03 | 显示全部楼层
在CIW中逐行执行代码,检查返回值。或者在IDE中追踪。
回复 支持 反对

使用道具 举报

发表于 2025-8-13 10:12:01 | 显示全部楼层


   
521009 发表于 2025-8-2 13:30
搞定了。。topCellView 这个V没大写。。感谢  

另外 像这种错误如何快速debug呢?


写脚本强制自己用驼峰命名法,哪里报错就找上一句,大部分都是参数类型错误,定位到那行再自己检查
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

X

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

GMT+8, 2025-8-22 18:16 , Processed in 0.014209 second(s), 3 queries , Gzip On, Redis On.

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