Skipper & Tcl 笔记
2024-09-04 21:39:30
https://www.cnblogs.com/yeungchie/
ski-db
打开一个文件获取 lib 对象 dbImport
set file "layout.gds"
set lib [dbImport $file]
从 lib 对象获取 libId dbLibGet
set libId [dbLibGet -lib $lib -attr id]
获取数据精度
set dbum [expr int([dbLibGet -lib $lib -attr dbuPerUm])]
获取顶层单元名 dbLibTopCell
set top [dbLibTopCell $lib]
从 lib 对象指定名称获取 cell 对象
dbCellGetByName
set cell [dbCellGetByName -lib $lib -cellName $top]
获取 cell 的 bBox dbCellGetBBox
set box [dbCellGetBBox -cell $cell]
创建一个新的 newlib dbLibCreate
set newLib [dbLibCreate "NewLib" -dbu $dbum]
在 newLib 中创建一个新的 newCell
dbCellCreate
set newCell [dbLibCreate -lib $newLib -cellName "newCell"]
在 cell 中搜索实例 dbFindInst
set insts [dbFindInst -cell $cell -masterNamePattern ".+"]
# 正则匹配所有名字就是全都搜出来
获取实例参数 dbFigGet
set master [dbFigGet $fig -attr master]
set xy [dbFigGet $fig -attr pos]
set ori [dbFigGet $fig -attr orient]
set mag [dbFigGet $fig -attr mag]
在 cell 中搜索 label dbFindLabel
set labels [dbFindLabel -cell $cell -strPattern ".+" -regexp]
# 这个函数需要指定 -regexp 才会启用正则
获取 label 参数 dbFigGet
set layer [dbFigGet $fig -attr layer]
set purpose [dbFigGet $fig -attr purpose]
set xy [dbFigGet $fig -attr pos]
set text [dbFigGet $fig -attr str]
set height [dbFigGet $fig -attr height]
set ori [dbFigGet $fig -attr orient]
set justify [dbFigGet $fig -attr justify]
获取最大层次深度 dbLibMaxLevel
set level [dbLibMaxLevel $lib]
查看当前库(文件)信息 dbLibSummary
set sum [dbLibSummary $lib -general]
查看数据类型
regexp {Format\\s+:\\s+(\\S+)\\s} $sum _ format
puts $format
导出 lib dbExport
- GDSII
dbExport $lib "filename.gds" -preserveProp -emptyCell skipNone -skipSwitchCell
- OASIS
dbExport $lib "filename.gds" -preserveProp -oasis -replaceInAString -writeInvalidString -cblock -cblockTable -emptyCell skipNone -skipSwitchCell
# 需要指定 -oasis 才是 OASIS 格式导出
# 且部分参数只有 OASIS 才支持,导出为 GDSII 时使用会报错
ski-flash
快速 LVL
ski-flash layout_1.gds TOPCELL layout_2.gds TOPCELL lvl.rep [-OASISIN]
Tcl
不换行 puts
set blog "YEUNGCHIE"
puts -nonewline $blog
刷新标准输出缓冲区
flush stdout
等待获取标准输入
gets stdin reply
puts $reply
查看数组中某个元素的位置
也可以用来检测是否存在
set array [list a1 a2 b3 b4 5]
lsearch -exact $array b4
# 3 在第 3 的索引位置
lsearch -exact $array ab
# -1 返回 -1 代表不存在
数组排序
- 简单排序
lsort [list a12 a1 b0 a10 a8 a1]
# a1 a1 a10 a12 a8 b0
- 如果字符串中存在数字,按照正确的数字大小排序
lsort -dictionary [list a12 a1 b0 a10 a8 a1]
# a1 a1 a8 a10 a12 b0
- 排序并去重
lsort -dictionary -uniq [list a12 a1 b0 a10 a8 a1]
# a1 a8 a10 a12 b0
最新文章
- Sql Server2005新特性及性能
- C#往线程里传递参数
- Linq操作
- hdu 2686 Matrix 最小费用最大流
- 按行N等分某个文件
- EMA计算的C#实现(c# Exponential Moving Average (EMA) indicator )
- 庖丁解牛FPPopover
- android 多项对话框
- OpenCV学习(1) OpenCV的安装
- Backbone源码解读(一)事件模块
- 用calc()绘制手机图案解锁的九宫格样式
- asp.net core mvc 在中间件中使用依赖注入问题:System.InvalidOperationException: Cannot resolve scoped service 'IXXXService' from root provider.
- linux 学习笔记三
- SQL的各种连接Join详解
- 1024. Palindromic Number (25)
- Android-认识Bitmap
- 16.纯 CSS 创作一个渐变色动画边框
- zabbix 安装时 到第三步时 database type 没有mysql选项
- C# 泛型详解---进阶编程(七)
- TCP协议具体解释(上)
热门文章
- 循环输出 一个li里边两个图片循环
- clang的线程安全分析模块 thread safety analysis
- QQ聊天记录快速迁移
- 25 面向对象编程 继承概念 代码 快捷键 super注意点
- test 分支强制替换master 分支的办法
- 5月2日 python学习总结 IO模型
- Key-Value存储系统简介
- luoguP6623 [省选联考 2020 A 卷] 树(trie树)
- Spring ---Spring专题(一)
- [源码解析] TensorFlow 分布式环境(6) --- Master 动态逻辑