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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] cadence virtuoso 批量导出gds方法

[复制链接]
发表于 2012-8-20 22:17:50 | 显示全部楼层 |阅读模式

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

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

x
库里面有很多cell,每一个都需要导出gds文件,请问有没有人知道怎么批量导出gds文件啊,一千个啊有木有,一个个点有点儿伤不起啊。。。
发表于 2012-8-21 09:04:00 | 显示全部楼层
期待······
发表于 2012-8-21 10:23:49 | 显示全部楼层
用来做什么,可以调到一个layout里,再导出
发表于 2012-8-21 16:34:54 | 显示全部楼层
以前一个网友碰到和你同样的问题,我帮他写了个skill 程序解决了,现在把源码share 给你

“先说一下用处,楼主的公司在做分离器件device,1k多个cell,要out出1k多个gds.每个cell一个gds,手动out有点不现实,,保证敲错名字...写了个简单的一个程序,仅仅一个while循环而已.运行前先开streamout的窗口设一下其他值的话,下面的程序的下半部分也可以删了,前面几句话就可以了......(out的gds在./gds下面)
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++
)
)
发表于 2012-8-21 16:38:51 | 显示全部楼层
忘记问了,你这1k多个cell是调到同一个cell里了吗?如果是,这个程序就可以了,
发表于 2012-8-21 18:04:41 | 显示全部楼层
回复 5# L_ju


    请问,这个怎么使用呢?是不是在CIW窗口里load一个il文件,il文件内容就是您上面写的程序,然后回车就可以了?谢谢
发表于 2012-8-21 20:58:55 | 显示全部楼层
本帖最后由 L_ju 于 2012-8-21 21:00 编辑

这个程序需要1k多个cells在同一layout 中,打开这个layout,在ciw 窗口 load 这个il 文件,然后在ciw 窗口敲pppp就可以了。
源贴在:http://www.microe.cn/bbs/forum.php?mod=viewthread&tid=8714&page=1#pid27499

源文件中“lib33”的库名改成你的库名
 楼主| 发表于 2012-8-21 21:16:26 | 显示全部楼层
回复 4# L_ju


   谢谢你的热心回复啦,我的只是在一个lib里面,每一个cell都是一个单独的layout,看看能不能参考你的改一下程序哇
发表于 2012-8-21 21:34:44 | 显示全部楼层
本帖最后由 L_ju 于 2012-8-21 21:38 编辑




    不在同一个layout 中那也简单,vi开你的库的文件夹,ls  *** >> aa 命令做成一个文件,
然后在源程序里加infile 函数就可以搞定。
 楼主| 发表于 2012-8-22 10:58:20 | 显示全部楼层
回复 9# L_ju


这个是模拟库诶,肿么vi,好像是二进制的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-19 10:33 , Processed in 0.028631 second(s), 6 queries , Gzip On, Redis On.

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