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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 12874|回复: 34

[求助] virtuoso 批量导出gds

[复制链接]
发表于 2021-3-16 16:51:38 | 显示全部楼层 |阅读模式

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

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

x
求助大佬,下面是复制论坛上一个大牛写的脚本可以用来批量导出一个lib里面的gds。由于帖子是12年的已经没有人回复了。
目前我用virtuoso 6.1.7使用下面的脚本但是报错错误为error putprop:first arg must be either symbol , list ,defstruct  or user type -nil  请问哪里写错了呢?
hiiSetCurrentForm这个函数也没找到,hiSetCurrentForm函数找到了但是改为后面这个函数运行时多一个warning:hiSetCurrentForm:not a form
原帖地址:http://bbs.eetop.cn/thread-347557-1-1.html
希望论坛里大牛帮忙看下,万分感谢。

procedure( pppp()
geSelectAllFig()
selset=geGetSelSet()
celNam=selset~>cellName
i=0
while( i < length(celNam)
a=nth(i celNam)
hiiSetCurrentForm('transStreamOutForm)
transStreamOutForm->pipoPrimaryCell->value = a
transStreamOutForm->pipoLibName->value = "lib33"
transStreamOutForm->pipoOutFile->value = strcat("./gds/" a  ".gds")

streamOutKeys = list(nil
         'runDir                        "."
         'viewName                "layout"
         'scale                        0.001000
         'units                        "micron"
         'compression                "none"
         'hierDepth                32
         'convertToGeo                nil
         'maxVertices                200
         'refLib                        nil
         'libVersion                "5.0"
         'checkPolygon                nil
         'snapToGrid                nil
         'simMosaicToArray        t
         'caseSensitivity        "preserve"
         'textCaseSensitivity        "preserve"
         'lineToZeroPath                "path"
         'convertDot        "ignore"
         'rectToBox                nil
         'convertPathToPoly        nil
         'keepPcell        nil
         'replaceBusBitChar        nil
         'useParentXYforText        nil
         'reportPrecision        nil
         'runQuiet                nil
         'comprehensiveLog                nil
         'ignorePcellEvalFail                nil
         'errFile                "IPO.LOG"
         'NOUnmappingLayerWarning                nil
         'techFileChoice                nil
         'pcellSuffix                "DbId"
         'respectGDSIILimits                nil
         'dumpPcellInfo                nil
         'genListHier                nil
         'cellMapTable                ""
         'layerTable                ""
         'textFontTable                ""
         'convertPin                "geometry"
         'pinInfo                0
         'pinTextMapTable        ""
         'propMapTable                ""
         'propSeparator                ","
         'userSkillFile                ""
         'rodDir                        ""
         'refLibList                ""


hiFormDone(transStreamOutForm)
)

i++
)
)
 楼主| 发表于 2021-3-29 09:07:47 | 显示全部楼层
本帖最后由 wanchengchen 于 2021-3-29 09:15 编辑

经过论坛里大牛指导,目前下面的脚本可以导出一个cell里当前层所有cell的gds。使用方法是打开要导出gds的顶层cell,然后在CIW里面load skill脚本。运行Skil脚本就好了
procedure(strm_out(libname)
geSelectAllFig()
selset=geGetSelSet()
celNam=selset~>cellName
i=0
while( i < length(celNam)
a=nth(i celNam)
shell(“路径/脚本.sh空格”  libname  “空格”  a) ;  
i++
);while
);proc
shell脚本保存为.sh文件。
SHELL:
#!/bin/csh -f
set cellname = $2
set library = $1

$CDSHOME/tools/dfII/bin/strmout \    #这里为strmout路径一般去cds.lib里面可以找到这个cadence安装路径,在找到/tools/dfII/bin/strmout这个路径,大多是这样的假如不                                                           是,请在仔细找找路径。 输入strmout -h可以查看strmout的参数有哪些。
-library $library \
-strmFile $cellname.gds \
-runDir . \
-topCell $cellname \
-view layout \
-logFile strmOut.log \
-case Preserve

要导出整个lib的gds:
procedure(strm_out(libname)
celNam=ddGetObj(libname)~>cells~>name
i=0
while( i < length(celNam)
a=nth(i celNam)
shell(“路径/脚本.sh空格”  libname  “空格”  a) ;  
i++
);while
);proc

shell脚本保存为.sh文件。
SHELL:
#!/bin/csh -f
set cellname = $2
set library = $1

$CDSHOME/tools/dfII/bin/strmout \
-library $library \
-strmFile $cellname.gds \
-runDir . \
-topCell $cellname \
-view layout \
-logFile strmOut.log \
-case Preserve
发表于 2021-3-19 13:53:09 | 显示全部楼层
使用 strmout 不可以吗?[url=分享一些脚本 http://bbs.eetop.cn/thread-617795-1-1.html (出处: EETOP 创芯网论坛 (原名:电子顶级开发网))]
 楼主| 发表于 2021-3-19 14:27:55 | 显示全部楼层


yzzhong 发表于 2021-3-19 13:53
使用 strmout 不可以吗?http://bbs.eetop.cn/thread-617795-1-1.html (出处: EETOP 创芯网论坛 (原名:电 ...


感谢你的回复,里面大多都shell脚本,目前只在cadence下面用的skill脚本,shell用不了。
发表于 2021-3-19 14:36:37 | 显示全部楼层


wanchengchen 发表于 2021-3-19 14:27
感谢你的回复,里面大多都shell脚本,目前只在cadence下面用的skill脚本,shell用不了。 ...


用skill调用shell不就可以了
 楼主| 发表于 2021-3-19 14:55:16 | 显示全部楼层


fyhxyx 发表于 2021-3-19 14:36
用skill调用shell不就可以了


感谢你的回复,脚本小白一个队skill和shell都不太了解,想问下这个shell脚本中$CDSHOME/tools/dfII/bin/strmout \这个是什么意思,我在路径下只有、dfII/bindkeys/这个路径下也没有strmout这个文件。请问这个文件去哪里找呢?谢谢
发表于 2021-3-19 15:01:48 | 显示全部楼层
本帖最后由 yzzhong 于 2021-3-19 15:04 编辑


wanchengchen 发表于 2021-3-19 14:55
感谢你的回复,脚本小白一个队skill和shell都不太了解,想问下这个shell脚本中$CDSHOME/tools/dfII/bin/s ...


shell 用不了是什么意思?linux 不能用shell?
在terminal 里: echo $CDSHOME  ,然后按照这个路径大概能找到strmout
 楼主| 发表于 2021-3-19 15:13:48 | 显示全部楼层


yzzhong 发表于 2021-3-19 15:01
shell 用不了是什么意思?linux 不能用shell?
在terminal 里: echo $CDSHOME  ,然后按照这个路径大 ...


按照你的方法敲了  echo  $CDSHOME  显示CDSHOME:  Undefined variable 请问一下这个$CDSHOME是什么?谢谢
发表于 2021-3-19 15:16:45 | 显示全部楼层


wanchengchen 发表于 2021-3-19 15:13
按照你的方法敲了  echo  $CDSHOME  显示CDSHOME:  Undefined variable 请问一下这个$CDSHOME是什么?谢 ...


哎呦 抱歉。 这是cadence的安装路径。CDSHOME 是定义的系统变量名
发表于 2021-3-19 15:22:44 | 显示全部楼层
本帖最后由 fyhxyx 于 2021-3-19 15:23 编辑


wanchengchen 发表于 2021-3-19 14:55
感谢你的回复,脚本小白一个队skill和shell都不太了解,想问下这个shell脚本中$CDSHOME/tools/dfII/bin/s ...


$CDSHOME是安装路径,例如找到IC617/tools/dfII/bin/strmout写个shell脚本,然后在skill里面调用  shell("xxx.sh")
 楼主| 发表于 2021-3-19 15:28:39 | 显示全部楼层


yzzhong 发表于 2021-3-19 15:16
哎呦 抱歉。 这是cadence的安装路径。CDSHOME 是定义的系统变量名


感谢你的回复,找到strmout了,他是什么文件呢,用图形化界面streamout的时候就是运行这个东西吗?然后用shell操作这个文件是吗?谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-22 03:15 , Processed in 0.027083 second(s), 8 queries , Gzip On, Redis On.

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