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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 174003|回复: 357

[原创] 分享一些脚本

[复制链接]
发表于 2016-11-15 20:18:30 | 显示全部楼层 |阅读模式

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

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

x
开个帖子,分享一些常用的脚本由于公司信息安全的原因,有些不能提供完整的脚本,但是思路可以讲解一下,或者是一个简单版本。
大致按照如下格式
名字:
语言:
功能:
内容:
使用方法:
 楼主| 发表于 2016-11-15 20:24:22 | 显示全部楼层
1.
名字:layout_get_hlist.sh   
语言:shell
功能:从cdl网表当中抽取hcell list
内容:
#!/bin/csh -f
grep -i ".subckt” $1 | awk '{print $2, $2}' >! hlist
使用方法:
layout_get_hlist.sh your.cdl
 楼主| 发表于 2016-11-15 20:26:38 | 显示全部楼层
本帖最后由 okfunny 于 2016-11-16 07:39 编辑

1.
名字:layout_get_hlist.sh   
语言:shell
功能:从cdl网表当中抽取hcell list
内容:
#!/bin/csh -f
grep -i ".subckt” $1 | awk '{print $2, $2}' >! hlist
使用方法:需要把cds.lib 拷贝到与脚本相同的目录
layout_get_hlist.sh your.cdl
 楼主| 发表于 2016-11-16 07:30:54 | 显示全部楼层
2.
名字:layout_ic61_strmout.sh
语言:shell
功能:用脚本导出GDS
内容:
#!/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 \
-converDot node \
-case Preserve


使用方法:
layout_ic61_strmout.sh library cell

点评

请问这些脚本怎么使用?在icc的命令行里面source嘛?我看icc不是有生成gds的 write_stream嘛?这个怎么用呢应该?  发表于 2021-4-20 22:25
 楼主| 发表于 2016-11-16 07:31:47 | 显示全部楼层
本帖最后由 okfunny 于 2016-11-16 07:39 编辑

3.
名字:layout_ic61_cdlout.sh
语言:shell
功能:用脚本导出CDL  网表
内容:
#!/bin/csh -f
set cellname = $2
set library = $1
set include_file = "`pwd`/source.added"

cat << EOF >! si.env
simLibName = "$library"
simCellName = "$cellname"
simViewName = "schematic"
netlistType = "Connection By Name"
hnlNtlistFIleName = "$cellname.cdl"
incFile = "$include_file"
...
EOF
# ... 省略的地方请打开一个工作目录下的 si.env 文件补充完整

cat /dev/null >! netlist
$CDSHOME/tools/dfII/bin/si -batch -command netlist

使用方法:需要把cds.lib 拷贝到与脚本相同的目录
layout_ic61_cdlout.sh library cell
发表于 2016-11-16 08:38:51 | 显示全部楼层
回复 5# okfunny
请教一下 “cat /dev/null >! netlist ”的作用是什么,如果没有这个貌似也可以运行,会有什么影响么?
 楼主| 发表于 2016-11-16 09:01:25 | 显示全部楼层
本帖最后由 okfunny 于 2016-11-16 09:03 编辑

4.
名字:layout_cross_ruler.il
语言:skill
功能:显示以点击出为交点的十字交叉尺子
内容:
procedure(layout_cross_ruler()
        let((cv bbox xy xLL yLL xUR yUR)
        cv = geGetEditCellView()
        bbox = cv~>bBox
        xy = hiGetPoint(getCurrentWindow())
        xLL = caar(bbox)
        yLL = cadar(bbox)
        xUR = caadr(bbox)
        yUR = cadadr(bbox)
        leCreateRuler(cv list(xy xLL:cadr(xy)))
        leCreateRuler(cv list(xy xUR:cadr(xy)))
        leCreateRuler(cv list(xy car(xy):yLL))
        leCreateRuler(cv list(xy car(xy):yUR))
        ))

hiSetBindKey("layout" "<Key>v" "layout_cross_ruler()")

使用方法:
在CIW中加载
load "layout_cross_ruler.il"
在版图中按 v
 楼主| 发表于 2016-11-16 09:02:06 | 显示全部楼层
发表于 2016-11-16 09:19:53 | 显示全部楼层
赞一个
发表于 2016-11-16 11:35:52 | 显示全部楼层
能写脚本的都是牛人!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-17 20:39 , Processed in 0.029652 second(s), 6 queries , Gzip On, Redis On.

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