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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: zhuxiaowu

[求助] SKILL

[复制链接]
 楼主| 发表于 2021-3-12 14:34:37 | 显示全部楼层


annyzer 发表于 2021-3-12 12:34
做了一些简单的修改,修改以后的脚本可以在大部分工艺下直接使用,极少数工艺不支持pin层修改。(极少数 ...


我用了你的脚本,跑不出来。。。。 error.jpg

 楼主| 发表于 2021-3-12 14:41:05 | 显示全部楼层


annyzer 发表于 2021-3-12 12:02
请问是否方便提供出错时的CIW报错截图?


这是之前脚本修改后跑出来的结果,作用到金属能正常修改。VIA调试不了 error2.jpg


 楼主| 发表于 2021-3-12 14:48:43 | 显示全部楼层


annyzer 发表于 2021-3-12 12:34
做了一些简单的修改,修改以后的脚本可以在大部分工艺下直接使用,极少数工艺不支持pin层修改。(极少数 ...


你这段是不是layerList,pinlist,vialist这些是不是就没定义了
发表于 2021-3-12 15:03:15 | 显示全部楼层


zhuxiaowu 发表于 2021-3-12 14:48
你这段是不是layerList,pinlist,vialist这些是不是就没定义了


layer1Offset
检查下是不是把O打成了0。。。是大写字母O。。。

发表于 2021-3-12 15:06:59 | 显示全部楼层


annyzer 发表于 2021-3-12 12:34
做了一些简单的修改,修改以后的脚本可以在大部分工艺下直接使用,极少数工艺不支持pin层修改。(极少数 ...


索性把第6行、第21~32行注释掉,脚本只用来修改shape和via
 楼主| 发表于 2021-3-12 15:22:09 | 显示全部楼层


annyzer 发表于 2021-3-12 15:03
layer1Offset
检查下是不是把O打成了0。。。是大写字母O。。。


果然是的。。。。哈哈哈。然后VIA可以调试了,但是金属和PIN不行 error3.jpg

发表于 2021-3-12 15:27:56 | 显示全部楼层
我试了下没问题呀
检查下是不是打错字了_(:з」∠)_
发表于 2021-3-12 15:29:09 | 显示全部楼层


zhuxiaowu 发表于 2021-3-12 14:48
你这段是不是layerList,pinlist,vialist这些是不是就没定义了


不是没定义了,是直接从当前打开的版图获取tech文件,再从tech文件中获取当前tech的金属、via定义。不需要再自己手动打了
 楼主| 发表于 2021-3-12 15:31:38 | 显示全部楼层


annyzer 发表于 2021-3-12 15:27
我试了下没问题呀
检查下是不是打错字了_(:з」∠)_


使用的时候skill跳到这两句语法出错。。。。 error4.jpg

发表于 2021-3-12 15:54:04 | 显示全部楼层
procedure( GetMetalLayersFromTech( cellview)
        let( ( MetalLayerName)
                foreach( ViaLayer techGetViaLayers( techGetTechFile( ddGetObj( cellview~>libName)))
                        MetalLayerName = append1( MetalLayerName car( ViaLayer))
                        MetalLayerName = append1( MetalLayerName car( last( ViaLayer)))
                )
                ;MetalLayerName = artUnique( MetalLayerName)
                MetalLayerName = setof( x artUnique( MetalLayerName) rexMatchp( "^M" x))
                MetalLayerName = sort( MetalLayerName nil)
                MetalLayerName
        )
)
                cv = geGetEditCellView()
                layerList = GetMetalLayersFromTech( cv)

检查了一下代码,判断问题应该出在metal已经是最低/高层时继续降/升层导致的
    此时        obj ~> layerName = cadr(member(layerName reverse(layerList))) 等号后面的赋值可能是nil而不是希望得到的metal名。所以,
1、你在CIW中直接输入上面这段代码 看看CIW输出信息是什么
2、增加判断语句,case语句的第一段改成下面的代码:
                                        ("path" || "rect" || "polygon" || "pathSeg"
                                                layerName = obj ~> layerName
                                                if(bb == 1 then
                                                        if( length( member(layerName layerList))<2 then
                                                                obj ~> layerName = car(member(layerName layerList))
                                                                println("+1")
                                                        else
                                                                obj ~> layerName = cadr(member(layerName layerList))
                                                                println("+1")
                                                else
                                                        if( length( member(layerName reverse(layerList)))<2 then
                                                                obj ~> layerName = car(member(layerName reverse(layerList)))
                                                                println("-1")
                                                        else
                                                                obj ~> layerName = cadr(member(layerName reverse(layerList)))
                                                                println("-1")
                                                );if
                                        )

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

本版积分规则

关闭

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


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

GMT+8, 2024-11-25 02:07 , Processed in 0.021349 second(s), 6 queries , Gzip On, Redis On.

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