网络课程《数字集成电路静态时序分析基础》的笔记
地址:https://www.iccollege.cn/portal/courseDetail/193.mooc
变量置换
命令置换
反斜杠置换
其他符号
变量
数组
列表
运算
-
列表指令 -concat
llength
lindex
lappend
lsort
数学运算指令 expr
如何启动 tcl
linux:在文本第一行"#!/user/bin/tclsh"
window:安装 active tcl 并双击 wish.exe
置换
TCL 置换分为三种,变量置换,
变量置换
- 用表示变量置换,后为变量名,将变量置换为它的值
命令置换
- 用[]表示命令置换,[]表示一个独立的 TCL 语句
反斜杠置换
- 用 \ 表示反斜杠置换,和其他语言一样,把特殊字符当作普通字符对待
- \t 为 tab\n 换行
其他符号
- ""对双引号中$和[]会进行变量置换和命令置换
- {}花括号,所有特殊字符都将成为普通字符,TCL 解释器不会对其做特殊处理
- # 表示注释
变量、数组和列表
变量
- 定义:set 变量名 变量值引用:$变量名
例题:假设我们想打印变量 varible,后面跟一个“_1",会发生什么?
数组
- 定义:set 数组名 (元素名) 值
- 取值:$数组名 (元素名)
- 用 array 指令获取数组信息
列表
- 列表是标量的有序集合定义:set 列表名 {元素 1 元素 2 元素 3.....}取值:$列表名
- 列表操作命令
列表指令 -concat
- 语法格式:concat 列表 1 列表 2 功能:将列表 1 和列表 2 合并
llength
- 语法格式:llength 列表功能:返回列表中的元素个数
- 例题:list1 为{bufx1 bufx2 bufx4},那么 llength [concat list1 list1]会得到什么?
lindex
语法格式 lindex 列表 n
返回列表的第 n 个元素(从 0 开始计数)
- 如何得到 list1 {a b c d f}的最后一个元素?
lappend
- 语法格式:lappend 列表 新元素功能:在列表末尾添加新元素
- lappend 一个列表会发什么?
- 如果想得到 4,要怎么做?
lsort
语法格式:lsort 开关 列表
功能:将列表按照一定规则排序
开关:缺省时默认按照 ASCII 进行排序
按照 ASCII 排序
-
- -real 按照浮点数值大小排序 -unique 唯一化,删除重复元素
- 按照数字大小排序
- 唯一化
- 如何得到 list1 中的最小值
运算
- 数学运算
- a+ba-ba*ba/b
逻辑运算
- a<=ba>=ba==ba!=b
数学运算指令 expr
- 语法格式:expr 运算表达式功能:将运算表达式求值
- 类型问题
- 表达式 5/2 中 5 和 2 都是整数型参数,默认运行结果也是整数型,如果想要进行浮点运算,只要将其中任意一个数值,写成浮点形式(有小数点)