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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 13239|回复: 22

[求助] 求skill脚本,要换工艺,怎样批量替换symbol,但参数要保持不变

[复制链接]
发表于 2015-4-14 19:17:47 | 显示全部楼层 |阅读模式

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

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

x
求skill脚本,要换工艺,怎样批量替换symbol,但参数要保持不变

目前的工艺, MOSFET的参数名是 fingerWidth fingerLength等等
目标工艺是w和l,目前的困惑就是批量查找替换时, 参数丢失了
发表于 2015-4-21 09:53:13 | 显示全部楼层
先赋值给新创建的inst,然后再删除原有的inst,目前inst应该不能直接用脚本替换吧!
发表于 2015-11-24 13:45:22 | 显示全部楼层
回复 1# xiaobenyi


   阁下有没有批量替换symbol的脚本文件,能否上传个附件,给在下参考一下。
先在此谢过!
发表于 2015-12-16 14:49:24 | 显示全部楼层
回复 3# 子学
有换工艺的skill脚本 参考下吗
发表于 2015-12-17 19:49:05 | 显示全部楼层
procedure(Rpposab2rphpoly(@optional (Lib_name "tsmc_dcf_schem") (Cell_name "bgivref_cis_rda2033"))
let(
(Id_cell Id_inst Id_newinst)
Id_cell=dbOpenCellViewByType(Lib_name Cell_name "schematic" nil "a")
foreach(Id_inst Id_cell~>instances
        if(Id_inst~>cellName=="rphpoly"   ;"rphpoly" "rpposab_ckt"
                then
                Id_newinst=dbOpenCellViewByType("schem_pcell" "rphpoly" "symbol")
                Id_inst~>master=Id_newinst
                dbClose(Id_newinst)
                ;println(Id_inst~>segments)
                println(Id_inst~>w)
                println(type(Id_inst~>w))
                Id_inst~>w=Id_inst~>segW
                Id_inst~>l=Id_inst~>segL
                if(Id_inst~>connection==nil
                        then
                        Id_inst~>s=Id_inst~>segments
                        else
                        Id_inst~>s=1
                        )
                if(Id_inst~>m==""       
                Id_inst~>m=1)
                ;println(Id_inst~>m)

                cdfgData = cdfGetInstCDF( Id_inst )
                paramType = cdfFindParamByName( cdfgData "w" )
                when( paramType~>callback evalstring(paramType~>callback) )
                paramType = cdfFindParamByName( cdfgData "l" )
                when( paramType~>callback evalstring(paramType~>callback) )
                paramType = cdfFindParamByName( cdfgData "s" )
                when( paramType~>callback evalstring(paramType~>callback) )
                paramType = cdfFindParamByName( cdfgData "m" )
                when( paramType~>callback evalstring(paramType~>callback) )
        else
                )
                        )
dbCheck(Id_cell)
dbSave(Id_cell)
)
)
发表于 2015-12-17 19:50:24 | 显示全部楼层
回复 1# xiaobenyi

参考一下这个吧:
   procedure(Rpposab2rphpoly(@optional (Lib_name "tsmc_dcf_schem") (Cell_name "bgivref_cis_rda2033"))let(
(Id_cell Id_inst Id_newinst)
Id_cell=dbOpenCellViewByType(Lib_name Cell_name "schematic" nil "a")
foreach(Id_inst Id_cell~>instances

if(Id_inst~>cellName=="rphpoly"   ;"rphpoly" "rpposab_ckt"

then

Id_newinst=dbOpenCellViewByType("schem_pcell" "rphpoly" "symbol")

Id_inst~>master=Id_newinst

dbClose(Id_newinst)

;println(Id_inst~>segments)

println(Id_inst~>w)

println(type(Id_inst~>w))

Id_inst~>w=Id_inst~>segW

Id_inst~>l=Id_inst~>segL

if(Id_inst~>connection==nil

then

Id_inst~>s=Id_inst~>segments

else

Id_inst~>s=1

)

if(Id_inst~>m==""


Id_inst~>m=1)

;println(Id_inst~>m)



cdfgData = cdfGetInstCDF( Id_inst )

paramType = cdfFindParamByName( cdfgData "w" )

when( paramType~>callback evalstring(paramType~>callback) )

paramType = cdfFindParamByName( cdfgData "l" )

when( paramType~>callback evalstring(paramType~>callback) )

paramType = cdfFindParamByName( cdfgData "s" )

when( paramType~>callback evalstring(paramType~>callback) )

paramType = cdfFindParamByName( cdfgData "m" )

when( paramType~>callback evalstring(paramType~>callback) )

else

)

)
dbCheck(Id_cell)
dbSave(Id_cell)
)
)
发表于 2016-4-12 14:51:37 | 显示全部楼层
谢谢分享!
发表于 2016-4-12 15:15:57 | 显示全部楼层
duoxie fengxiang
发表于 2017-3-18 14:03:21 | 显示全部楼层
学习一下
发表于 2017-7-12 21:52:46 | 显示全部楼层
谢谢 学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 17:24 , Processed in 0.021445 second(s), 7 queries , Gzip On, Redis On.

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