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

最新文章

  1. Sql Server2005新特性及性能
  2. C#往线程里传递参数
  3. Linq操作
  4. hdu 2686 Matrix 最小费用最大流
  5. 按行N等分某个文件
  6. EMA计算的C#实现(c# Exponential Moving Average (EMA) indicator )
  7. 庖丁解牛FPPopover
  8. android 多项对话框
  9. OpenCV学习(1) OpenCV的安装
  10. Backbone源码解读(一)事件模块
  11. 用calc()绘制手机图案解锁的九宫格样式
  12. asp.net core mvc 在中间件中使用依赖注入问题:System.InvalidOperationException: Cannot resolve scoped service 'IXXXService' from root provider.
  13. linux 学习笔记三
  14. SQL的各种连接Join详解
  15. 1024. Palindromic Number (25)
  16. Android-认识Bitmap
  17. 16.纯 CSS 创作一个渐变色动画边框
  18. zabbix 安装时 到第三步时 database type 没有mysql选项
  19. C# 泛型详解---进阶编程(七)
  20. TCP协议具体解释(上)

热门文章

  1. 循环输出 一个li里边两个图片循环
  2. clang的线程安全分析模块 thread safety analysis
  3. QQ聊天记录快速迁移
  4. 25 面向对象编程 继承概念 代码 快捷键 super注意点
  5. test 分支强制替换master 分支的办法
  6. 5月2日 python学习总结 IO模型
  7. Key-Value存储系统简介
  8. luoguP6623 [省选联考 2020 A 卷] 树(trie树)
  9. Spring ---Spring专题(一)
  10. [源码解析] TensorFlow 分布式环境(6) --- Master 动态逻辑